Skip to main content

API Reference

The RouteMCP API provides a unified interface to read and write data across multiple CRM and PMS providers. Authenticate with your API key and interact with contacts, leads, deals, meetings, and owners through a single, consistent API — regardless of which provider your users have connected.

Base URL

http://localhost:5001/api/v1

Authentication

All API requests require an API key passed in the Authorization header as a Bearer token:
curl http://localhost:5001/api/v1/contact?provider=hubspot \
  -H "Authorization: Bearer sk_live_your_api_key"
See the Authentication Guide for details on obtaining and managing API keys.

Endpoints

The API exposes three groups of endpoints:

Unified Resources

CRUD operations on CRM/PMS resources. The same endpoints work across all connected providers — HubSpot, Zoho CRM, Pipedrive, GoHighLevel, and more.
MethodEndpointDescription
GET/{resource}List records (with cursor pagination)
POST/{resource}Create a record
GET/{resource}/{id}Get a single record
PUT/{resource}/{id}Replace a record
PATCH/{resource}/{id}Update specific fields
DELETE/{resource}/{id}Delete a record
Writable resources: contact, lead, deal, meeting Read-only resources: owner — supports GET /{resource} (list) and GET /{resource}/{id} (get) only. Owners are managed by the provider and cannot be created, updated, or deleted through this API.

Field Mappings

MethodEndpointDescription
GET/field-mappingsList field mappings for a provider (with org overrides applied)

Connect

MethodEndpointDescription
POST/connect/tokenCreate a connect session token for the embedded widget

Response Format

All responses follow a consistent envelope:
{
  "success": true,
  "statusCode": 200,
  "message": "Contacts retrieved",
  "data": { ... }
}
Error responses:
{
  "success": false,
  "statusCode": 404,
  "message": "Contact does not exist",
  "code": "CONTACT_NOT_FOUND"
}

Pagination

List endpoints use cursor-based pagination:
GET /api/v1/contact?provider=hubspot&limit=50
ParameterTypeDefaultDescription
providerstring-Provider slug (e.g. hubspot, zoho-crm). Omit to fan out across all connected providers
cursorstring-Cursor from previous response’s pagination.cursor
limitinteger25Items per page (max 100)
Response pagination metadata:
{
  "success": true,
  "statusCode": 200,
  "message": "OK",
  "data": {
    "data": [...],
    "pagination": {
      "cursor": "eyJpZCI6...",
      "hasMore": true,
      "limit": 25
    }
  }
}

API Key Types

PrefixEnvironmentDescription
sk_live_ProductionReal data from connected providers
sk_test_SandboxTest data, safe for development