Skip to content
BookifyCall
Developer docs: Leads

Leads

People the AI captured or you added.

List leadsLink to List leads

GET/leads

Filter by status, temperature, source, creation date or updatedSince.

Scope
leads:read

Query parameters

pagenumber
Default: 1
limitnumber
Default: 20 · Max 100
updatedSincestring
ISO 8601: only records changed at or after this instant. With sort=updatedAt&order=asc this is an incremental sync cursor
orderstring
One of: asc, desc · Default: desc
statusstring
temperaturestring
One of: hot, warm, cold
sourcestring
One of: call, manual, api, import
startDatestring
ISO date, filters createdAt >=
endDatestring
ISO date, filters createdAt <= (a date-only value covers the whole day)
sortstring
One of: createdAt, updatedAt, score · Default: createdAt
curl "https://bookifycall.com/api/v1/external/leads" \
  -H "X-API-Key: $BOOKIFYCALL_API_KEY"
Example response · 200
{
  "success": true,
  "data": [
    {
      "id": "00000000-0000-4000-8000-000000000003",
      "organizationId": "00000000-0000-4000-8000-000000000100",
      "callId": "00000000-0000-4000-8000-000000000001",
      "name": "Jane Doe",
      "email": "jane@example.com",
      "phone": "+15551230001",
      "company": "Example Dental",
      "industry": "dental",
      "status": "qualified",
      "source": "call",
      "challenges": "Missed calls after hours",
      "interests": "Online booking",
      "preferences": {},
      "score": 72,
      "temperature": "hot",
      "bant": {
        "budget": "Approved",
        "authority": "Owner",
        "need": "After-hours answering",
        "timeline": "This month"
      },
      "lastContactedAt": "2026-01-15T16:34:10.000Z",
      "nextFollowUpAt": null,
      "createdAt": "2026-01-15T16:34:10.000Z",
      "updatedAt": "2026-01-15T16:34:10.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 22,
    "pages": 2
  }
}

Get a lead with its source call and appointmentsLink to Get a lead with its source call and appointments

GET/leads/{id}

Scope
leads:read
Not found
404 LEAD_001

Path parameters

idstringrequired
curl "https://bookifycall.com/api/v1/external/leads/00000000-0000-4000-8000-000000000003" \
  -H "X-API-Key: $BOOKIFYCALL_API_KEY"
Example response · 200
{
  "success": true,
  "data": {
    "id": "00000000-0000-4000-8000-000000000003",
    "organizationId": "00000000-0000-4000-8000-000000000100",
    "callId": "00000000-0000-4000-8000-000000000001",
    "name": "Jane Doe",
    "email": "jane@example.com",
    "phone": "+15551230001",
    "company": "Example Dental",
    "industry": "dental",
    "status": "qualified",
    "source": "call",
    "challenges": "Missed calls after hours",
    "interests": "Online booking",
    "preferences": {},
    "score": 72,
    "temperature": "hot",
    "bant": {
      "budget": "Approved",
      "authority": "Owner",
      "need": "After-hours answering",
      "timeline": "This month"
    },
    "lastContactedAt": "2026-01-15T16:34:10.000Z",
    "nextFollowUpAt": null,
    "createdAt": "2026-01-15T16:34:10.000Z",
    "updatedAt": "2026-01-15T16:34:10.000Z",
    "sourceCall": {
      "id": "00000000-0000-4000-8000-000000000001",
      "callType": "inbound",
      "callStatus": "completed",
      "startTime": "2026-01-15T16:30:00.000Z",
      "duration": 250,
      "agentId": "00000000-0000-4000-8000-000000000002"
    },
    "appointments": [
      {
        "id": "00000000-0000-4000-8000-000000000004",
        "scheduledAt": "2026-01-20T15:00:00.000Z",
        "status": "scheduled",
        "googleMeetLink": "https://meet.google.com/abc-defg-hij"
      }
    ]
  }
}