Skip to main content
The RouteMCP API provides a unified interface to read and write data across multiple CRM and Accounting providers. Authenticate with your API key and interact with CRM records (contacts, leads, deals, meetings, companies, notes, tasks, activities) and accounting records (invoices, bills, contacts, accounts, payments, journal entries, items, financial reports, and more) through a single, consistent API — regardless of which provider your users have connected.

Base URL

Authentication

All API requests require an API key passed in the Authorization header as a Bearer token:
See the Authentication Guide for details on obtaining and managing API keys.

Endpoints

The API exposes five groups of endpoints:

CRM Resources

CRUD operations on CRM resources. The same endpoints work across all connected providers — Salesforce, HubSpot, Zoho CRM, Pipedrive, LeadConnector, Monday CRM, and more. Writable resources: contact, lead, deal, meeting, company, note, task, activity, appointment Read-only resources: owner, pipeline — support GET /{resource} (list) and GET /{resource}/{id} (get) only. These are managed by the provider and cannot be created, updated, or deleted through this API.

Accounting Resources

CRUD operations on accounting resources. The same endpoints work across all connected providers (currently QuickBooks Online). Writable resources: invoice, contact, account, payment, tax_rate, journal_entry, expense, purchase_order, sales_order, credit_note, vendor_credit, item, tracking_category, accounting_period, payment_method, payment_term, employee, project, attachment, expense_report, item_fulfillment Update-only: company_info — singleton per realm; cannot be created or deleted. Read-only resources: address, phone_number, balance_sheet, income_statement, cash_flow_statement, general_ledger_transaction, transaction, bank_feed_account, bank_feed_transaction — list and get only. The created_after / created_before query params filter by record creation timestamp on regular resources. On the three financial reports (balance_sheet, income_statement, cash_flow_statement) they are reinterpreted as the report’s period bounds — created_before on balance_sheet is the as-of snapshot date.

Field Mappings

Connect

MCP Workspaces

Manage workspaces — router-mode MCP servers scoped to an optional set of integrations. These endpoints are authenticated with your API key (Authorization: Bearer sk_live_* / sk_test_*). The environment is derived from the key — sk_test_* keys operate on sandbox, sk_live_* on production — so it is never sent in the request. Toolkit and database connectors (GitHub, Gmail, Notion, Jira, PostgreSQL) are not unified REST resources like /crm or /accounting — they are accessed through the MCP runtime (/mcp/{workspaceId}) and the HTTP chat endpoint (/mcp/{workspaceId}/chat), scoped by the workspace’s integrations.

GET /mcp/workspaces

Query parameters:
Returns a paginated envelope:

POST /mcp/workspaces

Request body. The environment is taken from the API key, so it is not part of the body.

PATCH /mcp/workspaces/{id}

Partial update — send only the fields you want to change. The environment is key-derived and cannot be changed here.

DELETE /mcp/workspaces/{id}

Archives the workspace (soft delete) and responds with 204 No Content. The {id} path parameter must be a valid UUID.
A request for a missing workspace, or for a server that is not a workspace (non-router mode), returns 404 Not Found. Invalid request bodies return 422 Unprocessable Entity with per-field validation messages.

HTTP Streaming Chat

Managing session context

Each chat session supports a stored context — a free-text string (up to 8 000 characters) that is encrypted at rest and automatically prepended to the agent’s system prompt on every turn of the session. Use these endpoints to set, read, or remove that context out-of-band (e.g. from your backend before the user’s first message). sessionId is the same UUID you pass as x-session-id on each chat call. All three endpoints authenticate with Authorization: Bearer <API_KEY>.
The inline context field on POST /mcp/{workspaceId}/chat writes the same value — these CRUD endpoints let you manage it without sending a chat message.

Response Format

All responses follow a consistent envelope:
Error responses:

Pagination

List endpoints use cursor-based pagination:
Response pagination metadata:

API Key Types