Skip to main content

Overview

The CRM API lets you manage contacts, deals, and pipeline stages programmatically. All endpoints are scoped to your organization.

Contacts

List Contacts

GET /api/crm/contacts
Query Parameters
ParameterTypeDescription
searchstringSearch by name or email
tagstringFilter by tag
pagenumberPage number (default: 1)
limitnumberItems per page (default: 25)
Response
{
  "contacts": [
    {
      "id": "contact_abc123",
      "name": "Jane Smith",
      "email": "jane@example.com",
      "company": "Acme Inc.",
      "tags": ["client", "enterprise"],
      "createdAt": "2025-02-10T08:00:00Z"
    }
  ],
  "total": 150,
  "page": 1,
  "limit": 25
}

Create Contact

POST /api/crm/contacts
Request Body
{
  "name": "Jane Smith",
  "email": "jane@example.com",
  "company": "Acme Inc.",
  "phone": "+1-555-0123",
  "tags": ["lead"],
  "notes": "Met at SaaStr conference"
}

Update Contact

PATCH /api/crm/contacts/{id}

Delete Contact

DELETE /api/crm/contacts/{id}

Pipeline

List Pipeline Stages

GET /api/crm/pipeline/stages

Move Contact to Stage

POST /api/crm/pipeline/move
Request Body
{
  "contactId": "contact_abc123",
  "stageId": "stage_qualified"
}

Tasks

List Tasks

GET /api/crm/tasks

Create Task

POST /api/crm/tasks
Request Body
{
  "title": "Follow up with Jane",
  "contactId": "contact_abc123",
  "dueDate": "2025-04-20T10:00:00Z",
  "assignedTo": "user_xyz"
}