Skip to content
Last updated

MCP Tool Reference (Merchant)

Tools available to merchant accounts. All tools run under the authenticated principal's identity and mirror the equivalent Merchant REST API endpoint. Partner accounts get a separate set — see the Partner Tool Reference.

Access indicates the minimum permission required:

  • Read — any merchant role, including read-only logins (merchant:read scope for M2M keys)
  • Write — a write-capable merchant role (merchant:write scope for M2M keys)

General

ToolAccessDescription
list_resolve_accountsReadList the Resolve accounts available to the authenticated login. Call this first when a login has access to multiple accounts.
searchReadSemantic search over Resolve's published help articles — ask "how does X work in Resolve".
create_temp_fileWriteMint a presigned S3 upload URL for a file (e.g. an invoice PDF) so it can be attached to an invoice without passing the file through the LLM. Not available in ChatGPT or Codex — see note below.
list_temp_filesReadList previously uploaded temp files and mint fresh download URLs. Not available in ChatGPT or Codex — see note below.

File handling in ChatGPT and Codex: these clients attach files directly to the conversation instead of using the temp-file tools. Tool parameters that expect a file URL (such as merchant_invoice_url on create_invoice) accept the conversation attachment directly, and the MCP server resolves it for the Resolve API. The temp-file tools are hidden for these connections.

Customers

ToolAccessDescription
list_customersReadList customers, with exact-match filters on business_name, email, and more.
get_customerReadFetch a single customer, including credit status and available credit.
create_customerWriteCreate a new customer (buyer).
create_customer_documentWriteRequest a presigned upload or asynchronous download of a supporting document for your customer.
update_customerWriteUpdate a customer's details.
request_credit_checkWriteSubmit a customer for credit underwriting.
enroll_customerWriteEnroll an approved customer in net terms.

Customer supporting documents

Create or find the customer first, then use its customer relationship ID as merchant_customer_id in create_customer_document. Documents are uploaded separately from create_customer.

Supply document_type, filename, and filetype (MIME type). Supported types are bank_statements, credit_references, financial_statements, payment_history, and other. Bank statements must be PDFs. The filename extension must match the MIME type.

Omit download_url to get a presigned upload_url, then PUT the bytes with the returned upload_headers before upload_expires_at. Alternatively, supply a public HTTP(S) download_url to queue a download. In ChatGPT, pass the conversation attachment as download_url and supply filename and filetype separately.

An optional additional_data_request_id is accepted only for bank statements and must identify an open banking-data request for that customer. Acceptance is not validation: keep document_id, and check queue_dispatch_status for remote dispatch failures, which may return failed even with HTTP 200. Customer credit status is not a per-document validation result.

Invoices

ToolAccessDescription
list_invoicesReadList invoices, with filters on number, PO number, customer, balance, and status.
get_invoiceReadFetch a single invoice.
create_invoiceWriteCreate an invoice for a customer.
update_invoiceWriteUpdate an invoice (e.g. set terms and advance_requested before sending).
send_invoiceWriteSend the invoice to the customer.
advance_invoiceWriteRequest an advance payout against a sent invoice.
capture_invoiceWriteCapture an authorized invoice.
void_invoiceWriteVoid a sent invoice.
cancel_invoiceWriteCancel an invoice.
delete_invoiceWriteDelete a draft (unsent) invoice.

Orders

ToolAccessDescription
list_ordersReadList orders.
get_orderReadFetch a single order.
create_orderWriteCreate an order.
update_orderWriteUpdate an order.
capture_orderWriteCapture an authorized order.
cancel_orderWriteCancel an order.

Charges

ToolAccessDescription
list_chargesReadList charges.
get_chargeReadFetch a single charge.
update_chargeWriteUpdate a charge.
capture_chargeWriteCapture an authorized charge.
cancel_chargeWriteCancel a charge.

Shipments

ToolAccessDescription
list_shipmentsReadList shipments.
get_shipmentReadFetch a single shipment.
create_shipmentWriteAdd a shipment (tracking number, courier, fulfillment method) to an invoice.
update_shipmentWriteUpdate a shipment.
delete_shipmentWriteDelete a shipment.
sync_shipment_trackingWritePull real-time tracking status from the courier.
get_shipment_signed_upload_urlWriteMint a signed URL for uploading proof-of-delivery files, required for non-shipping-provider fulfillment methods.

Payments & Payouts

ToolAccessDescription
list_paymentsReadList payments received from customers.
get_paymentReadFetch a single payment, including which invoices it applied to.
list_payoutsReadList payouts from Resolve to your account.
get_payoutReadFetch a single payout.
list_payout_transactionsReadList individual transactions within payouts.
get_payout_transactionReadFetch a single payout transaction.

Credit Notes

ToolAccessDescription
list_credit_notesReadList credit notes.
get_credit_noteReadFetch a single credit note.
create_credit_noteWriteIssue a credit note against a sent invoice.
void_credit_noteWriteVoid a credit note.

External Sync

Available when an accounting platform (quickbooks_online or netsuite) is connected to the account. Connecting and disconnecting a platform is done in Merchant Dashboard — there are no tools for it.

ToolAccessDescription
get_external_account_sync_settingsReadRead the connected accounting platform and its synchronization state (disconnected, idle, syncing, failed), including progress and the last failure.
sync_external_account_dataWriteQueue an on-demand synchronization for a platform. Rate limited to 1 incremental sync per 5 minutes and 1 full sync (full_sync: true) per hour, per platform.
fetch_external_account_invoice_pdfWriteFetch a linked invoice's PDF from the accounting platform and attach it to the Resolve invoice.

Syncs are queued, not immediate — a success response means the job was accepted. Poll get_external_account_sync_settings to follow it. Exceeding a rate limit returns a 429 with a Retry-After header.

Webhooks

ToolAccessDescription
list_webhooksReadList webhook endpoints and their subscribed events.
upsert_webhookWriteCreate or update a webhook endpoint and its subscribed events.
delete_webhookWriteDelete a webhook endpoint.