> For the complete documentation index, see [llms.txt](https://developers.spiffy.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.spiffy.co/connectors/spiffy/tools.md).

# Tools reference

The connector exposes Spiffy's v2 API as MCP tools, one tool per API operation. Tools are named mechanically:

* `list_*`: list or search a collection (read-only)
* `get_*`: fetch a single record (read-only)
* `create_*`: create a record or perform an action (write)
* `update_*`: modify a record (write)
* `delete_*`: remove a record (destructive)

Every tool carries MCP annotations. Read tools are marked `readOnlyHint`. Write and destructive tools are not, so a well-behaved client asks you to confirm before running them. All tools act only on the authenticated merchant's own data (`openWorldHint: false`).

The Type column below uses those annotations:

* Read: `readOnlyHint: true`, no data changes.
* Write: creates or modifies data.
* Destructive: deletes or cancels data; `destructiveHint: true`.

Tool availability depends on the [scopes you granted](/connectors/spiffy/setup.md#accounts-and-scopes).

> The list below documents the tools at time of writing. Because tools are generated 1:1 from the v2 API, new endpoints appear as new tools automatically. The authoritative, always-current list is whatever the connector advertises via MCP `tools/list` after you connect.

## Utility tools

These have no v2 API analog. They help the assistant reason correctly about time and find answers in Spiffy's docs.

| Tool               | Type | Description                                                                                                                             |
| ------------------ | ---- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `get_utc_time`     | Read | Returns the current UTC time plus your account's configured time zone. The assistant calls this to anchor relative dates ("last week"). |
| `convert_to_utc`   | Read | Converts a local time to UTC ISO 8601, honoring DST. Use when a request mentions a local time.                                          |
| `search_help_docs` | Read | Natural-language search over Spiffy University (help articles, release notes, tutorials).                                               |
| `get_help_article` | Read | Fetches the full markdown of a specific help article found via search.                                                                  |

> **Dates are UTC.** The v2 API treats timestamps as UTC and silently drops time zone offsets. The connector tells the assistant to convert local times with the two tools above; you can also state times in UTC directly.

## Accounts

| Tool            | Type | Description                                          |
| --------------- | ---- | ---------------------------------------------------- |
| `list_accounts` | Read | List the Spiffy accounts this connection can access. |
| `get_account`   | Read | Get details for a single account.                    |

## Customers

| Tool                     | Type        | Description                                  |
| ------------------------ | ----------- | -------------------------------------------- |
| `list_customers`         | Read        | Search and list customers.                   |
| `get_customer`           | Read        | Get a single customer.                       |
| `update_customer`        | Write       | Update a customer's details.                 |
| `preview_customer_merge` | Read        | Preview the result of merging two customers. |
| `merge_customers`        | Write       | Merge two customer records into one.         |
| `list_customer_cards`    | Read        | List a customer's saved payment cards.       |
| `create_customer_card`   | Write       | Add a saved card to a customer.              |
| `delete_customer_card`   | Destructive | Remove a saved card from a customer.         |
| `create_customer_note`   | Write       | Add a note to a customer.                    |

## Orders

| Tool                             | Type        | Description                                        |
| -------------------------------- | ----------- | -------------------------------------------------- |
| `list_orders`                    | Read        | Search and list orders.                            |
| `get_order`                      | Read        | Get a single order.                                |
| `update_order`                   | Write       | Update an order.                                   |
| `update_order_items_canceled`    | Write       | Cancel specific items on an order.                 |
| `refund_order`                   | Destructive | Refund an order.                                   |
| `create_order_note`              | Write       | Add a note to an order.                            |
| `get_order_affiliate_program`    | Read        | Get the affiliate program attribution on an order. |
| `update_order_affiliate_program` | Write       | Change an order's affiliate attribution.           |
| `delete_order_affiliate`         | Destructive | Remove affiliate attribution from an order.        |

## Subscriptions

| Tool                                  | Type        | Description                                  |
| ------------------------------------- | ----------- | -------------------------------------------- |
| `list_subscriptions`                  | Read        | Search and list subscriptions.               |
| `get_subscription`                    | Read        | Get a single subscription.                   |
| `cancel_subscription`                 | Destructive | Cancel a subscription.                       |
| `update_subscription_uncancel`        | Write       | Reverse a pending cancellation.              |
| `update_subscription_hardresume`      | Write       | Force-resume a paused/past-due subscription. |
| `update_subscription_earlyrenewal`    | Write       | Trigger an early renewal.                    |
| `update_subscription_nextbillingdate` | Write       | Change the next billing date.                |
| `update_subscription_price`           | Write       | Change the subscription price.               |
| `update_subscription_discount`        | Write       | Apply or change a subscription discount.     |
| `delete_subscription_discount`        | Destructive | Remove a subscription discount.              |
| `create_subscription_payment`         | Write       | Take a payment on a subscription.            |
| `create_subscription_card`            | Write       | Add a card to a subscription.                |
| `update_subscription_card`            | Write       | Change the card on a subscription.           |
| `create_subscription_note`            | Write       | Add a note to a subscription.                |

## Payment plans

| Tool                                 | Type        | Description                        |
| ------------------------------------ | ----------- | ---------------------------------- |
| `list_paymentplans`                  | Read        | Search and list payment plans.     |
| `get_paymentplan`                    | Read        | Get a single payment plan.         |
| `update_paymentplan_terms`           | Write       | Change a payment plan's terms.     |
| `update_paymentplan_nextbillingdate` | Write       | Change the next billing date.      |
| `update_paymentplan_cancel`          | Destructive | Cancel a payment plan.             |
| `create_paymentplan_pay`             | Write       | Take a payment on a payment plan.  |
| `create_paymentplan_card`            | Write       | Add a card to a payment plan.      |
| `update_paymentplan_card`            | Write       | Change the card on a payment plan. |
| `create_paymentplan_note`            | Write       | Add a note to a payment plan.      |

## Payments

| Tool                   | Type        | Description               |
| ---------------------- | ----------- | ------------------------- |
| `list_payments`        | Read        | Search and list payments. |
| `get_payment`          | Read        | Get a single payment.     |
| `create_payment_retry` | Write       | Retry a failed payment.   |
| `refund_payment`       | Destructive | Refund a payment.         |

## Products

| Tool                            | Type        | Description                               |
| ------------------------------- | ----------- | ----------------------------------------- |
| `list_products`                 | Read        | Search and list products.                 |
| `get_product`                   | Read        | Get a single product.                     |
| `list_product_counts`           | Read        | Get aggregate product counts.             |
| `create_product`                | Write       | Create a product.                         |
| `update_product`                | Write       | Update a product.                         |
| `delete_product`                | Destructive | Delete a product.                         |
| `list_product_actions`          | Read        | List a product's post-purchase actions.   |
| `update_product_actions`        | Write       | Update a product's post-purchase actions. |
| `create_product_option`         | Write       | Add an option to a product.               |
| `update_product_option`         | Write       | Update a product option.                  |
| `delete_product_option`         | Destructive | Delete a product option.                  |
| `sort_product_options`          | Write       | Reorder a product's options.              |
| `list_product_option_actions`   | Read        | List a product option's actions.          |
| `update_product_option_actions` | Write       | Update a product option's actions.        |
| `create_product_price`          | Write       | Add a price to a product.                 |
| `create_product_option_price`   | Write       | Add a price to a product option.          |
| `update_product_option_price`   | Write       | Update a product option price.            |
| `delete_product_option_price`   | Destructive | Delete a product option price.            |
| `move_product_option_price`     | Write       | Move a price between options.             |

## Promos

| Tool                   | Type        | Description                  |
| ---------------------- | ----------- | ---------------------------- |
| `list_promos`          | Read        | Search and list promo codes. |
| `get_promo`            | Read        | Get a single promo.          |
| `create_promo`         | Write       | Create a promo code.         |
| `update_promo`         | Write       | Update a promo code.         |
| `delete_promo`         | Destructive | Delete a promo code.         |
| `list_promo_actions`   | Read        | List a promo's actions.      |
| `update_promo_actions` | Write       | Update a promo's actions.    |

## Affiliates

| Tool                             | Type        | Description                                                                                                               |
| -------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- |
| `list_affiliates`                | Read        | Search and list affiliates.                                                                                               |
| `get_affiliate`                  | Read        | Get a single affiliate.                                                                                                   |
| `create_affiliate`               | Write       | Create an affiliate.                                                                                                      |
| `update_affiliate`               | Write       | Update an affiliate.                                                                                                      |
| `update_affiliate_checkslugs`    | Write       | Check whether affiliate slugs are available. (Annotated as a write because it is a `PUT` route; it does not modify data.) |
| `list_affiliate_payouts`         | Read        | List affiliate payouts.                                                                                                   |
| `get_affiliate_payout`           | Read        | Get a single affiliate payout.                                                                                            |
| `list_affiliate_payout_current`  | Read        | List the current (open) payout period.                                                                                    |
| `list_affiliate_payout_download` | Read        | Get a downloadable payout export.                                                                                         |
| `create_affiliate_payout`        | Write       | Create an affiliate payout.                                                                                               |
| `update_affiliate_payout`        | Write       | Update an affiliate payout.                                                                                               |
| `delete_affiliate_payout`        | Destructive | Delete an affiliate payout.                                                                                               |

## Affiliate programs

| Tool                                             | Type        | Description                                                                                                          |
| ------------------------------------------------ | ----------- | -------------------------------------------------------------------------------------------------------------------- |
| `list_affiliate_programs`                        | Read        | List affiliate programs.                                                                                             |
| `get_affiliate_program`                          | Read        | Get a single affiliate program.                                                                                      |
| `create_affiliate_program`                       | Write       | Create an affiliate program.                                                                                         |
| `update_affiliate_program`                       | Write       | Update an affiliate program.                                                                                         |
| `delete_affiliate_program`                       | Destructive | Delete an affiliate program.                                                                                         |
| `list_affiliate_program_affiliates`              | Read        | List affiliates in a program.                                                                                        |
| `create_affiliate_program_affiliate`             | Write       | Add an affiliate to a program.                                                                                       |
| `delete_affiliate_program_affiliate`             | Destructive | Remove an affiliate from a program.                                                                                  |
| `create_affiliate_program_affiliate_adjustments` | Write       | Add commission adjustments for an affiliate.                                                                         |
| `list_affiliate_program_links`                   | Read        | List a program's tracking links.                                                                                     |
| `create_affiliate_program_link`                  | Write       | Create a tracking link.                                                                                              |
| `update_affiliate_program_link`                  | Write       | Update a tracking link.                                                                                              |
| `update_affiliate_program_link_checkslugs`       | Write       | Check whether link slugs are available. (Annotated as a write because it is a `PUT` route; it does not modify data.) |
| `delete_affiliate_program_link`                  | Destructive | Delete a tracking link.                                                                                              |
| `list_affiliate_program_options`                 | Read        | List a program's product options.                                                                                    |
| `create_affiliate_program_option`                | Write       | Add an option to a program.                                                                                          |
| `update_affiliate_program_option`                | Write       | Update a program option.                                                                                             |
| `delete_affiliate_program_option`                | Destructive | Remove an option from a program.                                                                                     |
| `list_affiliate_program_prices`                  | Read        | List a program's prices.                                                                                             |
| `create_affiliate_program_price`                 | Write       | Add a price to a program.                                                                                            |
| `update_affiliate_program_price`                 | Write       | Update a program price.                                                                                              |
| `delete_affiliate_program_price`                 | Destructive | Remove a price from a program.                                                                                       |
| `list_affiliate_program_checkout_items`          | Read        | List a program's checkout items.                                                                                     |
| `create_affiliate_program_checkout`              | Write       | Add a checkout to a program.                                                                                         |
| `update_affiliate_program_checkout`              | Write       | Update a program checkout.                                                                                           |
| `delete_affiliate_program_checkout`              | Destructive | Remove a checkout from a program.                                                                                    |

## Webhooks

| Tool                             | Type        | Description                           |
| -------------------------------- | ----------- | ------------------------------------- |
| `list_webhookendpoints`          | Read        | List webhook endpoints.               |
| `get_webhookendpoints`           | Read        | Get a single webhook endpoint.        |
| `create_webhookendpoints`        | Write       | Create a webhook endpoint.            |
| `update_webhookendpoints`        | Write       | Update a webhook endpoint.            |
| `delete_webhookendpoints`        | Destructive | Delete a webhook endpoint.            |
| `rotate_webhook_endpoint_secret` | Write       | Rotate an endpoint's signing secret.  |
| `test_webhook_endpoint`          | Write       | Send a test event to an endpoint.     |
| `list_webhookendpoints_events`   | Read        | List events delivered to an endpoint. |
| `get_webhookendpoints_event`     | Read        | Get a single delivered event.         |
| `retry_webhook_event`            | Write       | Retry delivery of a webhook event.    |
| `list_webhookevents`             | Read        | List webhook events.                  |
| `list_webhookeventtypes`         | Read        | List available webhook event types.   |

## Integrations

| Tool                             | Type | Description                                         |
| -------------------------------- | ---- | --------------------------------------------------- |
| `list_integration_entity_fields` | Read | List the fields available on an integration entity. |
