---
title: "Tool catalog"
description: "Reference for MCP read, action, analytics, and presentation tools."
canonical: "https://studio.inttegro.com/inttegro-mcp/tools"
format: inttegro-machine-docs/v1
language: "Ruby"
sdk_version: "v10.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/ruby/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 410
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "curated"
recommended_mcp_tools: []
estimated_tokens: 9054
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Use this catalog to select a named MCP ability by task and confirm its read, action, analytics, or presentation boundary before invoking it.

### Five questions

#### Q1. How should a machine find the right tool quickly?

Match the task to the catalog section and stable tool anchor. Use [merchant workflows](https://studio.inttegro.com/machine/ruby/inttegro-mcp/workflows.md) when several tools must be composed, and [connection setup](https://studio.inttegro.com/machine/ruby/inttegro-mcp/connect.md) if the client has not discovered this catalog yet.

#### Q2. When is an analytics tool preferable to a list tool?

For totals, rankings, or trends, use analytics. A list tool returns a bounded page of records, not full account history; do not sum one page and call it an aggregate.

#### Q3. What must happen before an action changes state?

Read the action description and present its exact consequence for confirmation. Host-level approval is not a substitute for the tool's required form confirmation; a client without compatible elicitation should stay on read-only abilities.

#### Q4. Where do payment secrets and customer OTP belong?

Never in chat or tool arguments. A money-moving action may prepare a masked method choice and exact amount, but new payment details and OTP remain in secure Inttegro Checkout.

#### Q5. Which result should be used to verify a business outcome?

Preserve the structured tool result and make a current read for asynchronous outcomes. A rendered card is presentation, an accepted refund is not succeeded, and a bounded list cannot replace its authoritative lookup.

## Document content

# Tool catalog

Every authenticated client discovers the same authorized catalog. The server exposes 35 data-read tools, 37 action tools, three read-only integration-guidance tools, and five optional presentation tools for compatible hosts: 80 tools in total. Money-moving actions still require exact confirmation; payment details and OTP stay in secure Inttegro Checkout. Each tool below has a stable anchor so endpoint references and workflow guides can link to it directly.

## Read and analytics tools

<a id="get_country_specifications"></a>

### get\_country\_specifications

Get country specifications. Lists Commerce-supported countries, currencies, payment methods, payout schedules, and onboarding capabilities.

- Kind: read; no mutation confirmation
- API endpoints: /spec/countries

> Example request: Show the supported countries and tell me which currencies and payment methods are available in Ghana.

<a id="list_orders"></a>

### list\_orders

List orders. Lists a bounded page of recent orders with totals and status, excluding customer contact and address data.

- Kind: read; no mutation confirmation
- API endpoints: /orders/page

> Example request: List the 25 most recent orders and summarize which ones still need payment.

<a id="get_order"></a>

### get\_order

Get order. Gets one order by ID with a minimized, contact-free projection of order, payment, and timing state.

- Kind: read; no mutation confirmation
- API endpoints: /orders/lookup

> Example request: Look up order \<ORDER\_ID> and summarize its order status, payment status, total, and latest timestamps.

<a id="get_balances"></a>

### get\_balances

Get balances. Gets current balance snapshots by currency with exact familiar-unit amounts and supplemental machine-readable minor units. This tool cannot move funds.

- Kind: read; no mutation confirmation
- API endpoints: /balances

> Example request: Show my current balances by currency and explain available versus pending amounts without moving funds.

<a id="list_balance_transactions"></a>

### list\_balance\_transactions

List balance transactions. Lists a bounded page of balance activity with related order and payment IDs, all current refund and payout allocations, and exact familiar-unit amount summaries.

- Kind: read; no mutation confirmation
- API endpoints: /balance\_transactions/page

> Example request: List the latest balance transactions and explain how their amounts are available, pending, or spent.

<a id="list_payouts"></a>

### list\_payouts

List payouts. Lists a bounded page of payouts with status, minimized failure detail, destination IDs, and exact familiar-unit amounts.

- Kind: read; no mutation confirmation
- API endpoints: /payouts/page

> Example request: List recent payouts and group them by status, using only the returned page.

<a id="get_payout"></a>

### get\_payout

Get payout. Gets one payout by ID with status, amount, timing, and minimized reconciliation detail. This tool cannot move funds.

- Kind: read; no mutation confirmation
- API endpoints: /payouts/lookup

> Example request: Look up payout \<PAYOUT\_ID> and summarize its status, amount, destination, and timing.

<a id="get_payout_settings"></a>

### get\_payout\_settings

Get payout settings. Gets automatic payout schedule, FX status, and currency-to-destination mappings without changing them.

- Kind: read; no mutation confirmation
- API endpoints: /payouts/settings

> Example request: Show my payout settings and explain which currencies have configured destinations.

<a id="list_products"></a>

### list\_products

List products. Lists a bounded page of catalog products with status and compact price summaries, excluding custom metadata and fulfillment detail.

- Kind: read; no mutation confirmation
- API endpoints: /products/page

> Example request: List active products and summarize the price ranges returned on this page.

<a id="get_product"></a>

### get\_product

Get product. Gets one catalog product by ID with a compact, metadata-minimized projection.

- Kind: read; no mutation confirmation
- API endpoints: /products/lookup

> Example request: Look up product \<PRODUCT\_ID> and show its status and compact price summary.

<a id="list_prices"></a>

### list\_prices

List prices. Lists a bounded page of catalog prices, optionally restricted to one product, with exact familiar-unit amounts.

- Kind: read; no mutation confirmation
- API endpoints: /prices/page

> Example request: List prices for product \<PRODUCT\_ID> and show active prices in GHS.

<a id="get_price"></a>

### get\_price

Get price. Gets one catalog price by ID with its amount and compact related-product identity.

- Kind: read; no mutation confirmation
- API endpoints: /prices/lookup

> Example request: Look up price \<PRICE\_ID> and tell me its amount, currency, active state, and product.

<a id="get_payment_method_settings"></a>

### get\_payment\_method\_settings

Get payment method settings. Gets enabled and confirmation-required settings for each payment method type without exposing payment credentials.

- Kind: read; no mutation confirmation
- API endpoints: /payment\_methods/settings

> Example request: Show my payment method settings and explain which payment methods require confirmation.

<a id="list_customers"></a>

### list\_customers

List customers. Lists a bounded page of customers with channel availability, countries, and balance summaries. Raw contact and address fields are excluded.

- Kind: read; no mutation confirmation
- API endpoints: /customers/page

> Example request: List recent customers and show which ones have SMS or email channels available.

<a id="get_customer"></a>

### get\_customer

Get customer. Gets one customer by ID using a minimized projection that reports channel availability without exposing raw contact details.

- Kind: read; no mutation confirmation
- API endpoints: /customers/lookup

> Example request: Look up customer \<CUSTOMER\_ID> and summarize their available channels and balance summary.

<a id="list_buy_links"></a>

### list\_buy\_links

List buy links. Lists a bounded page of product buy links with status, quantity rules, and public URLs.

- Kind: read; no mutation confirmation
- API endpoints: /purchase\_intents/page

> Example request: List recent buy links and identify which returned links are active.

<a id="get_buy_link"></a>

### get\_buy\_link

Get buy link. Gets one buy link and its current lifecycle status by purchase-intent ID.

- Kind: read; no mutation confirmation
- API endpoints: /purchase\_intents/lookup

> Example request: Look up buy link \<PURCHASE\_INTENT\_ID> and show its URL, quantity rules, and lifecycle status.

<a id="list_messages"></a>

### list\_messages

List messages. Lists recent customer-message delivery statuses. Message bodies, recipients, provider payloads, and delivery addresses are excluded.

- Kind: read; no mutation confirmation
- API endpoints: /chimes/page

> Example request: List recent messages and summarize delivery statuses without exposing message bodies or recipients.

<a id="get_message"></a>

### get\_message

Get message. Gets the lifecycle status of one customer message without exposing its body or recipient contact details.

- Kind: read; no mutation confirmation
- API endpoints: /chimes/lookup

> Example request: Look up message \<CHIME\_ID> and tell me its delivery status and timestamps.

<a id="list_message_templates"></a>

### list\_message\_templates

List message templates. Lists a bounded page of reusable SMS and email templates with lifecycle, locale, variable contracts, and version state. Message bodies are excluded.

- Kind: read; no mutation confirmation
- API endpoints: /message\_templates/page

> Example request: List published English SMS templates for order updates and show whether any have unpublished changes.

<a id="get_message_template"></a>

### get\_message\_template

Get message template. Gets one template with editable channel content and version state while withholding variable defaults and private email-header values.

- Kind: read; no mutation confirmation
- API endpoints: /message\_templates/lookup

> Example request: Look up message template \<MESSAGE\_TEMPLATE\_ID> and show its editable content, variables, and publication state.

<a id="preview_message_template"></a>

### preview\_message\_template

Preview message template. Renders the current draft with supplied non-secret variables so the merchant can review the actual SMS or email before publishing.

- Kind: read; no mutation confirmation
- API endpoints: /message\_templates/render\_preview

> Example request: Preview message template \<MESSAGE\_TEMPLATE\_ID> with representative values and show the exact rendered copy.

<a id="list_files"></a>

### list\_files

List files. Lists bounded file metadata and processing state without returning bytes, checksums, storage details, or unrestricted custom data.

- Kind: read; no mutation confirmation
- API endpoints: /files/page

> Example request: List the latest available invoice files and summarize their type, size, and processing state.

<a id="get_file"></a>

### get\_file

Get file. Gets safe metadata for one file without returning its bytes or provider and storage internals.

- Kind: read; no mutation confirmation
- API endpoints: /files/lookup

> Example request: Look up file \<FILE\_ID> and show its safe metadata and availability state.

<a id="list_file_links"></a>

### list\_file\_links

List file links. Lists expiring or revoked file-link metadata without returning bearer-capability URLs.

- Kind: read; no mutation confirmation
- API endpoints: /file\_links/page

> Example request: List active links for file \<FILE\_ID> and show their expiry and access limits without revealing the URLs.

<a id="get_file_link"></a>

### get\_file\_link

Get file link. Gets lifecycle and access metadata for one file link while withholding its bearer-capability URL.

- Kind: read; no mutation confirmation
- API endpoints: /file\_links/lookup

> Example request: Look up file link \<FILE\_LINK\_ID> and tell me whether it is active, expired, or revoked.

<a id="prepare_order_payment"></a>

### prepare\_order\_payment

Prepare order payment. Returns the exact major-unit order total, only masked active payment-method choices, and a trusted secure-checkout URL without exposing payment credentials.

- Kind: read; no mutation confirmation
- API endpoints: /orders/lookup, /payment\_methods/page

> Example request: Prepare payment choices for order \<ORDER\_ID>. Show masked saved methods and let me choose one or secure entry for a new method.

<a id="get_refund_options"></a>

### get\_refund\_options

Get refund options. Returns numbered order lines, exact major-unit paid amounts, existing reservations, and conservative remaining refundable amounts.

- Kind: read; no mutation confirmation
- API endpoints: /orders/lookup

> Example request: Prepare a refund for order \<ORDER\_ID>. Show me the numbered refundable lines and remaining amounts, then guide me through the choices.

<a id="list_refunds"></a>

### list\_refunds

List refunds. Lists a bounded page of refunds with per-line allocations, reasons, timestamps, and lifecycle status.

- Kind: read; no mutation confirmation
- API endpoints: /refunds/page

> Example request: List the latest refunds and distinguish pending, processing, succeeded, failed, and canceled states.

<a id="get_refund"></a>

### get\_refund

Get refund. Gets one refund for authoritative lifecycle reconciliation. Only succeeded means the refund completed.

- Kind: read; no mutation confirmation
- API endpoints: /refunds/lookup

> Example request: Look up refund \<REFUND\_ID> and tell me whether it actually succeeded, including its exact line allocations.

<a id="get_order_analytics"></a>

### get\_order\_analytics

Get order analytics. Compares order volume, paid orders, cancellations, expirations, and gross sales for a 7, 30, or 90 day period with exact daily values and a Flint chart.

- Kind: analytics read; no mutation confirmation

> Example request: Show order analytics for the last 30 days in GHS, including exact daily values and the chart.

<a id="get_product_analytics"></a>

### get\_product\_analytics

Get product analytics. Ranks products or inspects one product by paid orders, units sold, and gross revenue for a selected period and currency.

- Kind: analytics read; no mutation confirmation

> Example request: Rank products by gross revenue over the last 30 days in GHS and include paid orders and units sold.

<a id="get_customer_analytics"></a>

### get\_customer\_analytics

Get customer analytics. Ranks customers or inspects one customer by paid orders and gross revenue, alongside the exact new-customer count for the period.

- Kind: analytics read; no mutation confirmation

> Example request: Show the top customers for the last 90 days in GHS without exposing contact details.

<a id="get_payout_analytics"></a>

### get\_payout\_analytics

Get payout analytics. Compares payout starts, successes, failures, cancellations, lateness, and exact requested, disbursed, and failed amounts.

- Kind: analytics read; no mutation confirmation

> Example request: Show payout performance for the last 30 days in GHS, including exact lifecycle counts, the disbursed amount in major units, and the chart.

<a id="get_message_analytics"></a>

### get\_message\_analytics

Get message analytics. Compares initialized, delivered, and failed customer-message activity, including a clearly labeled delivered-to-initialized period ratio, without message bodies or contact details.

- Kind: analytics read; no mutation confirmation

> Example request: Show customer-message delivery performance for the last 30 days, including exact counts, rate, and the chart.

## Confirmed action tools

<a id="create_customer"></a>

### create\_customer

Create customer. Creates a customer with optional contact and delivery details. Sensitive input is sent only to Commerce and is not echoed in the result.

- Kind: action; exact user confirmation required
- API endpoints: /customers/create

> Example request: Create a customer named \<NAME> with the provided phone and email. Ask me to confirm before creating it.

<a id="create_customer_from_contact"></a>

### create\_customer\_from\_contact

Create customer from contact. Creates a customer from contact data explicitly selected in the host, resolving any name, email, phone, or address alternatives before confirmation. The MCP cannot browse an address book.

- Kind: action; exact user confirmation required
- API endpoints: /customers/create

> Example request: Create an Inttegro customer from the contact I selected. Let me resolve any alternatives and confirm before creating it.

<a id="update_customer"></a>

### update\_customer

Update customer. Updates selected customer identity, contact, or delivery fields without returning raw contact or address data.

- Kind: action; exact user confirmation required
- API endpoints: /customers/update

> Example request: Update customer \<CUSTOMER\_ID> with the new display name \<NAME>. Ask me to confirm before changing it.

<a id="create_order"></a>

### create\_order

Create order. Creates an order for an existing customer from catalog product and price IDs. This tool never executes payment; finalize defaults to false.

- Kind: action; exact user confirmation required
- API endpoints: /orders/create

> Example request: Create and finalize an order for customer \<CUSTOMER\_ID> with product \<PRODUCT\_ID> and price \<PRICE\_ID>. Do not execute payment.

<a id="update_order"></a>

### update\_order

Update order. Updates selected mutable order fields. A supplied line-item list replaces the complete set; payment configuration and execution are excluded.

- Kind: action; exact user confirmation required
- API endpoints: /orders/update

> Example request: Update order \<ORDER\_ID> with the supplied order number. Ask me to confirm the exact changed fields first.

<a id="finalize_order"></a>

### finalize\_order

Finalize order. Seals a draft order without executing payment.

- Kind: action; exact user confirmation required
- API endpoints: /orders/finalize

> Example request: Finalize order \<ORDER\_ID> without executing payment. Ask me to confirm before sealing it.

<a id="complete_order"></a>

### complete\_order

Complete order. Marks an eligible fulfilled order complete without marking an offline payment.

- Kind: action; exact user confirmation required
- API endpoints: /orders/complete

> Example request: Mark fulfilled order \<ORDER\_ID> complete. Do not mark it paid out of band, and ask me to confirm first.

<a id="cancel_order"></a>

### cancel\_order

Cancel order. Cancels an eligible order without requesting or executing a refund.

- Kind: action; exact user confirmation required
- API endpoints: /orders/cancel

> Example request: Cancel order \<ORDER\_ID> for the stated reason. Do not request a refund, and ask me to confirm first.

<a id="pay_order"></a>

### pay\_order

Pay order. Starts or deliberately retries a real payment after a masked method choice and exact confirmation. New details and OTP stay in secure Inttegro Checkout.

- Kind: action; exact user confirmation required
- API endpoints: /orders/lookup, /payment\_methods/page, /orders/pay

> Example request: Prepare payment for order \<ORDER\_ID>, let me select a masked saved method or new secure entry, and confirm the exact amount before charging.

<a id="create_refund"></a>

### create\_refund

Create refund. Creates an asynchronous line-item refund from exact major-unit decimal amounts after refreshing availability and confirming every amount, per-line reason, and required overall reason.

- Kind: action; exact user confirmation required
- API endpoints: /orders/lookup, /refunds/create

> Example request: Guide me through refunding order \<ORDER\_ID>: affected lines, exact amount per line, optional line reasons, and the required overall reason. Confirm the complete summary before creating it.

<a id="cancel_refund"></a>

### cancel\_refund

Cancel refund. Attempts to cancel a still-pending refund after confirming its current amount, order, and reason.

- Kind: action; exact user confirmation required
- API endpoints: /refunds/lookup, /refunds/cancel

> Example request: Cancel pending refund \<REFUND\_ID>. Show its current amount and reason, then ask me to confirm before attempting cancellation.

<a id="send_order_invoice"></a>

### send\_order\_invoice

Send order invoice. Sends a finalized order invoice through the order customer’s available delivery channels after confirmation.

- Kind: action; exact user confirmation required
- API endpoints: /orders/send\_invoice

> Example request: Send the invoice for order \<ORDER\_ID> through available customer channels. Ask me to confirm first.

<a id="send_order_receipt"></a>

### send\_order\_receipt

Send order receipt. Generates and delivers the receipt for a paid order through configured customer channels after confirmation.

- Kind: action; exact user confirmation required
- API endpoints: /orders/send\_receipt

> Example request: Send the receipt for paid order \<ORDER\_ID> and report which channels succeeded or failed.

<a id="send_customer_sms"></a>

### send\_customer\_sms

Send customer SMS. Sends one SMS of at most 120 characters to an existing customer. Arbitrary phone numbers, broadcasts, and schedules are not accepted.

- Kind: action; exact user confirmation required
- API endpoints: /chimes/send

> Example request: Send customer \<CUSTOMER\_ID> the exact SMS “Your order is ready for pickup.” Ask me to confirm first.

<a id="create_message_template"></a>

### create\_message\_template

Create message template. Creates one reusable SMS or email draft with a typed variable contract. Creation does not publish or send it.

- Kind: action; exact user confirmation required
- API endpoints: /message\_templates/create

> Example request: Create an SMS order-ready template with customer\_name and order\_number variables, but leave it as a draft for review.

<a id="update_message_template"></a>

### update\_message\_template

Update message template. Creates a new draft version of a template without silently replacing the version currently used for sends.

- Kind: action; exact user confirmation required
- API endpoints: /message\_templates/update

> Example request: Update message template \<MESSAGE\_TEMPLATE\_ID> with this revised copy, then show that it has unpublished changes.

<a id="publish_message_template"></a>

### publish\_message\_template

Publish message template. Publishes the reviewed draft for future Chime sends after separate confirmation.

- Kind: action; exact user confirmation required
- API endpoints: /message\_templates/publish

> Example request: Preview message template \<MESSAGE\_TEMPLATE\_ID>, let me approve the rendered result, then publish it.

<a id="archive_message_template"></a>

### archive\_message\_template

Archive message template. Archives a template so it cannot be updated, published, previewed, or selected for new sends.

- Kind: action; exact user confirmation required
- API endpoints: /message\_templates/archive

> Example request: Archive message template \<MESSAGE\_TEMPLATE\_ID> and explain the consequence before asking me to confirm.

<a id="send_customer_template"></a>

### send\_customer\_template

Send customer template. Renders and validates a published template, shows the actual customer-facing copy for confirmation, and sends it once to a saved customer by explicit SMS or email transport. Draft-divergent templates are refused.

- Kind: action; exact user confirmation required
- API endpoints: /message\_templates/render\_preview, /chimes/send

> Example request: Send published template \<MESSAGE\_TEMPLATE\_ID> to customer \<CUSTOMER\_ID> by SMS with these variables. Show me the exact rendered message before sending.

<a id="create_product"></a>

### create\_product

Create product. Creates a catalog product as a draft by default. Prices are created separately so each operation has an unambiguous result.

- Kind: action; exact user confirmation required
- API endpoints: /products/create

> Example request: Create a draft service product named “Consultation” with the given description. Ask me to confirm before creating it.

<a id="update_product"></a>

### update\_product

Update product. Updates reviewed descriptive product fields without changing price, media, fulfillment, or unrestricted metadata.

- Kind: action; exact user confirmation required
- API endpoints: /products/update

> Example request: Update product \<PRODUCT\_ID> with this description and ask me to confirm the changed field.

<a id="publish_product"></a>

### publish\_product

Publish product. Publishes a product to customer-facing catalog and checkout flows.

- Kind: action; exact user confirmation required
- API endpoints: /products/publish

> Example request: Publish product \<PRODUCT\_ID> and ask me to confirm that it will become customer-facing.

<a id="unpublish_product"></a>

### unpublish\_product

Unpublish product. Hides a product from new customer-facing catalog selection without archiving it.

- Kind: action; exact user confirmation required
- API endpoints: /products/unpublish

> Example request: Unpublish product \<PRODUCT\_ID> so it is hidden from new selection. Ask me to confirm first.

<a id="archive_product"></a>

### archive\_product

Archive product. Archives and deactivates a product while retaining its historical record.

- Kind: action; exact user confirmation required
- API endpoints: /products/archive

> Example request: Archive product \<PRODUCT\_ID> and explain the consequence before asking me to confirm.

<a id="create_product_price"></a>

### create\_product\_price

Create product price. Creates an active price for an existing product. Supply an exact decimal amount in familiar major currency units; the MCP converts it safely.

- Kind: action; exact user confirmation required
- API endpoints: /products/add\_price

> Example request: Create a GHS 350.00 price for product \<PRODUCT\_ID> and ask me to confirm first.

<a id="update_price"></a>

### update\_price

Update price. Updates price label or description only. Amount, currency, and product association remain immutable.

- Kind: action; exact user confirmation required
- API endpoints: /prices/update

> Example request: Update price \<PRICE\_ID> with this label. Keep amount and currency unchanged, and ask me to confirm first.

<a id="activate_price"></a>

### activate\_price

Activate price. Reactivates an eligible price for new catalog and checkout flows.

- Kind: action; exact user confirmation required
- API endpoints: /prices/activate

> Example request: Activate price \<PRICE\_ID> for new checkout use and ask me to confirm first.

<a id="deactivate_price"></a>

### deactivate\_price

Deactivate price. Deactivates a price so it cannot be selected in new active catalog flows.

- Kind: action; exact user confirmation required
- API endpoints: /prices/deactivate

> Example request: Deactivate price \<PRICE\_ID> for new use and ask me to confirm first.

<a id="archive_price"></a>

### archive\_price

Archive price. Archives a price permanently for new use while retaining historical references.

- Kind: action; exact user confirmation required
- API endpoints: /prices/archive

> Example request: Archive price \<PRICE\_ID> and explain that it cannot be reactivated before asking me to confirm.

<a id="create_buy_link"></a>

### create\_buy\_link

Create buy link. Creates a public hosted buy link for one existing product and price with a minimum quantity, optional maximum quantity and expiry, and single- or multi-use behavior.

- Kind: action; exact user confirmation required
- API endpoints: /purchase\_intents/create

> Example request: Create a single-use buy link for product \<PRODUCT\_ID> and price \<PRICE\_ID>, limited to one unit. Ask me to confirm first.

<a id="send_buy_link_sms"></a>

### send\_buy\_link\_sms

Send buy link by SMS. Verifies an existing Commerce buy link, constructs its canonical hosted URL server-side, and sends it by SMS to an existing customer.

- Kind: action; exact user confirmation required

> Example request: Send buy link \<PURCHASE\_INTENT\_ID> to customer \<CUSTOMER\_ID> by SMS with the prefix “Your link:”. Ask me to confirm first.

<a id="update_buy_link"></a>

### update\_buy\_link

Update buy link. Updates a buy link’s quantity bounds, expiry, or active state after confirmation.

- Kind: action; exact user confirmation required
- API endpoints: /purchase\_intents/update

> Example request: Update buy link \<PURCHASE\_INTENT\_ID> so the maximum quantity is 5. Ask me to confirm before changing it.

<a id="cancel_buy_link"></a>

### cancel\_buy\_link

Cancel buy link. Deactivates a buy link so it can no longer be used. Requires explicit confirmation.

- Kind: action; exact user confirmation required
- API endpoints: /purchase\_intents/cancel

> Example request: Cancel buy link \<PURCHASE\_INTENT\_ID> so it can no longer be used. Ask me to confirm first.

<a id="upload_file"></a>

### upload\_file

Upload file. Uploads canonical base64 file content up to 5 MiB and returns safe file metadata without echoing bytes or unrestricted custom data.

- Kind: action; exact user confirmation required
- API endpoints: /files/upload

> Example request: Upload this selected PDF as an invoice file and ask me to confirm the filename, type, and size first.

<a id="delete_file"></a>

### delete\_file

Delete file. Tombstones a file and requests backing-content cleanup subject to its owning reference policy.

- Kind: action; exact user confirmation required
- API endpoints: /files/delete

> Example request: Delete file \<FILE\_ID> and explain the retention consequence before asking me to confirm.

<a id="create_file_link"></a>

### create\_file\_link

Create file link. Creates an expiring, revocable public bearer capability. Its secret URL is returned only by this creation response.

- Kind: action; exact user confirmation required
- API endpoints: /file\_links/create

> Example request: Create a download link for file \<FILE\_ID> that expires tomorrow and can be used once. Warn me that anyone with the URL can access it.

<a id="revoke_file_link"></a>

### revoke\_file\_link

Revoke file link. Revokes one file-link capability without deleting the underlying file.

- Kind: action; exact user confirmation required
- API endpoints: /file\_links/revoke

> Example request: Revoke file link \<FILE\_LINK\_ID> and ask me to confirm before disabling access.

## Integration guidance tools

<a id="design_integration"></a>

### design\_integration

Design Inttegro integration. Elicits the integration goal, AI app builder, server runtime, SDK preference, and checkout approach, then returns a platform-aware build and test plan without accepting credentials.

- Kind: read-only integration guidance

> Example request: Help me design our Inttegro integration for Base44, Bolt, Google AI Studio, Lovable, Replit, or v0. Choose the safe server boundary, then give my agent exact build and test instructions.

<a id="get_integration_guide"></a>

### get\_integration\_guide

Get integration guide. Returns a focused implementation sequence and canonical Studio links for authentication, checkout, orders, catalog, messaging, idempotency, or testing.

- Kind: read-only integration guidance

> Example request: Give my agent the Inttegro hosted-checkout integration guide and canonical documentation links.

<a id="check_integration_readiness"></a>

### check\_integration\_readiness

Check integration readiness. Audits platform secret storage, server-runtime compatibility, idempotency, errors, state verification, checkout returns, and messaging consent without receiving source code or credentials.

- Kind: read-only integration guidance

> Example request: Check whether our hosted-checkout integration is ready for an end-to-end test and list every blocker.

## Presentation tools

<a id="render_order_card"></a>

### render\_order\_card

Render order card. Presents an already-fetched order as a compact visual status card. It does not fetch or mutate the order.

- Kind: optional presentation; the structured source result remains authoritative

> Example request: After looking up order \<ORDER\_ID>, render it as a compact order card.

<a id="render_analytics_dashboard"></a>

### render\_analytics\_dashboard

Render analytics dashboard. Presents one order, product, or customer analytics result visually without calculating or altering metrics.

- Kind: optional presentation; the structured source result remains authoritative

> Example request: After getting product analytics for the last 30 days in GHS, render the analytics dashboard.

<a id="render_product_card"></a>

### render\_product\_card

Render product card. Presents one already-fetched product as a visual card with its identity, lifecycle, description, and exact returned prices. It does not fetch or change products or prices.

- Kind: optional presentation; the structured source result remains authoritative

> Example request: After looking up product \<PRODUCT\_ID>, render the unchanged result as a product card.

<a id="render_catalog_carousel"></a>

### render\_catalog\_carousel

Render catalog carousel. Presents an already-fetched product page as a catalog carousel. It does not fetch or change products.

- Kind: optional presentation; the structured source result remains authoritative

> Example request: After listing active products, render the returned products as a catalog carousel.

<a id="render_buy_link_card"></a>

### render\_buy\_link\_card

Render buy-link card. Presents a returned buy link as a visual card with the external checkout URL. It does not create or change links.

- Kind: optional presentation; the structured source result remains authoritative

> Example request: After creating or looking up buy link \<PURCHASE\_INTENT\_ID>, render the buy-link card.

## How analytics works

Use analytics tools when you want totals, rankings, or trends. They read from
Inttegro's reporting data instead of adding up whatever happens to appear on a
paginated list page. That distinction matters: a list tool returns a page of
recent records, not the complete history for your account.

When an analytics tool returns money, it presents an exact major-unit decimal
with the currency, such as `GHS 350.00`. Supplemental integer minor-unit fields
remain available for machine consumers. Currencies are reported separately,
and if part of a period is unavailable, the tool marks the result as empty or
partial instead of filling the gap with a guess.

## Deliberate boundaries

The catalog does not:

- accept raw payment credentials or OTP in chat;
- mark an asynchronous refund complete before its status is `succeeded`;
- move balances or change payout settings;
- expose customer phone numbers, email addresses, street addresses, payment credentials, or unrestricted custom metadata;
- send to arbitrary phone numbers, broadcast, or schedule messages;
- use repeated single-message calls as a bulk outreach mechanism; or
- proxy arbitrary Commerce API operations.

See [merchant workflows](https://studio.inttegro.com/machine/ruby/inttegro-mcp/workflows.md) for examples that combine these tools safely.

To have an agent choose an SDK and checkout architecture, produce a build brief, and check test readiness, see the [`design_integration` guide](https://studio.inttegro.com/machine/ruby/inttegro-mcp/design-integration.md) and [Build an integration with an agent](https://studio.inttegro.com/machine/ruby/inttegro-mcp/build-integrations.md).
