# ScalePad (oci · ghcr.io/wyre-technology/scalepad-mcp:v1.0.5)

MCP server for ScalePad — Core, Lifecycle Manager, ControlMap, Backup Radar, and Quoter.

- Trust score: 40/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-22

## Components

- oci · `ghcr.io/wyre-technology/scalepad-mcp:v1.0.5`: 40/100 (this document), [markdown](https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5.md), [page](https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/wyre-technology/scalepad-mcp:v1.0.5`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-22.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 79/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 34827 tokens (~91/item across 381 items; 381 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add wyre-technology-scalepad-mcp -- docker run --rm -i ghcr.io/wyre-technology/scalepad-mcp:v1.0.5
```

### Codex

```bash
codex mcp add wyre-technology-scalepad-mcp -- docker run --rm -i ghcr.io/wyre-technology/scalepad-mcp:v1.0.5
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wyre-technology-scalepad-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-technology/scalepad-mcp:v1.0.5"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  wyre-technology-scalepad-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/wyre-technology/scalepad-mcp:v1.0.5"]
```

### Other

```json
{
  "mcpServers": {
    "wyre-technology-scalepad-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-technology/scalepad-mcp:v1.0.5"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-20 (score 40)

First indexed and scored.

## MCP tools (381)

### `scalepad_navigate` (~261 tokens)

Discover available ScalePad tools by product domain. Returns tool names and descriptions for the selected domain. All tools are callable at any time — this is a help/discovery aid, not a prerequisite. One ScalePad API key covers every product; endpoints for products without an active subscription return 402.

Input parameters:

- `domain` (string, required): The product domain to explore: - core: ScalePad Core - unified platform data (read-only, US-only): clients, contacts, members, sites, opportunities, hardware/SaaS assets, product catalog, service con…

### `scalepad_status` (~20 tokens)

Show ScalePad API credential status and available product domains

### `scalepad_core_clients_list` (~203 tokens)

List ScalePad Core clients (read-only, cursor-paginated; page_size 1-200, default 25). Filterable by name, lifecycle, contact/asset counts, record lineage, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, name, lifecycle, num_contacts, num_hardware_assets, record_lineage.source_record_id, record_lineage.i…
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending (e.g. "-record_updated_at").

### `scalepad_core_clients_get` (~34 tokens)

Get a single ScalePad Core client by id (read-only).

Input parameters:

- `id` (string, required): Core client id

### `scalepad_core_contacts_list` (~199 tokens)

List ScalePad Core contacts (read-only, cursor-paginated; page_size 1-200, default 25). A POST-based search upstream — filter by client, title, record lineage, or created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, client.id, client.name, title, record_lineage.source_record_id, record_lineage.integration_configurat…
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending (e.g. "-record_updated_at").

### `scalepad_core_contacts_get` (~34 tokens)

Get a single ScalePad Core contact by id (read-only).

Input parameters:

- `id` (string, required): Core contact id

### `scalepad_core_members_list` (~218 tokens)

List ScalePad Core members (your team; read-only, cursor-paginated; page_size 1-200, default 25). A POST-based search upstream — filter by title, hire date, reporting line, cost, capacity, or lineage.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, hired_at, title, is_scalepad_user, reports_to_member.id, hourly_cost.amount, daily_capacity, record_l…
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending (e.g. "-record_updated_at").

### `scalepad_core_members_get` (~34 tokens)

Get a single ScalePad Core member by id (read-only).

Input parameters:

- `id` (string, required): Core member id

### `scalepad_core_opportunities_list` (~193 tokens)

List ScalePad Core opportunities (read-only, cursor-paginated). Filterable by title, source status/stage, active flag, probability, client, contact, responsible member, lineage, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, title, source_status, source_stage, is_active, probability, client.id, client.name, contact.id, respo…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_opportunities_get` (~35 tokens)

Get a single ScalePad Core opportunity by id (read-only).

Input parameters:

- `id` (string, required): Core opportunity id

### `scalepad_core_sites_list` (~150 tokens)

List ScalePad Core sites (read-only, cursor-paginated; page_size 1-200, default 25). Filterable by client and record lineage.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, client.id, record_lineage.source_record_id, record_lineage.integration_configuration.id, record_linea…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_sites_get` (~34 tokens)

Get a single ScalePad Core site by id (read-only).

Input parameters:

- `id` (string, required): Core site id

### `scalepad_core_hardware_assets_list` (~183 tokens)

List ScalePad Core hardware assets (read-only, cursor-paginated). Filterable by name, client, contact, manufacturer, model, serial number, type, location, and CPU/RAM/disk configuration.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, name, client.id, client.name, contact.id, manufacturer.id, manufacturer.name, model.number, serial_nu…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_hardware_assets_get` (~38 tokens)

Get a single ScalePad Core hardware asset by id (read-only).

Input parameters:

- `id` (string, required): Core hardware asset id

### `scalepad_core_saas_assets_list` (~191 tokens)

List ScalePad Core SaaS assets (read-only, cursor-paginated). Filterable by client, product/manufacturer/SKU, status, tenant domain, term dates, auto-renewal, and subscription id.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, client.id, client.name, product.manufacturer.id, product.manufacturer.name, product.id, product.name,…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_saas_assets_get` (~40 tokens)

Get a single ScalePad Core SaaS asset by id (read-only).

Input parameters:

- `id` (string, required): Core SaaS asset id

### `scalepad_core_saas_users_list` (~186 tokens)

List ScalePad Core SaaS users (read-only, cursor-paginated). Filterable by client, contact, parent asset and its status, product/manufacturer/SKU, term dates, and subscription id.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, client.id, client.name, contact.id, asset.id, asset.status, product.manufacturer.id, product.manufact…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_saas_users_get` (~40 tokens)

Get a single ScalePad Core SaaS user by id (read-only).

Input parameters:

- `id` (string, required): Core SaaS user id

### `scalepad_core_product_catalog_list` (~192 tokens)

List ScalePad Core product catalog records (read-only, cursor-paginated). Filterable by source system/product, name, category/subcategory, product type/class, manufacturer, active flag, updated timestamp, and lineage.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, source_system, source_product_id, source_product_identifier, name, category, subcategory, product_typ…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_product_catalog_get` (~39 tokens)

Get a single ScalePad Core product catalog record by id (read-only).

Input parameters:

- `id` (string, required): Core product catalog record id

### `scalepad_core_integration_configurations_list` (~29 tokens)

List ScalePad Core integration configurations (read-only; no filters or pagination).

### `scalepad_core_integration_vendors_list` (~128 tokens)

List ScalePad Core integration vendors (read-only, cursor-paginated; page_size 1-200, default 25). Filterable by name, vendor id, and category.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: name, vendor_id, category.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_contracts_list` (~183 tokens)

List ScalePad Core service contracts (read-only, cursor-paginated). Filterable by name, client, contact, recurrence, type, term dates/billing period, source type, addendum flag, parent contract, and status.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, name, client.id, client.name, contact.id, is_recurring, type, term.starts_at, term.ends_at, term.is_a…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_contracts_get` (~37 tokens)

Get a single ScalePad Core service contract by id (read-only).

Input parameters:

- `id` (string, required): Core service contract id

### `scalepad_core_tickets_list` (~184 tokens)

List ScalePad Core service tickets (read-only, cursor-paginated). Filterable by owner/responsible member, client, contact, contract, board, category, child/long flags, and timeline created/updated/responded timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: id, owner_member.id, responsible_member.id, client.id, client.name, contact.id, contract.id, contract.nam…
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_core_tickets_get` (~37 tokens)

Get a single ScalePad Core service ticket by id (read-only).

Input parameters:

- `id` (string, required): Core service ticket id

### `scalepad_lm_contacts_list` (~133 tokens)

List Lifecycle Manager contacts (cursor-paginated; page_size 1-200, default 25). Filterable by client_id and hidden status.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client_id, is_hidden.
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_contacts_hidden_status_update` (~69 tokens)

⚠ HIGH-IMPACT. Hide or unhide a Lifecycle Manager contact (sets is_hidden). Confirm with the user before invoking.

Input parameters:

- `contact_id` (string, required): Contact id
- `is_hidden` (boolean, required): true to hide the contact, false to unhide

### `scalepad_lm_contacts_get` (~30 tokens)

Get a Lifecycle Manager contact by id.

Input parameters:

- `contact_id` (string, required): Contact id

### `scalepad_lm_clients_lookup` (~112 tokens)

Look up Lifecycle Manager clients by search term (cursor-paginated). Lighter-weight than the full clients list; returns client keys usable in create calls.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `page_size` (number): Results per page (1-200; API default 25).
- `search` (string): Search term to match client names
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_client_groups_lookup` (~38 tokens)

Look up the client groups a specific client belongs to (by client_key).

Input parameters:

- `client_key` (string, required): Client key

### `scalepad_lm_client_members_lookup` (~53 tokens)

Look up members (users) associated with a Lifecycle Manager client, optionally filtered by a search term.

Input parameters:

- `client_id` (string, required): Client id
- `search` (string): Optional search term

### `scalepad_lm_clients_list` (~109 tokens)

List Lifecycle Manager clients (cursor-paginated; page_size 1-200, default 25), optionally narrowed by a search term.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `page_size` (number): Results per page (1-200; API default 25).
- `search` (string): Search term to match client names
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_client_groups_list` (~25 tokens)

List all Lifecycle Manager client groups (no filters or pagination).

### `scalepad_lm_client_groups_get` (~34 tokens)

Get a Lifecycle Manager client group by id.

Input parameters:

- `client_group_id` (string, required): Client group id

### `scalepad_lm_client_groups_unassign` (~82 tokens)

⚠ HIGH-IMPACT. Remove clients and/or users from a Lifecycle Manager client group. Confirm with the user before invoking.

Input parameters:

- `client_group_id` (string, required): Client group id
- `client_keys` (array): Client keys to remove from the group
- `user_keys` (array): User keys to remove from the group

### `scalepad_lm_client_groups_assign` (~81 tokens)

⚠ HIGH-IMPACT. Assign clients and/or users to a Lifecycle Manager client group. Confirm with the user before invoking.

Input parameters:

- `client_group_id` (string, required): Client group id
- `client_keys` (array): Client keys to add to the group
- `user_keys` (array): User keys to add to the group

### `scalepad_lm_client_contacts_lookup` (~50 tokens)

Look up contacts for a specific Lifecycle Manager client, optionally filtered by a search term.

Input parameters:

- `client_id` (string, required): Client id
- `search` (string): Optional search term

### `scalepad_lm_active_users_list` (~24 tokens)

List active Lifecycle Manager users (no filters or pagination).

### `scalepad_lm_warranty_pricing_list` (~119 tokens)

List ScalePad warranty pricing records (cursor-paginated), optionally scoped to a client and warranty type.

Input parameters:

- `client_id` (string): Client id to scope pricing to
- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending.
- `warranty_type` (string): Warranty type to filter by

### `scalepad_lm_hardware_replacement_settings_get` (~39 tokens)

Get Lifecycle Manager hardware replacement settings, optionally for a specific client.

Input parameters:

- `client_id` (string): Client id

### `scalepad_lm_hardware_dashboard_get` (~59 tokens)

Get the Lifecycle Manager hardware dashboard summary, optionally filtered by client.

Input parameters:

- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client_id.

### `scalepad_lm_hardware_overview_get` (~60 tokens)

Get the detailed overview for a single hardware asset (by hardware_key, optionally scoped to a client).

Input parameters:

- `client_id` (string): Client id the asset belongs to
- `hardware_key` (string, required): Hardware asset key

### `scalepad_lm_hardware_list` (~226 tokens)

List Lifecycle Manager hardware assets (cursor-paginated; page_size 1-200, default 25). Searchable, client-scopable, and filterable by age, assigned end user, backup status, ScalePad warranty, initiative count, installed software, integration sources, manufacturer, memory, and processor.

Input parameters:

- `client_id` (string): Client id to scope assets to
- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: age, assignedenduser, configuredbackup, hasscalepadwarranty, initiativecount, installedsoftware, installe…
- `page_size` (number): Results per page (1-200; API default 25).
- `search` (string): Search term to match asset names/serials
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_hardware_lifecycles_list` (~113 tokens)

List active hardware lifecycle records (cursor-paginated), filterable by client_id and serial_number.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client_id, serial_number.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_hardware_attached_initiatives_lookup` (~43 tokens)

List the initiatives a hardware asset is attached to (by hardware_key).

Input parameters:

- `hardware_key` (string, required): Hardware asset key

### `scalepad_lm_hardware_attached_agreements_lookup` (~43 tokens)

List the agreements/contracts a hardware asset is attached to (by hardware_key).

Input parameters:

- `hardware_key` (string, required): Hardware asset key

### `scalepad_lm_roadmap_spreadsheet_generate` (~74 tokens)

Generate a roadmap spreadsheet (XLSX) for a client. Returns a binary payload; read-only export.

Input parameters:

- `client_id` (string, required): Client id
- `roadmap_download_payload` (object): Roadmap download options (columns, filters, grouping) per the ScalePad docs

### `scalepad_lm_roadmap_pdf_generate` (~67 tokens)

Generate a roadmap PDF for a client. Returns a binary payload; read-only export.

Input parameters:

- `client_id` (string, required): Client id
- `roadmap_download_payload` (object): Roadmap download options (columns, filters, grouping) per the ScalePad docs

### `scalepad_lm_roadmap_csv_generate` (~67 tokens)

Generate a roadmap CSV for a client. Returns a binary payload; read-only export.

Input parameters:

- `client_id` (string, required): Client id
- `roadmap_download_payload` (object): Roadmap download options (columns, filters, grouping) per the ScalePad docs

### `scalepad_lm_initiatives_status_update` (~68 tokens)

⚠ HIGH-IMPACT. Update the status of a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Initiative id
- `status` (string, required): New status value (e.g. not_scheduled, scheduled, completed)

### `scalepad_lm_initiatives_schedule_update` (~70 tokens)

⚠ HIGH-IMPACT. Schedule a Lifecycle Manager initiative into a fiscal quarter. Confirm with the user before invoking.

Input parameters:

- `fiscal_quarter` (required): Fiscal quarter to schedule the initiative into (e.g. { year, quarter })
- `id` (string, required): Initiative id

### `scalepad_lm_initiatives_recurring_update` (~65 tokens)

⚠ HIGH-IMPACT. Replace the recurring investment line items on a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Initiative id
- `recurring_line_items` (array, required): Recurring investment line items

### `scalepad_lm_initiatives_priority_update` (~66 tokens)

⚠ HIGH-IMPACT. Update the priority of a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Initiative id
- `priority` (string, required): New priority value (e.g. low, medium, high)

### `scalepad_lm_initiatives_budget_update` (~71 tokens)

⚠ HIGH-IMPACT. Replace the one-time investment (budget) line items on a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `budget_line_items` (array, required): One-time investment (budget) line items
- `id` (string, required): Initiative id

### `scalepad_lm_initiatives_assigned_user_update` (~63 tokens)

⚠ HIGH-IMPACT. Assign a Lifecycle Manager initiative to a user. Confirm with the user before invoking.

Input parameters:

- `assigned_user_id` (string, required): User id to assign
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_ticket_get` (~37 tokens)

Get the linked PSA ticket state for a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_ticket_create` (~83 tokens)

⚠ HIGH-IMPACT. Create a PSA ticket and link it to a Lifecycle Manager initiative. Use scalepad_lm_ticket_create_fields_get for the available field definitions. Confirm with the user before invoking.

Input parameters:

- `field_values` (required): PSA ticket field values (per the ticket create-fields)
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_ticket_detach` (~59 tokens)

⚠ HIGH-IMPACT. Detach the PSA ticket linked to a Lifecycle Manager initiative (the ticket itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiative_templates_duplicate` (~54 tokens)

⚠ HIGH-IMPACT. Duplicate a Lifecycle Manager initiative template (creates a new template copy). Confirm with the user before invoking.

Input parameters:

- `initiative_template_id` (string, required): Initiative template id

### `scalepad_lm_initiative_templates_get` (~36 tokens)

Get a Lifecycle Manager initiative template by id.

Input parameters:

- `initiative_template_id` (string, required): Initiative template id

### `scalepad_lm_initiative_templates_update` (~61 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager initiative template. Confirm with the user before invoking.

Input parameters:

- `initiative_template` (object, required): The updated initiative template payload
- `initiative_template_id` (string, required): Initiative template id

### `scalepad_lm_initiative_templates_delete` (~54 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager initiative template. Confirm with the user before invoking.

Input parameters:

- `initiative_template_id` (string, required): Initiative template id

### `scalepad_lm_initiative_templates_list` (~78 tokens)

List Lifecycle Manager initiative templates (cursor-paginated; page_size 1-200, default 25).

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_initiative_templates_create` (~49 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager initiative template. Confirm with the user before invoking.

Input parameters:

- `initiative_template` (object, required): The initiative template payload

### `scalepad_lm_initiatives_template_apply` (~70 tokens)

⚠ HIGH-IMPACT. Apply an initiative template to an existing Lifecycle Manager initiative (overwrites templated fields). Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id
- `initiative_template_id` (string, required): Initiative template id to apply

### `scalepad_lm_initiatives_quotes_list` (~37 tokens)

List the Quoter quotes attached to a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_pdf_get` (~43 tokens)

Download a Lifecycle Manager initiative as a PDF. Returns a binary payload; read-only export.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_opportunity_get` (~37 tokens)

Get the PSA opportunity linked to a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_opportunity_create` (~85 tokens)

⚠ HIGH-IMPACT. Create a PSA opportunity and link it to a Lifecycle Manager initiative. Use scalepad_lm_opportunity_create_fields_get for the available field definitions. Confirm with the user before invoking.

Input parameters:

- `field_values` (required): PSA opportunity field values (per the opportunity create-fields)
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_opportunity_delete` (~55 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Delete the PSA opportunity linked to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_opportunity_attach` (~63 tokens)

⚠ HIGH-IMPACT. Attach an existing PSA opportunity to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id
- `opportunity_id` (string, required): Opportunity id to attach

### `scalepad_lm_initiatives_meetings_list` (~37 tokens)

List the meetings attached to a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_meetings_attach` (~62 tokens)

⚠ HIGH-IMPACT. Attach a meeting to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id
- `meeting_id` (string, required): Meeting id to attach

### `scalepad_lm_initiatives_meetings_detach` (~71 tokens)

⚠ HIGH-IMPACT. Detach a meeting from a Lifecycle Manager initiative (the meeting itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id
- `meeting_id` (string, required): Meeting id to detach

### `scalepad_lm_initiatives_list_v2` (~154 tokens)

List Lifecycle Manager initiatives via the v2 endpoint (cursor-paginated; page_size 1-200, default 25). Filterable by client, status, priority, schedule, assigned user, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, status, priority, scheduled, scheduled_period, assigned_user_id, created_at, updated_at.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_initiatives_goals_list` (~36 tokens)

List the goals attached to a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_goals_attach` (~61 tokens)

⚠ HIGH-IMPACT. Attach a goal to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id to attach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_goals_detach` (~70 tokens)

⚠ HIGH-IMPACT. Detach a goal from a Lifecycle Manager initiative (the goal itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id to detach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_get` (~31 tokens)

Get a Lifecycle Manager initiative by id.

Input parameters:

- `id` (string, required): Initiative id

### `scalepad_lm_initiatives_update` (~84 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager initiative's name and executive summary. Confirm with the user before invoking.

Input parameters:

- `executive_summary` (string): Executive summary (plain text)
- `executive_summary_json`: Executive summary (rich-text JSON)
- `id` (string, required): Initiative id
- `name` (string): New initiative name

### `scalepad_lm_initiatives_delete` (~49 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Initiative id

### `scalepad_lm_initiatives_list` (~147 tokens)

List Lifecycle Manager initiatives (cursor-paginated; page_size 1-200, default 25). Filterable by client, status, priority, schedule, assigned user, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, status, priority, scheduled, scheduled_period, assigned_user_id, created_at, updated_at.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_initiatives_create` (~87 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager initiative for a client. Confirm with the user before invoking.

Input parameters:

- `client_key` (string, required): Client key (from clients lookup)
- `executive_summary` (string): Executive summary (plain text)
- `executive_summary_json`: Executive summary (rich-text JSON)
- `name` (string, required): Initiative name

### `scalepad_lm_initiatives_assets_detach` (~70 tokens)

⚠ HIGH-IMPACT. Detach hardware assets from a Lifecycle Manager initiative (the assets themselves are not deleted). Confirm with the user before invoking.

Input parameters:

- `hardware_keys` (array, required): Hardware asset keys to detach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_assets_attach` (~61 tokens)

⚠ HIGH-IMPACT. Attach hardware assets to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `hardware_keys` (array, required): Hardware asset keys to attach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_action_items_list` (~37 tokens)

List the action items attached to a Lifecycle Manager initiative.

Input parameters:

- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_action_items_attach` (~64 tokens)

⚠ HIGH-IMPACT. Attach an action item to a Lifecycle Manager initiative. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to attach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_initiatives_action_items_detach` (~74 tokens)

⚠ HIGH-IMPACT. Detach an action item from a Lifecycle Manager initiative (the action item itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to detach
- `initiative_id` (string, required): Initiative id

### `scalepad_lm_goal_templates_get` (~34 tokens)

Get a Lifecycle Manager goal template by id.

Input parameters:

- `goal_template_id` (string, required): Goal template id

### `scalepad_lm_goal_templates_update` (~59 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager goal template. Confirm with the user before invoking.

Input parameters:

- `goal_template` (object, required): The updated goal template payload
- `goal_template_id` (string, required): Goal template id

### `scalepad_lm_goal_templates_delete` (~52 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager goal template. Confirm with the user before invoking.

Input parameters:

- `goal_template_id` (string, required): Goal template id

### `scalepad_lm_goal_templates_list` (~55 tokens)

List Lifecycle Manager goal templates, filterable by title.

Input parameters:

- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: title.

### `scalepad_lm_goal_templates_create` (~47 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager goal template. Confirm with the user before invoking.

Input parameters:

- `goal_template` (object, required): The goal template payload

### `scalepad_lm_goals_status_update` (~56 tokens)

⚠ HIGH-IMPACT. Update the status of a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Goal id
- `status` (string, required): New status value

### `scalepad_lm_goals_schedule_update` (~75 tokens)

⚠ HIGH-IMPACT. Update the target period (schedule) of a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Goal id
- `target_period` (required): Target period for the goal (e.g. { year, quarter } or { year, half })

### `scalepad_lm_goals_meetings_list` (~36 tokens)

List the meetings attached to a Lifecycle Manager goal.

Input parameters:

- `goal_id` (string, required): Goal id

### `scalepad_lm_goals_meetings_attach` (~61 tokens)

⚠ HIGH-IMPACT. Attach a meeting to a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id
- `meeting_id` (string, required): Meeting id to attach

### `scalepad_lm_goals_meetings_detach` (~70 tokens)

⚠ HIGH-IMPACT. Detach a meeting from a Lifecycle Manager goal (the meeting itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id
- `meeting_id` (string, required): Meeting id to detach

### `scalepad_lm_goals_initiatives_list` (~36 tokens)

List the initiatives attached to a Lifecycle Manager goal.

Input parameters:

- `goal_id` (string, required): Goal id

### `scalepad_lm_goals_initiatives_attach` (~61 tokens)

⚠ HIGH-IMPACT. Attach an initiative to a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id
- `initiative_id` (string, required): Initiative id to attach

### `scalepad_lm_goals_initiatives_detach` (~70 tokens)

⚠ HIGH-IMPACT. Detach an initiative from a Lifecycle Manager goal (the initiative itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id
- `initiative_id` (string, required): Initiative id to detach

### `scalepad_lm_goals_get` (~30 tokens)

Get a Lifecycle Manager goal by id.

Input parameters:

- `id` (string, required): Goal id

### `scalepad_lm_goals_update` (~110 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager goal (title, description, status, target period). Confirm with the user before invoking.

Input parameters:

- `description` (string): Goal description (plain text)
- `description_json`: Goal description (rich-text JSON)
- `id` (string, required): Goal id
- `status` (string): Goal status
- `target_period`: Target period (e.g. { year, quarter })
- `title` (string): New goal title

### `scalepad_lm_goals_delete` (~48 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Goal id

### `scalepad_lm_goals_create_from_template` (~75 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager goal from a goal template. Confirm with the user before invoking.

Input parameters:

- `client_key` (string, required): Client key (from clients lookup)
- `goal_template_id` (string, required): Goal template id
- `title` (string): Goal title

### `scalepad_lm_goals_list` (~156 tokens)

List Lifecycle Manager goals (cursor-paginated; page_size 1-200, default 25). Filterable by client, title, status, and target period (year/half/quarter).

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, title, status, period.year, period.half, period.quarter.
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_goals_create` (~98 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager goal for a client. Confirm with the user before invoking.

Input parameters:

- `client_key` (string, required): Client key (from clients lookup)
- `description` (string): Goal description (plain text)
- `status` (string): Initial goal status
- `target_period`: Target period (e.g. { year, quarter })
- `title` (string, required): Goal title

### `scalepad_lm_goals_action_items_list` (~36 tokens)

List the action items attached to a Lifecycle Manager goal.

Input parameters:

- `goal_id` (string, required): Goal id

### `scalepad_lm_goals_action_items_attach` (~63 tokens)

⚠ HIGH-IMPACT. Attach an action item to a Lifecycle Manager goal. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to attach
- `goal_id` (string, required): Goal id

### `scalepad_lm_goals_action_items_detach` (~73 tokens)

⚠ HIGH-IMPACT. Detach an action item from a Lifecycle Manager goal (the action item itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to detach
- `goal_id` (string, required): Goal id

### `scalepad_lm_meetings_update_v2` (~119 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager meeting via the v2 endpoint (title, type, start/end, agenda). Confirm with the user before invoking.

Input parameters:

- `agenda_json`: Meeting agenda (rich-text JSON)
- `ends_at` (string): End time (ISO 8601)
- `id` (string, required): Meeting id
- `starts_at` (string): Start time (ISO 8601)
- `title` (string): Meeting title
- `type` (string): Meeting type

### `scalepad_lm_meeting_types_update` (~58 tokens)

⚠ HIGH-IMPACT. Rename a Lifecycle Manager meeting type. Confirm with the user before invoking.

Input parameters:

- `label` (string, required): New meeting type label
- `meeting_type_id` (string, required): Meeting type id

### `scalepad_lm_meeting_types_delete` (~53 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager meeting type. Confirm with the user before invoking.

Input parameters:

- `meeting_type_id` (string, required): Meeting type id

### `scalepad_lm_meeting_types_list` (~25 tokens)

List Lifecycle Manager meeting types (no filters or pagination).

### `scalepad_lm_meeting_types_create` (~46 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager meeting type. Confirm with the user before invoking.

Input parameters:

- `label` (string, required): Meeting type label

### `scalepad_lm_meetings_initiatives_list` (~37 tokens)

List the initiatives attached to a Lifecycle Manager meeting.

Input parameters:

- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_initiatives_attach` (~62 tokens)

⚠ HIGH-IMPACT. Attach an initiative to a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id to attach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_initiatives_detach` (~71 tokens)

⚠ HIGH-IMPACT. Detach an initiative from a Lifecycle Manager meeting (the initiative itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `initiative_id` (string, required): Initiative id to detach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_goals_list` (~36 tokens)

List the goals attached to a Lifecycle Manager meeting.

Input parameters:

- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_goals_attach` (~61 tokens)

⚠ HIGH-IMPACT. Attach a goal to a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id to attach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_goals_detach` (~70 tokens)

⚠ HIGH-IMPACT. Detach a goal from a Lifecycle Manager meeting (the goal itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `goal_id` (string, required): Goal id to detach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_get` (~31 tokens)

Get a Lifecycle Manager meeting by id.

Input parameters:

- `id` (string, required): Meeting id

### `scalepad_lm_meetings_update` (~129 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager meeting via the v1 endpoint (title, type, start/end, agenda). Prefer scalepad_lm_meetings_update_v2. Confirm with the user before invoking.

Input parameters:

- `agenda_json`: Meeting agenda (rich-text JSON)
- `ends_at` (string): End time (ISO 8601)
- `id` (string, required): Meeting id
- `starts_at` (string): Start time (ISO 8601)
- `title` (string): Meeting title
- `type` (string): Meeting type

### `scalepad_lm_meetings_delete` (~49 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Meeting id

### `scalepad_lm_meetings_create_v2` (~116 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager meeting via the v2 endpoint. Confirm with the user before invoking.

Input parameters:

- `agenda_json`: Meeting agenda (rich-text JSON)
- `client_key` (string, required): Client key (from clients lookup)
- `ends_at` (string): End time (ISO 8601)
- `starts_at` (string): Start time (ISO 8601)
- `title` (string, required): Meeting title
- `type` (string): Meeting type

### `scalepad_lm_meetings_list` (~113 tokens)

List Lifecycle Manager meetings (cursor-paginated; page_size 1-200, default 25), filterable by client.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_meetings_create` (~126 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager meeting via the v1 endpoint. Prefer scalepad_lm_meetings_create_v2. Confirm with the user before invoking.

Input parameters:

- `agenda_json`: Meeting agenda (rich-text JSON)
- `client_key` (string, required): Client key (from clients lookup)
- `ends_at` (string): End time (ISO 8601)
- `starts_at` (string): Start time (ISO 8601)
- `title` (string, required): Meeting title
- `type` (string): Meeting type

### `scalepad_lm_meetings_completion_status_update` (~65 tokens)

⚠ HIGH-IMPACT. Mark a Lifecycle Manager meeting completed or not completed. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Meeting id
- `is_completed` (boolean, required): true to mark completed, false to reopen

### `scalepad_lm_meetings_user_attendees_remove` (~61 tokens)

⚠ HIGH-IMPACT. Remove user attendees from a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Meeting id
- `user_keys` (array, required): User keys to remove

### `scalepad_lm_meetings_user_attendees_add` (~61 tokens)

⚠ HIGH-IMPACT. Add user attendees to a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Meeting id
- `user_keys` (array, required): User keys to add

### `scalepad_lm_meetings_contact_attendees_remove` (~61 tokens)

⚠ HIGH-IMPACT. Remove contact attendees from a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `contact_keys` (array, required): Contact keys to remove
- `id` (string, required): Meeting id

### `scalepad_lm_meetings_contact_attendees_add` (~61 tokens)

⚠ HIGH-IMPACT. Add contact attendees to a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `contact_keys` (array, required): Contact keys to add
- `id` (string, required): Meeting id

### `scalepad_lm_meetings_action_items_list` (~37 tokens)

List the action items attached to a Lifecycle Manager meeting.

Input parameters:

- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_action_items_attach` (~64 tokens)

⚠ HIGH-IMPACT. Attach an action item to a Lifecycle Manager meeting. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to attach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_meetings_action_items_detach` (~74 tokens)

⚠ HIGH-IMPACT. Detach an action item from a Lifecycle Manager meeting (the action item itself is not deleted). Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item id to detach
- `meeting_id` (string, required): Meeting id

### `scalepad_lm_action_items_reposition` (~87 tokens)

⚠ HIGH-IMPACT. Reposition a Lifecycle Manager action item relative to another (before_id/after_id). Confirm with the user before invoking.

Input parameters:

- `after_id` (string): Place the item after this action item id
- `before_id` (string): Place the item before this action item id
- `id` (string, required): Action item id

### `scalepad_lm_action_items_pin_update` (~65 tokens)

⚠ HIGH-IMPACT. Pin or unpin a Lifecycle Manager action item. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Action item id
- `is_pinned` (boolean, required): true to pin, false to unpin

### `scalepad_lm_action_items_completion_status_update` (~66 tokens)

⚠ HIGH-IMPACT. Mark a Lifecycle Manager action item completed or not completed. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Action item id
- `is_completed` (boolean, required): true to mark completed, false to reopen

### `scalepad_lm_action_items_get` (~32 tokens)

Get a Lifecycle Manager action item by id.

Input parameters:

- `id` (string, required): Action item id

### `scalepad_lm_action_items_update` (~68 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager action item (description, assignees, due date, …). Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Action item id
- `update_payload` (object, required): The action item update payload

### `scalepad_lm_action_items_delete` (~50 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager action item. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Action item id

### `scalepad_lm_action_items_list` (~164 tokens)

List Lifecycle Manager action items (cursor-paginated; page_size 1-200, default 25). Filterable by client, completion, overdue status, assignees, creator, and unassigned flag.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, is_completed, is_overdue, assigned_user_ids, created_by_user_id, is_unassigned.
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_action_items_create` (~106 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager action item for a client. Confirm with the user before invoking.

Input parameters:

- `assigned_user_ids` (array): User ids to assign
- `client_key` (string, required): Client key (from clients lookup)
- `description` (string, required): Action item description (plain text)
- `description_json`: Action item description (rich-text JSON)
- `due_at` (string): Due date (ISO 8601)

### `scalepad_lm_assessment_templates_get` (~35 tokens)

Get a Lifecycle Manager assessment template by id.

Input parameters:

- `assessment_template_id` (string, required): Assessment template id

### `scalepad_lm_assessment_templates_update` (~60 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager assessment template. Confirm with the user before invoking.

Input parameters:

- `assessment_template` (object, required): The updated assessment template payload
- `assessment_template_id` (string, required): Assessment template id

### `scalepad_lm_assessment_templates_delete` (~53 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager assessment template. Confirm with the user before invoking.

Input parameters:

- `assessment_template_id` (string, required): Assessment template id

### `scalepad_lm_assessment_templates_list` (~25 tokens)

List Lifecycle Manager assessment templates (no filters or pagination).

### `scalepad_lm_assessment_templates_create` (~48 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager assessment template. Confirm with the user before invoking.

Input parameters:

- `assessment_template` (object, required): The assessment template payload

### `scalepad_lm_assessments_question_public_comment_update` (~88 tokens)

⚠ HIGH-IMPACT. Update the public (client-visible) comment on an assessment question. Confirm with the user before invoking.

Input parameters:

- `assessment_id` (string, required): Assessment id
- `comment_json`: Comment (rich-text JSON)
- `comment_plain_text` (string): Comment (plain text)
- `question_id` (string, required): Question id

### `scalepad_lm_assessments_question_internal_comment_update` (~88 tokens)

⚠ HIGH-IMPACT. Update the internal (team-only) comment on an assessment question. Confirm with the user before invoking.

Input parameters:

- `assessment_id` (string, required): Assessment id
- `comment_json`: Comment (rich-text JSON)
- `comment_plain_text` (string): Comment (plain text)
- `question_id` (string, required): Question id

### `scalepad_lm_assessments_internal_comment_update` (~60 tokens)

⚠ HIGH-IMPACT. Update the internal comment on a Lifecycle Manager assessment. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Assessment id
- `internal_comment` (string, required): Internal comment text

### `scalepad_lm_assessments_evaluate` (~60 tokens)

⚠ HIGH-IMPACT. Submit question evaluations for a Lifecycle Manager assessment. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Assessment id
- `question_evaluations` (array, required): Question evaluation entries

### `scalepad_lm_assessments_get` (~31 tokens)

Get a Lifecycle Manager assessment by id.

Input parameters:

- `id` (string, required): Assessment id

### `scalepad_lm_assessments_update` (~87 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager assessment (title, evaluator, evaluation date). Confirm with the user before invoking.

Input parameters:

- `evaluate_at` (string): Evaluation date (ISO 8601)
- `evaluate_user_id` (string): Evaluating user id
- `id` (string, required): Assessment id
- `title` (string): Assessment title

### `scalepad_lm_assessments_delete` (~49 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager assessment. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Assessment id

### `scalepad_lm_assessments_list` (~125 tokens)

List Lifecycle Manager assessments (cursor-paginated; page_size 1-200, default 25). Filterable by client, status, and assessment template.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, status, assessment_template_id.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_assessments_create` (~105 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager assessment for a client from an assessment template. Confirm with the user before invoking.

Input parameters:

- `assessment_template_id` (string): Assessment template id
- `client_key` (string, required): Client key (from clients lookup)
- `evaluate_at` (string): Evaluation date (ISO 8601)
- `evaluate_user_id` (string): Evaluating user id
- `title` (string, required): Assessment title

### `scalepad_lm_assessments_completion_status_update` (~65 tokens)

⚠ HIGH-IMPACT. Mark a Lifecycle Manager assessment completed or not completed. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Assessment id
- `is_completed` (boolean, required): true to mark completed, false to reopen

### `scalepad_lm_deliverables_pdf_get` (~46 tokens)

Download a Lifecycle Manager deliverable as a PDF. Returns a binary payload; read-only export.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_get` (~35 tokens)

Get a Lifecycle Manager deliverable by id.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_update` (~84 tokens)

⚠ HIGH-IMPACT. Patch-update a Lifecycle Manager deliverable (name, status, sections). Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id
- `name` (string): Deliverable name
- `sections` (array): Deliverable sections
- `status` (string): Deliverable status

### `scalepad_lm_deliverables_delete` (~53 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager deliverable. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_create_from_template` (~80 tokens)

⚠ HIGH-IMPACT. Create a new deliverable for a client from an existing deliverable template. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): Client id
- `name` (string): Name for the new deliverable
- `template_id` (string, required): Deliverable template id

### `scalepad_lm_client_deliverables_list` (~36 tokens)

List all deliverables for a specific Lifecycle Manager client.

Input parameters:

- `client_id` (string, required): Client id

### `scalepad_lm_deliverables_create` (~69 tokens)

⚠ HIGH-IMPACT. Create a new deliverable for a Lifecycle Manager client. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): Client id
- `name` (string, required): Deliverable name
- `sections` (array): Deliverable sections

### `scalepad_lm_deliverables_catalog_components_list` (~38 tokens)

List the deliverable catalog components available for a specific client.

Input parameters:

- `client_id` (string, required): Client id

### `scalepad_lm_deliverables_catalog_integrations_list` (~27 tokens)

List all available deliverable integrations (account-wide).

### `scalepad_lm_deliverables_integrated_integrations_list` (~41 tokens)

List the deliverable integrations that are integrated for a specific client.

Input parameters:

- `client_id` (string, required): Client id

### `scalepad_lm_deliverables_presentation_get` (~40 tokens)

Get a Lifecycle Manager deliverable in presentation form by id.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_sections_refresh` (~62 tokens)

⚠ HIGH-IMPACT. Refresh a deliverable section's data from its sources. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id
- `section_id` (string, required): Section id

### `scalepad_lm_deliverables_sections_delete` (~65 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a section from a deliverable. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id
- `section_id` (string, required): Section id

### `scalepad_lm_deliverables_components_refresh` (~71 tokens)

⚠ HIGH-IMPACT. Refresh a single component within a deliverable section. Confirm with the user before invoking.

Input parameters:

- `component_id` (string, required): Component id
- `deliverable_id` (string, required): Deliverable id
- `section_id` (string, required): Section id

### `scalepad_lm_deliverables_components_delete` (~76 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a component from a deliverable section. Confirm with the user before invoking.

Input parameters:

- `component_id` (string, required): Component id
- `deliverable_id` (string, required): Deliverable id
- `section_id` (string, required): Section id

### `scalepad_lm_deliverable_templates_get` (~37 tokens)

Get a Lifecycle Manager deliverable template by id.

Input parameters:

- `template_id` (string, required): Deliverable template id

### `scalepad_lm_deliverable_templates_update` (~72 tokens)

⚠ HIGH-IMPACT. Patch-update a Lifecycle Manager deliverable template (name, sections). Confirm with the user before invoking.

Input parameters:

- `name` (string): Template name
- `sections` (array): Template sections
- `template_id` (string, required): Deliverable template id

### `scalepad_lm_deliverable_templates_delete` (~55 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager deliverable template. Confirm with the user before invoking.

Input parameters:

- `template_id` (string, required): Deliverable template id

### `scalepad_lm_deliverable_templates_duplicate` (~56 tokens)

⚠ HIGH-IMPACT. Create a new deliverable template as a copy of an existing template. Confirm with the user before invoking.

Input parameters:

- `template_id` (string, required): Source deliverable template id

### `scalepad_lm_deliverable_templates_create_from_deliverable` (~58 tokens)

⚠ HIGH-IMPACT. Create a new deliverable template from an existing deliverable. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Source deliverable id

### `scalepad_lm_deliverable_templates_list` (~28 tokens)

List all Lifecycle Manager deliverable templates (no filters or pagination).

### `scalepad_lm_deliverable_templates_create` (~56 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager deliverable template. Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Template name
- `sections` (array): Template sections

### `scalepad_lm_deliverable_templates_catalog_components_list` (~30 tokens)

List the deliverable catalog components available for templates (account-wide).

### `scalepad_lm_deliverable_templates_sections_delete` (~67 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a section from a deliverable template. Confirm with the user before invoking.

Input parameters:

- `section_id` (string, required): Section id
- `template_id` (string, required): Deliverable template id

### `scalepad_lm_deliverable_templates_components_delete` (~78 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a component from a deliverable template section. Confirm with the user before invoking.

Input parameters:

- `component_id` (string, required): Component id
- `section_id` (string, required): Section id
- `template_id` (string, required): Deliverable template id

### `scalepad_lm_deliverables_share_link_revoke` (~72 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Revoke the general share link of a deliverable. Anyone holding the old link loses access; the link cannot be restored. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_share_link_regenerate` (~69 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Regenerate the general share link of a deliverable. The previous link stops working immediately and cannot be restored. Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_share_link_get` (~38 tokens)

Get the general share link of a deliverable.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_share_link_create` (~59 tokens)

⚠ HIGH-IMPACT. Create a general share link for a deliverable (grants link-holders access). Confirm with the user before invoking.

Input parameters:

- `deliverable_id` (string, required): Deliverable id

### `scalepad_lm_deliverables_list` (~153 tokens)

List Lifecycle Manager deliverables across the account (cursor-paginated; page_size 1-200, default 25). Filterable by client, status, creator, meeting linkage, and name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, status, created_by, has_meeting, name.
- `page_size` (number): Results per page (1-200; API default 25).
- `sort` (string): Sort field; prefix with "-" for descending.

### `scalepad_lm_budget_summary_get` (~219 tokens)

Get the budget summary for a client. Forecast window controls: frequency, period_count, starting_date, include_overdue, include_not_scheduled; filterable by type, status, asset type, third-party flag, and name; optional IT-debt grouping by asset type.

Input parameters:

- `client_id` (string, required): Client id
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: type, status, asset_type.id, is_third_party, name.
- `frequency` (string): Forecast bucket frequency (e.g. monthly, quarterly, yearly)
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `it_debt_group_by_asset_type` (boolean): Group IT debt by asset type
- `period_count` (number): Number of periods in the forecast window
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_it_debt_list` (~216 tokens)

List a client's IT-debt budget entries (cursor-paginated). Same forecast window controls as the budget summary; filterable by asset type and name.

Input parameters:

- `client_id` (string, required): Client id
- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: asset_type.id, name.
- `frequency` (string): Forecast bucket frequency
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `page_size` (number): Results per page (1-200; API default 25).
- `period_count` (number): Number of periods in the forecast window
- `sort` (string): Sort field; prefix with "-" for descending.
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_initiatives_list` (~211 tokens)

List a client's budgeted initiatives (cursor-paginated). Same forecast window controls as the budget summary; filterable by status and name.

Input parameters:

- `client_id` (string, required): Client id
- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: status, name.
- `frequency` (string): Forecast bucket frequency
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `page_size` (number): Results per page (1-200; API default 25).
- `period_count` (number): Number of periods in the forecast window
- `sort` (string): Sort field; prefix with "-" for descending.
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_forecast_pdf_get` (~182 tokens)

Download a client's budget forecast as a PDF (binary payload; read-only export). Same forecast window controls as the budget summary, plus include_chart.

Input parameters:

- `client_id` (string, required): Client id
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: type, status, asset_type.id, is_third_party, name.
- `frequency` (string): Forecast bucket frequency
- `include_chart` (boolean): Include the forecast chart in the PDF
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `period_count` (number): Number of periods in the forecast window
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_forecast_detail_pdf_get` (~200 tokens)

Download a client's detailed budget forecast as a PDF (binary payload; read-only export). Adds a `group` option on top of the standard forecast controls.

Input parameters:

- `client_id` (string, required): Client id
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: type, status, asset_type.id, is_third_party, name.
- `frequency` (string): Forecast bucket frequency
- `group` (string): Grouping to apply to the detail rows
- `include_chart` (boolean): Include the forecast chart in the PDF
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `period_count` (number): Number of periods in the forecast window
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_forecast_csv_get` (~163 tokens)

Download a client's budget forecast as a CSV (binary payload; read-only export). Same forecast window controls as the budget summary.

Input parameters:

- `client_id` (string, required): Client id
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: type, status, asset_type.id, is_third_party, name.
- `frequency` (string): Forecast bucket frequency
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `period_count` (number): Number of periods in the forecast window
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_contracts_list` (~215 tokens)

List a client's budgeted contracts (cursor-paginated). Same forecast window controls as the budget summary; filterable by third-party flag and name.

Input parameters:

- `client_id` (string, required): Client id
- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: is_third_party, name.
- `frequency` (string): Forecast bucket frequency
- `include_not_scheduled` (boolean): Include items not yet scheduled
- `include_overdue` (boolean): Include overdue items
- `page_size` (number): Results per page (1-200; API default 25).
- `period_count` (number): Number of periods in the forecast window
- `sort` (string): Sort field; prefix with "-" for descending.
- `starting_date` (string): Forecast window start date (ISO 8601)

### `scalepad_lm_budget_availabilities_get` (~34 tokens)

Get the budget availabilities for a client.

Input parameters:

- `client_id` (string, required): Client id

### `scalepad_lm_contracts_get` (~33 tokens)

Get a Lifecycle Manager contract (agreement) by id.

Input parameters:

- `id` (string, required): Contract id

### `scalepad_lm_contracts_update` (~70 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager contract (agreement). Confirm with the user before invoking.

Input parameters:

- `client_id` (string): Client id the contract belongs to
- `id` (string, required): Contract id
- `update_payload` (object, required): The contract update payload

### `scalepad_lm_contracts_delete` (~50 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager contract (agreement). Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Contract id

### `scalepad_lm_contracts_list` (~121 tokens)

List Lifecycle Manager contracts (agreements; cursor-paginated; page_size 1-200, default 25). Filterable by client and expiry status.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, expiry_status.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_contracts_create` (~66 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager contract (agreement) for a client. Confirm with the user before invoking.

Input parameters:

- `client_key` (string, required): Client key (from clients lookup)
- `create_payload` (object, required): The contract create payload

### `scalepad_lm_contracts_assets_detach` (~71 tokens)

⚠ HIGH-IMPACT. Detach hardware assets from a Lifecycle Manager contract/agreement (the assets themselves are not deleted). Confirm with the user before invoking.

Input parameters:

- `contract_id` (string, required): Contract id
- `hardware_keys` (array, required): Hardware asset keys to detach

### `scalepad_lm_contracts_assets_attach` (~62 tokens)

⚠ HIGH-IMPACT. Attach hardware assets to a Lifecycle Manager contract/agreement. Confirm with the user before invoking.

Input parameters:

- `contract_id` (string, required): Contract id
- `hardware_keys` (array, required): Hardware asset keys to attach

### `scalepad_lm_user_identity_get` (~27 tokens)

Get the identity of the Lifecycle Manager user behind the current API key.

### `scalepad_lm_ticket_create_fields_get` (~50 tokens)

Get the PSA ticket create-field definitions (used with scalepad_lm_initiatives_ticket_create), optionally for a specific client.

Input parameters:

- `client_id` (string): Client id

### `scalepad_lm_opportunity_create_fields_get` (~52 tokens)

Get the PSA opportunity create-field definitions (used with scalepad_lm_initiatives_opportunity_create), optionally for a specific client.

Input parameters:

- `client_id` (string): Client id

### `scalepad_lm_opportunities_list` (~57 tokens)

List PSA opportunities visible to Lifecycle Manager, optionally scoped to a client and including inactive ones.

Input parameters:

- `client_id` (string): Client id to scope opportunities to
- `include_inactive` (boolean): Include inactive opportunities

### `scalepad_lm_notes_get` (~29 tokens)

Get a Lifecycle Manager note by id.

Input parameters:

- `id` (string, required): Note id

### `scalepad_lm_notes_update` (~68 tokens)

⚠ HIGH-IMPACT. Update a Lifecycle Manager note (title and rich-text body). Confirm with the user before invoking.

Input parameters:

- `description_json`: Note body (rich-text JSON)
- `id` (string, required): Note id
- `title` (string): Note title

### `scalepad_lm_notes_delete` (~47 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Lifecycle Manager note. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Note id

### `scalepad_lm_notes_list` (~118 tokens)

List Lifecycle Manager notes (cursor-paginated; page_size 1-200, default 25). Filterable by client and archived status.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous response; omit for the first page.
- `filter` (object): Optional filters, keyed by API filter name and sent as filter[<key>]=<value>. Supported keys: client.id, is_archived.
- `page_size` (number): Results per page (1-200; API default 25).

### `scalepad_lm_notes_create` (~71 tokens)

⚠ HIGH-IMPACT. Create a new Lifecycle Manager note for a client. Confirm with the user before invoking.

Input parameters:

- `client_key` (string, required): Client key (from clients lookup)
- `description_json`: Note body (rich-text JSON)
- `title` (string, required): Note title

### `scalepad_lm_notes_archive_status_update` (~63 tokens)

⚠ HIGH-IMPACT. Archive or unarchive a Lifecycle Manager note. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Note id
- `is_archived` (boolean, required): true to archive, false to unarchive

### `scalepad_lm_user_ui_state_get` (~37 tokens)

Get a stored per-user UI state blob by state_key.

Input parameters:

- `state_key` (string, required): UI state key

### `scalepad_lm_user_ui_state_put` (~64 tokens)

⚠ HIGH-IMPACT. Store (replace) a per-user UI state blob under state_key. Confirm with the user before invoking.

Input parameters:

- `payload` (required): The UI state payload to store
- `state_key` (string, required): UI state key

### `scalepad_lm_insights_list` (~23 tokens)

List Lifecycle Manager insights (no filters or pagination).

### `scalepad_lm_enrollment_tokens_create` (~97 tokens)

⚠ HIGH-IMPACT. Create a SaaS-management enrollment token for a client (grants device enrollment until it expires). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): Client id
- `description` (string): Token description
- `expires_at` (string): Expiry time (ISO 8601)
- `site_id` (string): Site id to scope the token to

### `scalepad_lm_saas_utilization_summary_get` (~36 tokens)

Get the SaaS utilization summary for a client.

Input parameters:

- `client_id` (string, required): Client id

### `scalepad_cm_health_list` (~186 tokens)

List compliance health metrics across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client ID, tenant ID, or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_health_get` (~43 tokens)

Get compliance health metrics for a single ControlMap client (framework progress, evidence and action-item posture).

Input parameters:

- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_reports_list` (~158 tokens)

List generated ControlMap reports for a client (POST search with a structured filter body). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_reports_get_signed_url` (~57 tokens)

Retrieve a signed URL to download a generated ControlMap report for a client. The URL is time-limited.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `report_id` (string, required): Report ID

### `scalepad_cm_risks_search` (~166 tokens)

Search a ControlMap client's risk register (POST search with a structured filter body; omit filter to list all risks). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_risks_get` (~47 tokens)

Get a single ControlMap risk by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `risk_id` (string, required): Risk ID

### `scalepad_cm_risks_create` (~159 tokens)

⚠ HIGH-IMPACT. Create a risk in a ControlMap client's risk register (name, description, status, department, category, owner, business impact, impact/likelihood scores). Confirm with the user before invoking.

Input parameters:

- `business_impact` (string): Business impact description
- `client_id` (string, required): ControlMap client ID
- `department` (string): Responsible department
- `description` (string): Risk description
- `impact` (number): Impact score
- `likelihood` (number): Likelihood score
- `name` (string, required): Risk name
- `owner_email` (string): Risk owner's email
- `risk_category` (string): Risk category
- `status` (string): Risk status

### `scalepad_cm_risks_update` (~153 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap risk (code, title, description, status, owner, team, department, category). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `category` (string): Risk category
- `client_id` (string, required): ControlMap client ID
- `code` (string): Risk code
- `department` (string): Responsible department
- `description` (string): Risk description
- `owner_email` (string): Risk owner's email
- `risk_id` (string, required): Risk ID
- `status` (string): Risk status
- `team` (string): Responsible team
- `title` (string): Risk title

### `scalepad_cm_risks_delete` (~66 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a risk from a ControlMap client's risk register. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `risk_id` (string, required): Risk ID

### `scalepad_cm_risks_list_summaries` (~154 tokens)

List risk summaries across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_risks_map` (~180 tokens)

⚠ HIGH-IMPACT. Map a ControlMap risk to related records: assets, asset types, threats, vulnerabilities, vendors, objectives, controls, and/or action items. Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to map
- `asset_codes` (array): Asset codes to map
- `asset_type_names` (array): Asset type names to map
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `objective_codes` (array): Framework objective codes to map
- `risk_id` (string, required): Risk ID
- `threat_codes` (array): Threat codes to map
- `vendor_codes` (array): Vendor codes to map
- `vulnerability_codes` (array): Vulnerability codes to map

### `scalepad_cm_risks_unmap` (~190 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap risk and related records (assets, asset types, threats, vulnerabilities, vendors, objectives, controls, action items). Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to unmap
- `asset_codes` (array): Asset codes to unmap
- `asset_type_names` (array): Asset type names to unmap
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `objective_codes` (array): Framework objective codes to unmap
- `risk_id` (string, required): Risk ID
- `threat_codes` (array): Threat codes to unmap
- `vendor_codes` (array): Vendor codes to unmap
- `vulnerability_codes` (array): Vulnerability codes to unmap

### `scalepad_cm_risks_get_category` (~51 tokens)

Get a single ControlMap risk category by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `risk_category_id` (string, required): Risk category ID

### `scalepad_cm_risks_list_departments` (~38 tokens)

List the risk departments configured for a ControlMap client.

Input parameters:

- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_controls_search` (~163 tokens)

Search a ControlMap client's controls (POST search with a structured filter body; omit filter to list all controls). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_controls_get` (~45 tokens)

Get a single ControlMap control by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_id` (string, required): Control ID

### `scalepad_cm_controls_create` (~151 tokens)

⚠ HIGH-IMPACT. Create a control for a ControlMap client (type, name, description, tag, contributors, owner, control set / family). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `contributors` (array): Contributor emails
- `control_family_name` (string): Control family to place the control in
- `control_set_name` (string): Control set to place the control in
- `description` (string): Control description
- `name` (string, required): Control name
- `owner_email` (string): Control owner's email
- `tag` (string): Control tag
- `type` (string): Control type

### `scalepad_cm_controls_update` (~179 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap control (name, description, code, status, owner, type, frequency, team, implementation notes, control family). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `code` (string): Control code
- `control_family_name` (string): Control family name
- `control_id` (string, required): Control ID
- `description` (string): Control description
- `frequency` (string): Review/operation frequency
- `implementation_notes` (string): Implementation notes
- `name` (string): Control name
- `owner` (string): Control owner
- `status` (string): Control status
- `team` (string): Responsible team
- `type` (string): Control type

### `scalepad_cm_controls_delete` (~62 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a control from a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_id` (string, required): Control ID

### `scalepad_cm_controls_map` (~159 tokens)

⚠ HIGH-IMPACT. Map a ControlMap control to related items: evidence, policies, risks, action items, procedures, governance, and/or framework objectives. Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to map
- `client_id` (string, required): ControlMap client ID
- `control_id` (string, required): Control ID
- `evidence_codes` (array): Evidence codes to map
- `governance_codes` (array): Governance codes to map
- `objectives` (array): Framework objectives to map
- `policy_codes` (array): Policy codes to map
- `procedure_codes` (array): Procedure codes to map
- `risk_codes` (array): Risk codes to map

### `scalepad_cm_controls_unmap` (~168 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap control and related items (evidence, policies, risks, action items, procedures, governance, objectives). Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to unmap
- `client_id` (string, required): ControlMap client ID
- `control_id` (string, required): Control ID
- `evidence_codes` (array): Evidence codes to unmap
- `governance_codes` (array): Governance codes to unmap
- `objectives` (array): Framework objectives to unmap
- `policy_codes` (array): Policy codes to unmap
- `procedure_codes` (array): Procedure codes to unmap
- `risk_codes` (array): Risk codes to unmap

### `scalepad_cm_controls_list_sets` (~153 tokens)

List control sets for a ControlMap client. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by ID, name, or code.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_code` (string): Filter by control set code (filter[code])
- `filter_id` (string): Filter by control set ID (filter[id])
- `filter_name` (string): Filter by control set name (filter[name])
- `page_size` (number): Results per page, 1-200 (default 50)

### `scalepad_cm_controls_list_families` (~155 tokens)

List control families for a ControlMap client. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by ID, name, or code.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_code` (string): Filter by control family code (filter[code])
- `filter_id` (string): Filter by control family ID (filter[id])
- `filter_name` (string): Filter by control family name (filter[name])
- `page_size` (number): Results per page, 1-200 (default 50)

### `scalepad_cm_controls_list_summaries` (~126 tokens)

List control summaries across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client ID.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_controls_get_summary` (~39 tokens)

Get the control summary for a single ControlMap client (counts by status).

Input parameters:

- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_evidence_search` (~207 tokens)

Search a ControlMap client's evidence records (POST search with a structured filter body; omit filter to list all evidence). Set fetch_items / evidence_request to include nested request detail. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `evidence_request` (boolean): Include evidence request detail in the results
- `fetch_items` (boolean): Include nested evidence items in the results
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_evidence_list_summaries` (~174 tokens)

List evidence summaries across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client ID, tenant ID, or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_evidence_create` (~149 tokens)

⚠ HIGH-IMPACT. Create an evidence record for a ControlMap client (title, description, owner, assignee, refresh schedule, initial mappings). Confirm with the user before invoking.

Input parameters:

- `assignee_email` (string): Assignee's email
- `client_id` (string, required): ControlMap client ID
- `description` (string): Evidence description
- `mappings` (object): Initial mappings (objective/control/question codes)
- `owner_email` (string): Owner's email
- `repeat_type` (string): Refresh repeat type (e.g. monthly, quarterly, yearly)
- `schedule` (object): Refresh schedule definition
- `title` (string, required): Evidence title

### `scalepad_cm_evidence_get` (~47 tokens)

Get a single ControlMap evidence record by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID

### `scalepad_cm_evidence_update` (~105 tokens)

⚠ HIGH-IMPACT. Update a ControlMap evidence record (title, description, owner, schedule). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `description` (string): Evidence description
- `evidence_id` (string, required): Evidence ID
- `owner` (string): Owner
- `schedule` (object): Refresh schedule definition
- `title` (string): Evidence title

### `scalepad_cm_evidence_delete` (~65 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap evidence record (and its requests). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID

### `scalepad_cm_evidence_delete_schedule` (~92 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Delete the refresh schedule from a ControlMap evidence record. schedule_action controls how pending scheduled requests are handled. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID
- `schedule_action` (string): How to handle pending scheduled requests when removing the schedule

### `scalepad_cm_evidence_requests_list` (~54 tokens)

List the requests attached to a ControlMap evidence record (each request collects one round of evidence).

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID

### `scalepad_cm_evidence_requests_create` (~63 tokens)

⚠ HIGH-IMPACT. Create a new (empty) request in a ControlMap evidence record. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID

### `scalepad_cm_evidence_requests_create_with_urls` (~106 tokens)

⚠ HIGH-IMPACT. Create an evidence request on a ControlMap evidence record and get signed upload URLs for the named file (preferred for files over 10 MB). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID
- `file_name` (string, required): Name of the file to upload
- `file_size_bytes` (number, required): File size in bytes

### `scalepad_cm_evidence_requests_signed_urls` (~102 tokens)

⚠ HIGH-IMPACT. Generate signed upload URLs for a document on an existing ControlMap evidence request (preferred for files over 10 MB). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_request_id` (string, required): Evidence request ID
- `file_name` (string, required): Name of the file to upload
- `file_size_bytes` (number, required): File size in bytes

### `scalepad_cm_evidence_requests_upload_document` (~116 tokens)

⚠ HIGH-IMPACT. Upload a document (multipart, up to 10 MB) to an existing ControlMap evidence request. For larger files use the signed-URL flow (scalepad_cm_evidence_requests_signed_urls). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_request_id` (string, required): Evidence request ID
- `file` (string, required): File content, base64-encoded
- `file_name` (string): File name

### `scalepad_cm_evidence_requests_create_with_upload` (~113 tokens)

⚠ HIGH-IMPACT. Create an evidence request on a ControlMap evidence record by directly uploading a document (multipart, up to 10 MB). For larger files use scalepad_cm_evidence_requests_create_with_urls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_id` (string, required): Evidence ID
- `file` (string, required): File content, base64-encoded
- `file_name` (string): File name

### `scalepad_cm_evidence_requests_create_link` (~94 tokens)

⚠ HIGH-IMPACT. Attach a named hyperlink to a ControlMap evidence request (link-based evidence instead of a file upload). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_request_id` (string, required): Evidence request ID
- `hyperlink` (string, required): URL of the linked evidence
- `name` (string, required): Link display name

### `scalepad_cm_evidence_requests_update` (~118 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap evidence request (assignee, status, due date, notes). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `assigned_to` (string): Assignee
- `client_id` (string, required): ControlMap client ID
- `due_date` (string): Due date, ISO 8601
- `evidence_request_id` (string, required): Evidence request ID
- `notes` (string): Notes
- `status` (string): Request status

### `scalepad_cm_evidence_requests_delete` (~71 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap evidence request (and its uploaded documents/links). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_request_id` (string, required): Evidence request ID

### `scalepad_cm_evidence_requests_archive` (~68 tokens)

⚠ HIGH-IMPACT. Archive a ControlMap evidence request (removes it from active views without deleting data). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `evidence_request_id` (string, required): Evidence request ID

### `scalepad_cm_evidence_refresh_mappings` (~52 tokens)

⚠ HIGH-IMPACT. Refresh (recompute) a ControlMap client's evidence mappings. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_documents_get_signed_url` (~52 tokens)

Get a time-limited signed download URL for a ControlMap document by document ID.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `document_id` (string, required): Document ID

### `scalepad_cm_documents_delete` (~59 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap document. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `document_id` (string, required): Document ID

### `scalepad_cm_evidence_map` (~104 tokens)

⚠ HIGH-IMPACT. Map a ControlMap evidence record to framework objectives, controls, and/or assessment questions. Confirm with the user before invoking.

Input parameters:

- `assessment_question_codes` (array): Assessment question codes to map
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `evidence_id` (string, required): Evidence ID
- `objective_codes` (array): Framework objective codes to map

### `scalepad_cm_evidence_unmap` (~111 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap evidence record and framework objectives, controls, and/or assessment questions. Confirm with the user before invoking.

Input parameters:

- `assessment_question_codes` (array): Assessment question codes to unmap
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `evidence_id` (string, required): Evidence ID
- `objective_codes` (array): Framework objective codes to unmap

### `scalepad_cm_governance_search` (~165 tokens)

Search a ControlMap client's governance documents (POST search with a structured filter body; omit filter to list all). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_governance_create` (~69 tokens)

⚠ HIGH-IMPACT. Create a governance document for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `description` (string): Governance document description
- `title` (string, required): Governance document title

### `scalepad_cm_governance_get` (~49 tokens)

Get a single ControlMap governance document by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `governance_id` (string, required): Governance document ID

### `scalepad_cm_governance_update` (~180 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap governance document (title, description, code, status, data classification, review date, owner, approver, team, tags). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `approver` (string): Approver
- `client_id` (string, required): ControlMap client ID
- `code` (string): Code
- `data_classification` (string): Data classification
- `description` (string): Description
- `governance_id` (string, required): Governance document ID
- `owner` (string): Owner
- `review_date` (string): Review date, ISO 8601
- `status` (string): Status
- `tags` (array): Tags
- `team` (string): Team
- `title` (string): Title

### `scalepad_cm_governance_delete` (~63 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap governance document. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `governance_id` (string, required): Governance document ID

### `scalepad_cm_governance_map` (~101 tokens)

⚠ HIGH-IMPACT. Map a ControlMap governance document to framework objectives, policies, and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `governance_id` (string, required): Governance document ID
- `objectives` (array): Framework objectives to map
- `policy_codes` (array): Policy codes to map

### `scalepad_cm_governance_unmap` (~108 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap governance document and framework objectives, policies, and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `governance_id` (string, required): Governance document ID
- `objectives` (array): Framework objectives to unmap
- `policy_codes` (array): Policy codes to unmap

### `scalepad_cm_governance_list_summaries` (~155 tokens)

List governance overviews across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_policies_search` (~163 tokens)

Search a ControlMap client's policies (POST search with a structured filter body; omit filter to list all). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_policies_create` (~94 tokens)

⚠ HIGH-IMPACT. Create a policy for a ControlMap client, optionally from a policy template and with initial sections. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `policy_template_name` (string): Policy template to create from
- `sections` (array): Initial policy sections ({ title, description })
- `title` (string, required): Policy title

### `scalepad_cm_policies_get` (~50 tokens)

Get a single ControlMap policy by ID for a client, including its sections.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `policy_id` (string, required): Policy ID

### `scalepad_cm_policies_update` (~178 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap policy (title, code, status, data classification, review date, owner, approver, team, tags, contributors). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `approver` (string): Approver
- `client_id` (string, required): ControlMap client ID
- `code` (string): Code
- `contributors` (array): Contributor emails
- `data_classification` (string): Data classification
- `owner` (string): Owner
- `policy_id` (string, required): Policy ID
- `review_date` (string): Review date, ISO 8601
- `status` (string): Status
- `tags` (array): Tags
- `team` (string): Team
- `title` (string): Title

### `scalepad_cm_policies_delete` (~64 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap policy (and its sections). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `policy_id` (string, required): Policy ID

### `scalepad_cm_policies_upsert_section` (~113 tokens)

⚠ HIGH-IMPACT. Create or update a section of a ControlMap policy (PUT: include id to update an existing section, omit it to create one). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `description` (string): Section body/description
- `id` (string): Section ID (omit to create a new section)
- `policy_id` (string, required): Policy ID
- `title` (string, required): Section title

### `scalepad_cm_policies_delete_section` (~74 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a section from a ControlMap policy. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `policy_id` (string, required): Policy ID
- `section_id` (string, required): Section ID

### `scalepad_cm_policies_map` (~83 tokens)

⚠ HIGH-IMPACT. Map a ControlMap policy to framework objectives and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `objectives` (array): Framework objectives to map
- `policy_id` (string, required): Policy ID

### `scalepad_cm_policies_unmap` (~89 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap policy and framework objectives and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `objectives` (array): Framework objectives to unmap
- `policy_id` (string, required): Policy ID

### `scalepad_cm_policies_list_summaries` (~154 tokens)

List policy overviews across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_procedures_search` (~164 tokens)

Search a ControlMap client's procedures (POST search with a structured filter body; omit filter to list all). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_procedures_create` (~66 tokens)

⚠ HIGH-IMPACT. Create a procedure for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `description` (string): Procedure description
- `title` (string, required): Procedure title

### `scalepad_cm_procedures_get` (~47 tokens)

Get a single ControlMap procedure by ID for a client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `procedure_id` (string, required): Procedure ID

### `scalepad_cm_procedures_update` (~178 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap procedure (title, description, code, status, data classification, review date, owner, approver, team, tags). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `approver` (string): Approver
- `client_id` (string, required): ControlMap client ID
- `code` (string): Code
- `data_classification` (string): Data classification
- `description` (string): Description
- `owner` (string): Owner
- `procedure_id` (string, required): Procedure ID
- `review_date` (string): Review date, ISO 8601
- `status` (string): Status
- `tags` (array): Tags
- `team` (string): Team
- `title` (string): Title

### `scalepad_cm_procedures_delete` (~61 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap procedure. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `procedure_id` (string, required): Procedure ID

### `scalepad_cm_procedures_map` (~99 tokens)

⚠ HIGH-IMPACT. Map a ControlMap procedure to framework objectives, policies, and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `objectives` (array): Framework objectives to map
- `policy_codes` (array): Policy codes to map
- `procedure_id` (string, required): Procedure ID

### `scalepad_cm_procedures_unmap` (~106 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap procedure and framework objectives, policies, and/or controls. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `objectives` (array): Framework objectives to unmap
- `policy_codes` (array): Policy codes to unmap
- `procedure_id` (string, required): Procedure ID

### `scalepad_cm_procedures_list_summaries` (~155 tokens)

List procedure overviews across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_objectives_search` (~174 tokens)

Search the objectives of a specific compliance framework for a ControlMap client (POST search with a structured filter body). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `framework_id` (string, required): Framework ID
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_objectives_get` (~57 tokens)

Get a single framework objective by ID for a ControlMap client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `framework_id` (string, required): Framework ID
- `objective_id` (string, required): Objective ID

### `scalepad_cm_objectives_get_summary` (~41 tokens)

Get the framework objective summary for a single ControlMap client (progress across frameworks).

Input parameters:

- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_objectives_list_summaries` (~155 tokens)

List framework objective overviews across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_assessments_list_summaries` (~155 tokens)

List assessment overviews across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client tenant ID or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_assessments_get_summary` (~64 tokens)

Get the assessment summary for a single ControlMap client. Set include_framework_assessment_stats for per-framework stats.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `include_framework_assessment_stats` (boolean): Include per-framework assessment statistics

### `scalepad_cm_assessments_search_questions` (~177 tokens)

Search a ControlMap client's assessment questions (POST search with a structured filter body and optional rules). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `rules` (object): Additional rule constraints for the question search
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_assessments_get_question` (~58 tokens)

Get a single assessment question (with its answer and responses) by question code for a ControlMap client.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `question_code` (string, required): Assessment question code

### `scalepad_cm_assessments_save_answer` (~81 tokens)

⚠ HIGH-IMPACT. Save (set or replace) the answer to an assessment question for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `answer` (string, required): The answer value to save
- `client_id` (string, required): ControlMap client ID
- `question_code` (string, required): Assessment question code

### `scalepad_cm_assessments_clear_answer` (~72 tokens)

⚠ HIGH-IMPACT. Clear the saved answer of an assessment question for a ControlMap client (the question reverts to unanswered). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `question_code` (string, required): Assessment question code

### `scalepad_cm_assessments_map_question` (~122 tokens)

⚠ HIGH-IMPACT. Map an assessment question to evidence, action items, policies, and/or procedures for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to map
- `client_id` (string, required): ControlMap client ID
- `evidence_codes` (array): Evidence codes to map
- `policy_codes` (array): Policy codes to map
- `procedure_codes` (array): Procedure codes to map
- `question_code` (string, required): Assessment question code

### `scalepad_cm_assessments_unmap_question` (~129 tokens)

⚠ HIGH-IMPACT. Remove mappings between an assessment question and evidence, action items, policies, and/or procedures for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `action_item_codes` (array): Action item codes to unmap
- `client_id` (string, required): ControlMap client ID
- `evidence_codes` (array): Evidence codes to unmap
- `policy_codes` (array): Policy codes to unmap
- `procedure_codes` (array): Procedure codes to unmap
- `question_code` (string, required): Assessment question code

### `scalepad_cm_assessments_create_response` (~93 tokens)

⚠ HIGH-IMPACT. Add a free-text response to an assessment question for a ControlMap client (attributed via provided_by). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `provided_by` (string): Who provided the response
- `question_code` (string, required): Assessment question code
- `response` (string, required): Response text

### `scalepad_cm_assessments_update_response` (~106 tokens)

⚠ HIGH-IMPACT. Update an existing response on an assessment question for a ControlMap client (addressed by response id in the body). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `id` (string, required): Response ID to update
- `provided_by` (string): Who provided the response
- `question_code` (string, required): Assessment question code
- `response` (string): Response text

### `scalepad_cm_assessments_delete_response` (~80 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a response from an assessment question for a ControlMap client. Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `question_code` (string, required): Assessment question code
- `response_id` (string, required): Response ID

### `scalepad_cm_action_items_search` (~164 tokens)

Search a ControlMap client's action items (POST search with a structured filter body; omit filter to list all). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (array): Fields to include in the results
- `filter` (object): Structured filter object (field -> condition), per developer.scalepad.com. Omit to return everything.
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_cm_action_items_get` (~49 tokens)

Get a single ControlMap action item by ID for a client.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_action_items_create` (~177 tokens)

⚠ HIGH-IMPACT. Create an action item for a ControlMap client (weakness, corrective action, priority, responsible person/department, effort, roadmap, currency). Confirm with the user before invoking.

Input parameters:

- `client_id` (string, required): ControlMap client ID
- `corrective_action` (string): Planned corrective action
- `currency` (string): Currency for cost fields (ISO 4217)
- `efforts_in_hours` (number): Estimated effort in hours
- `priority` (string): Priority
- `responsible_department` (string): Responsible department
- `responsible_person` (string): Responsible person
- `roadmap` (string): Roadmap placement
- `status` (string): Action item status
- `weakness_description` (string): Weakness description
- `weakness_name` (string, required): Weakness name

### `scalepad_cm_action_items_update` (~199 tokens)

⚠ HIGH-IMPACT. Partially update a ControlMap action item (weakness, corrective action, status, priority, responsible person/department, effort, roadmap, planned start date). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `client_id` (string, required): ControlMap client ID
- `corrective_action` (string): Planned corrective action
- `efforts_in_hours` (number): Estimated effort in hours
- `planned_start_date` (string): Planned start date, ISO 8601
- `priority` (string): Priority
- `responsible_department` (string): Responsible department
- `responsible_person` (string): Responsible person
- `roadmap` (string): Roadmap placement
- `status` (string): Action item status
- `weakness_description` (string): Weakness description
- `weakness_name` (string): Weakness name

### `scalepad_cm_action_items_delete` (~63 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a ControlMap action item. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `client_id` (string, required): ControlMap client ID

### `scalepad_cm_action_items_map` (~149 tokens)

⚠ HIGH-IMPACT. Map a ControlMap action item to objectives, assessment questions, risks, controls, assets, and/or asset types. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `asset_codes` (array): Asset codes to map
- `asset_type_names` (array): Asset type names to map
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to map
- `objective_codes` (array): Framework objective codes to map
- `question_codes` (array): Assessment question codes to map
- `risk_codes` (array): Risk codes to map

### `scalepad_cm_action_items_unmap` (~159 tokens)

⚠ HIGH-IMPACT. Bulk-remove mappings between a ControlMap action item and objectives, assessment questions, risks, controls, assets, and/or asset types. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `asset_codes` (array): Asset codes to unmap
- `asset_type_names` (array): Asset type names to unmap
- `client_id` (string, required): ControlMap client ID
- `control_codes` (array): Control codes to unmap
- `objective_codes` (array): Framework objective codes to unmap
- `question_codes` (array): Assessment question codes to unmap
- `risk_codes` (array): Risk codes to unmap

### `scalepad_cm_action_items_upload_document` (~108 tokens)

⚠ HIGH-IMPACT. Upload a supporting document (multipart, up to 10 MB) to a ControlMap action item. For larger files use scalepad_cm_action_items_generate_signed_urls. Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `client_id` (string, required): ControlMap client ID
- `file` (string, required): File content, base64-encoded
- `file_name` (string): File name

### `scalepad_cm_action_items_generate_signed_urls` (~101 tokens)

⚠ HIGH-IMPACT. Generate signed upload URLs for a document on a ControlMap action item (preferred for files over 10 MB). Confirm with the user before invoking.

Input parameters:

- `action_item_id` (string, required): Action item ID
- `client_id` (string, required): ControlMap client ID
- `file_name` (string, required): Name of the file to upload
- `file_size_bytes` (number, required): File size in bytes

### `scalepad_cm_action_items_list_summaries` (~175 tokens)

List action-item summaries across all ControlMap clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by client ID, tenant ID, or name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `filter_client_name` (string): Filter by client name (filter[client.name])
- `filter_client_tenant_id` (string): Filter by client tenant ID (filter[client.tenant_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_br_backups_list_health` (~172 tokens)

List all Backup Radar clients with their backup health rollups (healthy / warning / failed counts). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. history_days controls how many days of backup history feed the health rollup. Filterable by client name.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_name` (string): Filter results to clients whose name matches (filter[client.name])
- `history_days` (number): Days of backup history to include in the health rollup
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_br_backups_get_health` (~77 tokens)

Get backup health for a single Backup Radar client by client ID, including per-device backup status. history_days controls how many days of backup history feed the health rollup.

Input parameters:

- `history_days` (number): Days of backup history to include in the health rollup
- `id` (string, required): Backup Radar client ID

### `scalepad_br_backups_list_devices` (~177 tokens)

List backup devices across Backup Radar clients. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by device name or device ID; history_days controls how many days of backup history are included per device.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_device_id` (string): Filter by backup device ID (filter[device_id])
- `filter_device_name` (string): Filter by backup device name (filter[device_name])
- `history_days` (number): Days of backup history to include per device
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_quotes_list` (~429 tokens)

List Quoter quotes. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by draft status, stage, name, client, custom number, email status, recurring interval, LM initiative, UUID, and created/updated/won/expired timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `filter_custom_number` (string): Filter by custom quote number (filter[custom_number])
- `filter_draft` (boolean): Filter by draft status (filter[draft])
- `filter_email_status` (string): Filter by email status (filter[email_status])
- `filter_expired_at` (string): Filter by expiry timestamp, ISO 8601 (filter[expired_at])
- `filter_id` (string): Filter by quote ID (filter[id])
- `filter_lm_initiative_id` (string): Filter by linked Lifecycle Manager initiative ID (filter[lm_initiative_id])
- `filter_name` (string): Filter by quote name (filter[name])
- `filter_primary` (boolean): Filter to primary quotes (filter[primary])
- `filter_record_created_at` (string): Filter by record creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by record update timestamp, ISO 8601 (filter[record_updated_at])
- `filter_recurring_interval` (string): Filter by recurring interval (filter[recurring_interval])
- `filter_stage` (string): Filter by quote stage (filter[stage])
- `filter_uuid` (string): Filter by quote UUID (filter[uuid])
- `filter_won_at` (string): Filter by won timestamp, ISO 8601 (filter[won_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_quotes_get` (~59 tokens)

Fetch a single Quoter quote by ID, including its sections and line items. (ScalePad-hosted path only — the standalone api.quoter.com docs do not expose Fetch Quote.)

Input parameters:

- `quote_id` (string, required): Quote ID

### `scalepad_quoter_quotes_create` (~215 tokens)

⚠ HIGH-IMPACT. Create a new Quoter quote (draft) for a contact from a quote template. Optional cover page, comments, currency, custom number, expiry, and internal notes. Confirm with the user before invoking.

Input parameters:

- `comments` (string): Comments shown on the quote
- `contact` (object, required): Contact for the quote (e.g. { id } of an existing Quoter contact)
- `cover_page_content` (string): Cover page content
- `cover_page_subtitle` (string): Cover page subtitle
- `cover_page_title` (string): Cover page title
- `currency_iso` (string): ISO 4217 currency code (e.g. USD)
- `custom_number` (string): Custom quote number
- `expired_at` (string): Expiry timestamp, ISO 8601
- `internal_notes` (string): Internal notes (not shown to the customer)
- `template_id` (string, required): Quote template ID (see scalepad_quoter_quote_templates_list)

### `scalepad_quoter_quotes_publish` (~68 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Publish a Quoter quote, making it visible/deliverable to the customer. A published quote cannot be reverted to draft. Confirm with the user before invoking.

Input parameters:

- `quote_id` (string, required): Quote ID to publish

### `scalepad_quoter_quotes_create_section` (~61 tokens)

⚠ HIGH-IMPACT. Create a named section on a Quoter quote (sections group line items). Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Section name
- `quote_id` (string, required): Quote ID

### `scalepad_quoter_quotes_create_section_line_item` (~195 tokens)

⚠ HIGH-IMPACT. Create a line item inside a specific section of a Quoter quote (name, quantity, pricing, discount, recurring interval, SKU/code, manufacturer, supplier). Confirm with the user before invoking.

Input parameters:

- `category` (string): Item category
- `code` (string): Item code
- `description` (string): Line item description
- `discount` (string): Discount amount or percentage
- `manufacturer` (string): Manufacturer name
- `name` (string, required): Line item name
- `quantity_decimal` (string): Quantity (decimal, as a string)
- `quote_id` (string, required): Quote ID
- `recurring_interval` (string): Recurring interval (e.g. monthly, yearly); omit for one-time
- `section_id` (string, required): Quote section ID
- `sku` (string): SKU
- `supplier` (string): Supplier name

### `scalepad_quoter_quotes_update_line_item` (~195 tokens)

⚠ HIGH-IMPACT. Partially update a line item within a section of a Quoter quote. Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `category` (string): Item category
- `code` (string): Item code
- `description` (string): Line item description
- `discount` (string): Discount amount or percentage
- `line_item_id` (string, required): Line item ID
- `manufacturer` (string): Manufacturer name
- `name` (string): Line item name
- `quantity_decimal` (string): Quantity (decimal, as a string)
- `quote_id` (string, required): Quote ID
- `recurring_interval` (string): Recurring interval (e.g. monthly, yearly); omit for one-time
- `section_id` (string, required): Quote section ID
- `sku` (string): SKU
- `supplier` (string): Supplier name

### `scalepad_quoter_line_items_create` (~163 tokens)

⚠ HIGH-IMPACT. Create a line item on a Quoter quote (top-level /v1/line-items endpoint; the quote is addressed by quote_id in the body). Confirm with the user before invoking.

Input parameters:

- `category` (string): Item category
- `description` (string): Line item description
- `manufacturer` (string): Manufacturer name
- `name` (string, required): Line item name
- `part_number` (string): Manufacturer part number
- `quantity` (number): Quantity
- `quote_id` (string, required): Quote ID the line item belongs to
- `recurring` (boolean): Whether the line item is recurring
- `supplier` (string): Supplier name
- `supplier_sku` (string): Supplier SKU

### `scalepad_quoter_quote_templates_list` (~128 tokens)

List Quoter quote templates (used as the template_id when creating quotes). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by title.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_title` (string): Filter by template title (filter[title])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_categories_list` (~214 tokens)

List Quoter catalog categories. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name, parent category, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_name` (string): Filter by category name (filter[name])
- `filter_parent_category_id` (string): Filter by parent category ID (filter[parent_category_id])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_categories_create` (~73 tokens)

⚠ HIGH-IMPACT. Create a Quoter catalog category (optionally nested under a parent category). Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Category name
- `parent_category` (string): Parent category name
- `parent_category_id` (string): Parent category ID

### `scalepad_quoter_categories_get` (~31 tokens)

Fetch a single Quoter catalog category by ID.

Input parameters:

- `id` (string, required): Category ID

### `scalepad_quoter_categories_update` (~85 tokens)

⚠ HIGH-IMPACT. Update a Quoter catalog category (name and/or parent). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Category ID
- `name` (string): Category name
- `parent_category` (string): Parent category name
- `parent_category_id` (string): Parent category ID

### `scalepad_quoter_categories_delete` (~48 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter catalog category. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Category ID

### `scalepad_quoter_item_group_assignments_list` (~228 tokens)

List Quoter item-group assignments (which items belong to which item groups). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by item group, item, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_item_group_id` (string): Filter by item group ID (filter[item_group_id])
- `filter_item_id` (string): Filter by item ID (filter[item_id])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_item_group_assignments_create` (~62 tokens)

⚠ HIGH-IMPACT. Assign a Quoter catalog item to an item group. Confirm with the user before invoking.

Input parameters:

- `item_group_id` (string, required): Item group ID
- `item_id` (string, required): Item ID

### `scalepad_quoter_item_group_assignments_get` (~37 tokens)

Fetch a single Quoter item-group assignment by ID.

Input parameters:

- `id` (string, required): Item group assignment ID

### `scalepad_quoter_item_group_assignments_delete` (~62 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter item-group assignment (removes the item from the group). Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item group assignment ID

### `scalepad_quoter_item_groups_list` (~198 tokens)

List Quoter item groups (bundles of catalog items). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_name` (string): Filter by item group name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_item_groups_create` (~44 tokens)

⚠ HIGH-IMPACT. Create a Quoter item group. Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Item group name

### `scalepad_quoter_item_groups_get` (~33 tokens)

Fetch a single Quoter item group by ID.

Input parameters:

- `id` (string, required): Item group ID

### `scalepad_quoter_item_groups_update` (~55 tokens)

⚠ HIGH-IMPACT. Update a Quoter item group's name. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item group ID
- `name` (string): Item group name

### `scalepad_quoter_item_groups_delete` (~50 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter item group. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item group ID

### `scalepad_quoter_item_option_values_list` (~266 tokens)

List Quoter item option values (the selectable values of an item option, with cost/price). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by item, option, name, code, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_code` (string): Filter by value code (filter[code])
- `filter_item_id` (string): Filter by item ID (filter[item_id])
- `filter_item_option_id` (string): Filter by item option ID (filter[item_option_id])
- `filter_name` (string): Filter by value name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_item_option_values_create` (~151 tokens)

⚠ HIGH-IMPACT. Create a value for a Quoter item option (name, code, cost/price, pricing scheme, sort order). Confirm with the user before invoking.

Input parameters:

- `code` (string): Value code
- `cost_decimal` (string): Cost (decimal, as a string)
- `cost_type` (string): Cost type
- `item_option_id` (string, required): Item option ID this value belongs to
- `name` (string, required): Value name
- `price_decimal` (string): Price (decimal, as a string)
- `pricing_scheme` (string): Pricing scheme
- `sort_order` (number): Sort order among the option's values

### `scalepad_quoter_item_option_values_get` (~36 tokens)

Fetch a single Quoter item option value by ID.

Input parameters:

- `id` (string, required): Item option value ID

### `scalepad_quoter_item_option_values_update` (~150 tokens)

⚠ HIGH-IMPACT. Update a Quoter item option value (name, code, cost/price, pricing scheme, sort order). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `code` (string): Value code
- `cost_decimal` (string): Cost (decimal, as a string)
- `cost_type` (string): Cost type
- `id` (string, required): Item option value ID
- `name` (string): Value name
- `price_decimal` (string): Price (decimal, as a string)
- `pricing_scheme` (string): Pricing scheme
- `sort_order` (number): Sort order among the option's values

### `scalepad_quoter_item_option_values_delete` (~53 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter item option value. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item option value ID

### `scalepad_quoter_item_options_list` (~219 tokens)

List Quoter item options (configurable choices on a catalog item). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by item, name, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_item_id` (string): Filter by item ID (filter[item_id])
- `filter_name` (string): Filter by option name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_item_options_create` (~138 tokens)

⚠ HIGH-IMPACT. Create an option on a Quoter catalog item (e.g. size or term choices; can be required and/or allow multiple values). Confirm with the user before invoking.

Input parameters:

- `allow_multiple_values` (boolean): Whether multiple values may be selected
- `description` (string): Option description
- `extended_description` (string): Extended description
- `item_id` (string, required): Item ID the option belongs to
- `name` (string, required): Option name
- `required` (boolean): Whether a value must be chosen
- `sort_order` (number): Sort order among the item's options

### `scalepad_quoter_item_options_get` (~33 tokens)

Fetch a single Quoter item option by ID.

Input parameters:

- `id` (string, required): Item option ID

### `scalepad_quoter_item_options_update` (~134 tokens)

⚠ HIGH-IMPACT. Update a Quoter item option (name, descriptions, required flag, multiple-values flag, sort order). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `allow_multiple_values` (boolean): Whether multiple values may be selected
- `description` (string): Option description
- `extended_description` (string): Extended description
- `id` (string, required): Item option ID
- `name` (string): Option name
- `required` (boolean): Whether a value must be chosen
- `sort_order` (number): Sort order among the item's options

### `scalepad_quoter_item_options_delete` (~54 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter item option (and its values). Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item option ID

### `scalepad_quoter_item_tiers_list` (~203 tokens)

List Quoter item pricing tiers (quantity-break pricing on a catalog item). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by item and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_item_id` (string): Filter by item ID (filter[item_id])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_item_tiers_create` (~118 tokens)

⚠ HIGH-IMPACT. Create a pricing tier on a Quoter catalog item (lower quantity boundary with tier cost/price). Confirm with the user before invoking.

Input parameters:

- `cost_decimal` (string): Tier cost (decimal, as a string)
- `cost_type` (string): Cost type
- `item_id` (string, required): Item ID the tier belongs to
- `lower_boundary` (number): Quantity at which this tier starts
- `price_decimal` (string): Tier price (decimal, as a string)

### `scalepad_quoter_item_tiers_get` (~35 tokens)

Fetch a single Quoter item pricing tier by ID.

Input parameters:

- `id` (string, required): Item tier ID

### `scalepad_quoter_item_tiers_update` (~114 tokens)

⚠ HIGH-IMPACT. Update a Quoter item pricing tier (boundary, cost, price). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `cost_decimal` (string): Tier cost (decimal, as a string)
- `cost_type` (string): Cost type
- `id` (string, required): Item tier ID
- `lower_boundary` (number): Quantity at which this tier starts
- `price_decimal` (string): Tier price (decimal, as a string)

### `scalepad_quoter_item_tiers_delete` (~52 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter item pricing tier. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item tier ID

### `scalepad_quoter_items_list` (~288 tokens)

List Quoter catalog items. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name, code, SKU, category, manufacturer, supplier, and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_category_id` (string): Filter by category ID (filter[category_id])
- `filter_code` (string): Filter by item code (filter[code])
- `filter_manufacturer_id` (string): Filter by manufacturer ID (filter[manufacturer_id])
- `filter_name` (string): Filter by item name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `filter_sku` (string): Filter by SKU (filter[sku])
- `filter_supplier_id` (string): Filter by supplier ID (filter[supplier_id])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_items_create` (~167 tokens)

⚠ HIGH-IMPACT. Create a Quoter catalog item (name, category, code, cost, description, manufacturer, internal note; decimal quantities optional). Confirm with the user before invoking.

Input parameters:

- `allow_decimal_quantities` (boolean): Allow decimal quantities on quotes
- `category` (string): Category name (alternative to category_id)
- `category_id` (string, required): Category ID
- `code` (string): Item code
- `cost_decimal` (string): Cost (decimal, as a string)
- `cost_type` (string): Cost type
- `description` (string): Item description
- `internal_note` (string): Internal note (not shown to customers)
- `manufacturer` (string): Manufacturer name
- `name` (string, required): Item name

### `scalepad_quoter_items_get` (~31 tokens)

Fetch a single Quoter catalog item by ID.

Input parameters:

- `id` (string, required): Item ID

### `scalepad_quoter_items_update` (~182 tokens)

⚠ HIGH-IMPACT. Update a Quoter catalog item (category, code, cost, description, manufacturer, internal note, decimal-quantity flag). Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `allow_decimal_quantities` (boolean): Allow decimal quantities on quotes
- `category` (string): Category name (alternative to category_id)
- `category_id` (string): Category ID
- `code` (string): Item code
- `cost_decimal` (string): Cost (decimal, as a string)
- `cost_type` (string): Cost type
- `description` (string): Item description
- `id` (string, required): Item ID
- `internal_note` (string): Internal note (not shown to customers)
- `manufacturer` (string): Manufacturer name
- `manufacturer_id` (string): Manufacturer ID

### `scalepad_quoter_items_delete` (~48 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter catalog item. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Item ID

### `scalepad_quoter_manufacturers_list` (~191 tokens)

List Quoter manufacturers. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_name` (string): Filter by manufacturer name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_manufacturers_create` (~43 tokens)

⚠ HIGH-IMPACT. Create a Quoter manufacturer. Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Manufacturer name

### `scalepad_quoter_manufacturers_get` (~32 tokens)

Fetch a single Quoter manufacturer by ID.

Input parameters:

- `id` (string, required): Manufacturer ID

### `scalepad_quoter_manufacturers_update` (~53 tokens)

⚠ HIGH-IMPACT. Update a Quoter manufacturer's name. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Manufacturer ID
- `name` (string): Manufacturer name

### `scalepad_quoter_manufacturers_delete` (~49 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter manufacturer. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Manufacturer ID

### `scalepad_quoter_contacts_list` (~372 tokens)

List Quoter contacts. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name, email, billing email, phone, organization, address fields, client, and creation timestamp.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_address` (string): Filter by address (filter[address])
- `filter_billing_email` (string): Filter by billing email (filter[billing_email])
- `filter_city` (string): Filter by city (filter[city])
- `filter_client_id` (string): Filter by client ID (filter[client.id])
- `filter_country` (string): Filter by country (filter[country])
- `filter_email` (string): Filter by email (filter[email])
- `filter_first_name` (string): Filter by first name (filter[first_name])
- `filter_id` (string): Filter by contact ID (filter[id])
- `filter_last_name` (string): Filter by last name (filter[last_name])
- `filter_organization` (string): Filter by organization (filter[organization])
- `filter_phone` (string): Filter by phone (filter[phone])
- `filter_postal_code` (string): Filter by postal code (filter[postal_code])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_region` (string): Filter by region/state (filter[region])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_contacts_create` (~170 tokens)

⚠ HIGH-IMPACT. Create a Quoter contact with billing and/or shipping details; optionally linked to a client. At minimum provide billing name/email details. Confirm with the user before invoking.

Input parameters:

- `billing_address` (string): Billing address
- `billing_email` (string): Billing email
- `billing_first_name` (string): Billing first name
- `billing_last_name` (string): Billing last name
- `billing_mobile_phone` (string): Billing mobile phone
- `billing_organization` (string): Billing organization
- `billing_work_phone` (string): Billing work phone
- `client` (object): Client to link the contact to (e.g. { id })
- `shipping_address` (string): Shipping address
- `shipping_email` (string): Shipping email

### `scalepad_quoter_contacts_get` (~30 tokens)

Fetch a single Quoter contact by ID.

Input parameters:

- `id` (string, required): Contact ID

### `scalepad_quoter_contacts_update` (~164 tokens)

⚠ HIGH-IMPACT. Update a Quoter contact's billing and/or shipping details. Only the provided fields change. Confirm with the user before invoking.

Input parameters:

- `billing_address` (string): Billing address
- `billing_email` (string): Billing email
- `billing_first_name` (string): Billing first name
- `billing_last_name` (string): Billing last name
- `billing_mobile_phone` (string): Billing mobile phone
- `billing_organization` (string): Billing organization
- `billing_work_phone` (string): Billing work phone
- `id` (string, required): Contact ID
- `shipping_address` (string): Shipping address
- `shipping_email` (string): Shipping email
- `shipping_first_name` (string): Shipping first name

### `scalepad_quoter_suppliers_list` (~190 tokens)

List Quoter suppliers. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by name and created/updated timestamps.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `fields` (string): Comma-separated list of fields to include in the response
- `filter_name` (string): Filter by supplier name (filter[name])
- `filter_record_created_at` (string): Filter by creation timestamp, ISO 8601 (filter[record_created_at])
- `filter_record_updated_at` (string): Filter by update timestamp, ISO 8601 (filter[record_updated_at])
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_suppliers_create` (~42 tokens)

⚠ HIGH-IMPACT. Create a Quoter supplier. Confirm with the user before invoking.

Input parameters:

- `name` (string, required): Supplier name

### `scalepad_quoter_suppliers_get` (~31 tokens)

Fetch a single Quoter supplier by ID.

Input parameters:

- `id` (string, required): Supplier ID

### `scalepad_quoter_suppliers_update` (~53 tokens)

⚠ HIGH-IMPACT. Update a Quoter supplier's name. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Supplier ID
- `name` (string): Supplier name

### `scalepad_quoter_suppliers_delete` (~48 tokens)

⚠ DESTRUCTIVE — IRREVERSIBLE. Permanently delete a Quoter supplier. Confirm with the user before invoking.

Input parameters:

- `id` (string, required): Supplier ID

### `scalepad_quoter_datafeeds_list_supplier_items` (~122 tokens)

List supplier items from Quoter's datafeeds (distributor price/availability feeds). Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page. Filterable by manufacturer part number (MPN).

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `filter_mpn` (string): Filter by manufacturer part number (filter[mpn])
- `page_size` (number): Results per page, 1-200 (default 50)

### `scalepad_quoter_datafeeds_list_suppliers` (~104 tokens)

List suppliers available through Quoter's datafeeds. Cursor-paginated: pass page_size (1-200, default 50) and the cursor returned by the previous page.

Input parameters:

- `cursor` (string): Opaque pagination cursor from the previous page
- `page_size` (number): Results per page, 1-200 (default 50)
- `sort` (string): Sort expression (field name, prefix with '-' for descending)

### `scalepad_quoter_auth_authorize` (~153 tokens)

Exchange Quoter OAuth client credentials (grant_type=client_credentials) for an access_token (1 hour TTL) and refresh_token. STANDALONE api.quoter.com ONLY — not needed for the default ScalePad-hosted path, and requires the X-Quoter-Client-Id / X-Quoter-Client-Secret credentials. Omit client_id/secret to use the configured credentials.

Input parameters:

- `client_id` (string): Quoter OAuth client ID (defaults to the configured quoterClientId)
- `grant_type` (string): OAuth grant type (default: client_credentials)
- `secret` (string): Quoter OAuth client secret (defaults to the configured quoterClientSecret)

### `scalepad_quoter_auth_refresh` (~65 tokens)

Exchange a Quoter refresh_token for a new access/refresh token pair. STANDALONE api.quoter.com ONLY — not needed for the default ScalePad-hosted path.

Input parameters:

- `refresh_token` (string, required): Refresh token from a previous authorize/refresh call

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5#diagnostics

## Score history

- 2026-08-22: 40
- 2026-08-21: 40
- 2026-08-20: 40

## Links

- Repository: https://github.com/wyre-technology/scalepad-mcp
- Changelog RSS feed: https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5.xml
- Changelog JSON feed: https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5.json
- HTML version of this page: https://verifymcp.io/servers/wyre-technology-scalepad-mcp/ghcr-io-wyre-technology-scalepad-mcp-v1-0-5
