Spendesk MCP API
The Spendesk MCP server (Streamable HTTP transport), for AI assistants connected through OAuth 2.0.
The Spendesk MCP server (Streamable HTTP transport), for AI assistants connected through OAuth 2.0.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/spendesk:spendesk-mcp-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Spendesk Public MCP API
description: Spendesk Public API
version: '1.0'
summary: Spendesk Public API
contact:
email: support-public-api@spendesk.com
url: https://developer.spendesk.com/
name: Spendesk for Developers
termsOfService: https://www.spendesk.com/en/legals/terms/api-agreement
servers:
- url: https://public-api.spendesk.com
description: Production
- url: https://public-api.demo.spendesk.com
description: Sandbox
tags:
- name: MCP
description: The Spendesk MCP server (Streamable HTTP transport), for AI assistants connected through OAuth 2.0.
paths:
/v1/mcp:
post:
operationId: v1-post-mcp
summary: Send MCP messages
tags:
- MCP
security:
- Authentication:
- experimental:company:read
- Authentication:
- wallet-summary:read
- Authentication:
- wallet-load:read
- Authentication:
- settlement:read
- Authentication:
- payable-attachment:read
- Authentication:
- payable:read
- Authentication:
- experimental:purchase-order:read
- Authentication:
- supplier:read
- Authentication:
- analytical-field:read
- Authentication:
- experimental:analytical-field-v2:write
- Authentication:
- cost-center:read
- Authentication:
- cost-center:manage
- Authentication:
- expense-category:read
- Authentication:
- experimental:expense-category-v2:read
- Authentication:
- experimental:expense-category-v2:write
- Authentication:
- experimental:supplier:manage
- Authentication:
- user:read
- Authentication:
- experimental:request:read
- Authentication:
- experimental:chart-of-accounts:read
- Authentication:
- experimental:chart-of-accounts:write
- Authentication:
- experimental:card:read
- Authentication:
- experimental:card:write
- Authentication:
- experimental:transaction:read
- Authentication:
- experimental:accounting:update
- Authentication:
- experimental:purchase-order:write
- Authentication:
- experimental:accounting-export:write
- Authentication:
- experimental:invoice:read
- Authentication:
- experimental:intake:read
x-roles:
- controller
- accountOwner
responses:
'200':
description: Default Response
get:
operationId: v1-get-mcp
summary: Open the MCP event stream
tags:
- MCP
security:
- Authentication:
- experimental:company:read
- Authentication:
- wallet-summary:read
- Authentication:
- wallet-load:read
- Authentication:
- settlement:read
- Authentication:
- payable-attachment:read
- Authentication:
- payable:read
- Authentication:
- experimental:purchase-order:read
- Authentication:
- supplier:read
- Authentication:
- analytical-field:read
- Authentication:
- experimental:analytical-field-v2:write
- Authentication:
- cost-center:read
- Authentication:
- cost-center:manage
- Authentication:
- expense-category:read
- Authentication:
- experimental:expense-category-v2:read
- Authentication:
- experimental:expense-category-v2:write
- Authentication:
- experimental:supplier:manage
- Authentication:
- user:read
- Authentication:
- experimental:request:read
- Authentication:
- experimental:chart-of-accounts:read
- Authentication:
- experimental:chart-of-accounts:write
- Authentication:
- experimental:card:read
- Authentication:
- experimental:card:write
- Authentication:
- experimental:transaction:read
- Authentication:
- experimental:accounting:update
- Authentication:
- experimental:purchase-order:write
- Authentication:
- experimental:accounting-export:write
- Authentication:
- experimental:invoice:read
- Authentication:
- experimental:intake:read
x-roles:
- controller
- accountOwner
responses:
'200':
description: Default Response
delete:
operationId: v1-delete-mcp
summary: End an MCP session
tags:
- MCP
security:
- Authentication:
- experimental:company:read
- Authentication:
- wallet-summary:read
- Authentication:
- wallet-load:read
- Authentication:
- settlement:read
- Authentication:
- payable-attachment:read
- Authentication:
- payable:read
- Authentication:
- experimental:purchase-order:read
- Authentication:
- supplier:read
- Authentication:
- analytical-field:read
- Authentication:
- experimental:analytical-field-v2:write
- Authentication:
- cost-center:read
- Authentication:
- cost-center:manage
- Authentication:
- expense-category:read
- Authentication:
- experimental:expense-category-v2:read
- Authentication:
- experimental:expense-category-v2:write
- Authentication:
- experimental:supplier:manage
- Authentication:
- user:read
- Authentication:
- experimental:request:read
- Authentication:
- experimental:chart-of-accounts:read
- Authentication:
- experimental:chart-of-accounts:write
- Authentication:
- experimental:card:read
- Authentication:
- experimental:card:write
- Authentication:
- experimental:transaction:read
- Authentication:
- experimental:accounting:update
- Authentication:
- experimental:purchase-order:write
- Authentication:
- experimental:accounting-export:write
- Authentication:
- experimental:invoice:read
- Authentication:
- experimental:intake:read
x-roles:
- controller
- accountOwner
responses:
'200':
description: Default Response
components:
securitySchemes:
Authentication:
type: oauth2
description: 'A company-level token acts on the company it was issued for. An organisation-level token (experimental) acts on the companies of an organisation: send the target company in the `X-Company-Id` header on every call, except on `GET /v2/companies` and on `/v2/companies/{companyId}/…` routes, which carry the company in the path. See [Organisation-level access](/reference/organisation-level-access).'
flows:
clientCredentials:
tokenUrl: /v1/auth/token
scopes:
analytical-field:read: Analytical Fields (Read)
bank-fee:read: Spending Bank Fees (Read)
cost-center:read: Cost Center (Read)
cost-center:manage: Cost Center (Manage)
expense-category:read: Expense Category (Read)
payable:read: Spending Payables (Read)
payable-attachment:read: Spending Payable Attachments (Read)
settlement:read: Spending Settlements (Read)
supplier:read: Suppliers (Read)
user:read: Users (Read)
experimental:user:manage: Users (Manage)
wallet-load:read: Spending Wallet Loads (Read)
wallet-summary:read: Spending Wallet Summary (Read)
experimental:accounting-export:read: Accounting exports (Read)
experimental:accounting-export:write: Accounting exports (Write)
experimental:accounting:update: Accounting (Update)
experimental:chart-of-accounts:read: Chart of Accounts (Read)
experimental:chart-of-accounts:write: Chart of Accounts (Write)
experimental:purchase-order:read: Purchase Orders (Read)
experimental:purchase-order:write: Purchase Orders (Write)
experimental:webhooks:read: Webhooks (Read)
experimental:webhooks:write: Webhooks (Write)
experimental:supplier:manage: Suppliers (Manage)
experimental:company:read: Companies (Read)
experimental:payable-search:read: Payable Search (Read)
experimental:payable-attachment:write: Payable Attachments (Write)
experimental:card:read: Cards (Read)
experimental:card:write: Cards (Write)
experimental:request:read: Requests (Read)
experimental:transaction:read: Transactions (Read)
experimental:analytical-field-v2:read: Analytical Fields v2 (Read)
experimental:analytical-field-v2:write: Analytical Fields v2 (Write)
experimental:expense-category-v2:read: Expense Category Fields v2 (Read)
experimental:expense-category-v2:write: Expense Category Fields v2 (Write)
experimental:invoice:read: Invoices (Read) - experimental
experimental:intake:read: Intakes (Read)
experimental:intake:write: Intakes (Write)
experimental:external-reference:read: External References (Read)
experimental:external-reference:write: External References (Write)
authorizationCode:
authorizationUrl: /v1/oauth2/authorize
tokenUrl: /v1/oauth2/token/create
scopes:
analytical-field:read: Analytical Fields (Read)
bank-fee:read: Spending Bank Fees (Read)
cost-center:read: Cost Center (Read)
cost-center:manage: Cost Center (Manage)
expense-category:read: Expense Category (Read)
payable:read: Spending Payables (Read)
payable-attachment:read: Spending Payable Attachments (Read)
settlement:read: Spending Settlements (Read)
supplier:read: Suppliers (Read)
user:read: Users (Read)
experimental:user:manage: Users (Manage)
wallet-load:read: Spending Wallet Loads (Read)
wallet-summary:read: Spending Wallet Summary (Read)
experimental:accounting-export:read: Accounting exports (Read)
experimental:accounting-export:write: Accounting exports (Write)
experimental:accounting:update: Accounting (Update)
experimental:chart-of-accounts:read: Chart of Accounts (Read)
experimental:chart-of-accounts:write: Chart of Accounts (Write)
experimental:purchase-order:read: Purchase Orders (Read)
experimental:purchase-order:write: Purchase Orders (Write)
experimental:webhooks:read: Webhooks (Read)
experimental:webhooks:write: Webhooks (Write)
experimental:supplier:manage: Suppliers (Manage)
experimental:company:read: Companies (Read)
experimental:payable-search:read: Payable Search (Read)
experimental:payable-attachment:write: Payable Attachments (Write)
experimental:card:read: Cards (Read)
experimental:card:write: Cards (Write)
experimental:request:read: Requests (Read)
experimental:transaction:read: Transactions (Read)
experimental:analytical-field-v2:read: Analytical Fields v2 (Read)
experimental:analytical-field-v2:write: Analytical Fields v2 (Write)
experimental:expense-category-v2:read: Expense Category Fields v2 (Read)
experimental:expense-category-v2:write: Expense Category Fields v2 (Write)
experimental:invoice:read: Invoices (Read) - experimental
experimental:intake:read: Intakes (Read)
experimental:intake:write: Intakes (Write)
experimental:external-reference:read: External References (Read)
experimental:external-reference:write: External References (Write)
x-provenance:
method: searched
source: https://developer.spendesk.com/reference
harvested: '2026-10-14'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://developer.spendesk.com/reference/mcp-authorization-server-metadata.md
- https://developer.spendesk.com/reference/mcp-protected-resource-metadata-mcp.md
- https://developer.spendesk.com/reference/v1-assign-creditors-to-accounts.md
- https://developer.spendesk.com/reference/v1-cancel-purchase-order.md
- https://developer.spendesk.com/reference/v1-close-purchase-order.md
- https://developer.spendesk.com/reference/v1-create-account.md
- https://developer.spendesk.com/reference/v1-create-auth-token.md
- https://developer.spendesk.com/reference/v1-create-cost-centers.md
- https://developer.spendesk.com/reference/v1-create-journal.md
- https://developer.spendesk.com/reference/v1-create-oauth2-token.md
- https://developer.spendesk.com/reference/v1-create-payable-attachment-upload.md
- https://developer.spendesk.com/reference/v1-create-purchase-order.md
- https://developer.spendesk.com/reference/v1-create-snapshot-payables.md
- https://developer.spendesk.com/reference/v1-create-suppliers.md
- https://developer.spendesk.com/reference/v1-create-webhook.md
- https://developer.spendesk.com/reference/v1-delete-account.md
- https://developer.spendesk.com/reference/v1-delete-cost-centers.md
- https://developer.spendesk.com/reference/v1-delete-mcp.md
- https://developer.spendesk.com/reference/v1-delete-webhook.md
- https://developer.spendesk.com/reference/v1-get-account-by-id.md
- https://developer.spendesk.com/reference/v1-get-accounts.md
- https://developer.spendesk.com/reference/v1-get-analytical-field-values.md
- https://developer.spendesk.com/reference/v1-get-analytical-fields.md
- https://developer.spendesk.com/reference/v1-get-bank-fees.md
- https://developer.spendesk.com/reference/v1-get-card-blocking-history.md
- https://developer.spendesk.com/reference/v1-get-card-order.md
- https://developer.spendesk.com/reference/v1-get-card.md
- https://developer.spendesk.com/reference/v1-get-cards.md
- https://developer.spendesk.com/reference/v1-get-cost-centers.md
- https://developer.spendesk.com/reference/v1-get-expense-categories.md
- https://developer.spendesk.com/reference/v1-get-external-references.md
- https://developer.spendesk.com/reference/v1-get-failed-transactions.md
- https://developer.spendesk.com/reference/v1-get-integrations-export-status.md
- https://developer.spendesk.com/reference/v1-get-journal-templates.md
- https://developer.spendesk.com/reference/v1-get-journal.md
- https://developer.spendesk.com/reference/v1-get-mcp.md
- https://developer.spendesk.com/reference/v1-get-payable-attachments.md
- https://developer.spendesk.com/reference/v1-get-payable-by-id.md
- https://developer.spendesk.com/reference/v1-get-purchase-order-document.md
- https://developer.spendesk.com/reference/v1-get-purchase-order.md
- https://developer.spendesk.com/reference/v1-get-purchase-orders.md
- https://developer.spendesk.com/reference/v1-get-request.md
- https://developer.spendesk.com/reference/v1-get-requests.md
- https://developer.spendesk.com/reference/v1-get-settlements.md
- https://developer.spendesk.com/reference/v1-get-snapshot-payables.md
- https://developer.spendesk.com/reference/v1-get-successful-transactions.md
- https://developer.spendesk.com/reference/v1-get-supplier-by-id.md
- https://developer.spendesk.com/reference/v1-get-suppliers.md
- https://developer.spendesk.com/reference/v1-get-transactions.md
- https://developer.spendesk.com/reference/v1-get-user-by-id.md
- https://developer.spendesk.com/reference/v1-get-users.md
- https://developer.spendesk.com/reference/v1-get-wallet-loads.md
- https://developer.spendesk.com/reference/v1-get-wallet-summary.md
- https://developer.spendesk.com/reference/v1-get-webhook-by-id.md
- https://developer.spendesk.com/reference/v1-get-webhook.md
- https://developer.spendesk.com/reference/v1-patch-accounts.md
- https://developer.spendesk.com/reference/v1-patch-payable-accounting-fields.md
- https://developer.spendesk.com/reference/v1-patch-supplier-status.md
- https://developer.spendesk.com/reference/v1-patch-suppliers-status.md
- https://developer.spendesk.com/reference/v1-post-experimental-integrations-refresh-settings.md
- https://developer.spendesk.com/reference/v1-post-mcp.md
- https://developer.spendesk.com/reference/v1-post-payable-mark-as-ready.md
- https://developer.spendesk.com/reference/v1-put-payables-bookkeeping-status.md
- https://developer.spendesk.com/reference/v1-put-settlements-state.md
- https://developer.spendesk.com/reference/v1-refresh-oauth2-token.md
- https://developer.spendesk.com/reference/v1-register-oauth2-client.md
- https://developer.spendesk.com/reference/v1-remove-creditors-from-accounts.md
- https://developer.spendesk.com/reference/v1-request-authorization.md
- https://developer.spendesk.com/reference/v1-search-creditor-account-assignments.md
- https://developer.spendesk.com/reference/v1-search-payables.md
- https://developer.spendesk.com/reference/v1-set-account-purpose.md
- https://developer.spendesk.com/reference/v1-sync-accounts.md
- https://developer.spendesk.com/reference/v1-update-cost-centers.md
- https://developer.spendesk.com/reference/v1-update-supplier.md
- https://developer.spendesk.com/reference/v1-update-suppliers.md
- https://developer.spendesk.com/reference/v1-update-webhook.md
- https://developer.spendesk.com/reference/v1-upsert-external-references.md
- https://developer.spendesk.com/reference/v2-create-analytical-field-value.md
- https://developer.spendesk.com/reference/v2-create-analytical-field.md
- https://developer.spendesk.com/reference/v2-create-expense-category-field.md
- https://developer.spendesk.com/reference/v2-create-expense-category.md
- https://developer.spendesk.com/reference/v2-create-intake-file-upload.md
- https://developer.spendesk.com/reference/v2-delete-analytical-field-value.md
- https://developer.spendesk.com/reference/v2-delete-analytical-field.md
- https://developer.spendesk.com/reference/v2-delete-expense-category-field.md
- https://developer.spendesk.com/reference/v2-delete-expense-category.md
- https://developer.spendesk.com/reference/v2-get-analytical-field-value.md
- https://developer.spendesk.com/reference/v2-get-analytical-field.md
- https://developer.spendesk.com/reference/v2-get-companies.md
- https://developer.spendesk.com/reference/v2-get-company-intake.md
- https://developer.spendesk.com/reference/v2-get-expense-category-field.md
- https://developer.spendesk.com/reference/v2-get-expense-category.md
- https://developer.spendesk.com/reference/v2-get-intake-file-upload-status.md
- https://developer.spendesk.com/reference/v2-get-invoice.md
- https://developer.spendesk.com/reference/v2-get-invoices-summary.md
- https://developer.spendesk.com/reference/v2-list-analytical-field-values.md
- https://developer.spendesk.com/reference/v2-list-analytical-fields.md
- https://developer.spendesk.com/reference/v2-list-company-intakes.md
- https://developer.spendesk.com/reference/v2-list-expense-categories.md
- https://developer.spendesk.com/reference/v2-list-expense-category-fields.md
- https://developer.spendesk.com/reference/v2-list-invoices.md
- https://developer.spendesk.com/reference/v2-post-company-intakes.md
- https://developer.spendesk.com/reference/v2-update-analytical-field-value.md
- https://developer.spendesk.com/reference/v2-update-analytical-field.md
- https://developer.spendesk.com/reference/v2-update-expense-category-field.md
- https://developer.spendesk.com/reference/v2-update-expense-category.md
merge:
pages: 106
deduped: 1705
conflicts_kept_first: 0