Developers

API, webhooks and MCP

Connect your own systems and AI assistants to Compass.

REST API

  1. An administrator opens Settings → API and webhooks and creates a key with a name, scopes and a per-minute limit. The token (cmp_key_…) is shown once.
  2. Call the API with Authorization: Bearer <token>.
  3. The full OpenAPI description is at /api/v1/openapi.json on your Compass address.
curl https://<your-compass>/api/v1/people?limit=20 \
  -H "Authorization: Bearer cmp_key_…"

Scopes keep each key to what it needs, for example people:read, tasks:write, payments:read, jobs:read or batches:write.

Conventions

  • JSON in and out, validated on every call.
  • Errors look like { "error": { "code", "message", "details" } } with the right HTTP status.
  • Lists are paged with ?cursor=&limit= (50 by default).
  • Writes accept an Idempotency-Key header: a retry returns the first answer instead of doing the work twice.

Website forms

Send enquiries from your website's server to POST /api/v1/intake with an intake key from Settings → Intake keys, the website's Origin, and an Idempotency-Key per submission. Keep the key on your server; never put it in browser code.

Webhooks

In Settings → API and webhooks, add an https:// endpoint, choose events and copy the signing secret (shown once). Events include:

  • person.created, opportunity.stage_changed, sla.breached
  • message.received, booking.created
  • quote.accepted, payment.confirmed
  • enrollment.activated, attendance.marked
  • application.stage_changed, offer.verified

Each delivery is a JSON POST carrying ids only; fetch the details with an API key. Check the X-Compass-Signature header (an HMAC-SHA256 of the timestamp and the raw body with your secret) before trusting a delivery.

MCP: connect an AI assistant

Compass has an MCP server, so assistants like Claude can work with your data, as you and with your permissions.

  1. In Settings → Assistants (MCP), create a token. It's read-only unless you tick Allow it to create follow-ups and add notes.
  2. Add it to your MCP client. For example, in Claude Code:
claude mcp add --transport http compass https://<your-compass>/api/mcp \
  --header "Authorization: Bearer cmp_key_…"
  1. The assistant can search people, read a person's history, see pipeline numbers, list tasks, jobs, batches, payments and conversations, and (if allowed) create follow-ups and add notes.

Every tool call is written to the audit log. Tokens are limited to 60 requests a minute and stop working when the member is deactivated.