Skip to main content
Leads represent contacts that have engaged with your business through any channel — inbound calls, SMS, web forms, Facebook Lead Ads, or Google Ads. You can also create leads manually via the API to sync contacts from external systems.

List leads

Returns a paginated list of leads. Filter by status or source to segment your pipeline.
status
string
Filter by lead status. Accepted values: "new", "contacted", "qualified", "converted".
source
string
Filter by the channel that captured the lead. Accepted values: "call", "sms", "form", "facebook", "google".
sort
string
Field to sort results by. Default: "created_at".
limit
integer
Number of results per page. Default: 20.
curl "https://api.boltcall.org/v1/leads?status=new&source=call&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
  "data": [
    {
      "id": "lead_001",
      "name": "Jane Smith",
      "phone": "+15551234567",
      "email": "jane@example.com",
      "status": "new",
      "source": "call",
      "score": 85,
      "tags": ["high-intent", "dental-cleaning"],
      "created_at": "2025-03-20T10:00:00Z"
    }
  ],
  "meta": { "page": 1, "limit": 20, "total": 42 }
}

Create a lead

Creates a lead manually. Useful for syncing contacts from a CRM or external form.
At least one of phone or email is recommended. A lead with neither cannot be contacted by an agent.
name
string
required
Full name of the lead.
phone
string
Phone number in E.164 format (e.g. "+15551234567").
email
string
Email address of the lead.
source
string
Label describing where the lead came from (e.g. "crm-import", "referral").
tags
string[]
Array of tags to apply for segmentation (e.g. ["high-intent", "hvac-repair"]).
curl -X POST https://api.boltcall.org/v1/leads \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "John Doe",
    "phone": "+15559876543",
    "email": "john@example.com",
    "source": "crm-import",
    "tags": ["hvac-repair"]
  }'
Response
{
  "id": "lead_002",
  "name": "John Doe",
  "status": "new",
  "created_at": "2025-03-20T11:30:00Z"
}

Update a lead

Updates one or more fields on an existing lead. Only the fields you include are changed. Path parameter
lead_id
string
required
The ID of the lead to update.
Body — pass any subset of the fields below:
name
string
Updated full name.
phone
string
Updated phone number (E.164).
email
string
Updated email address.
status
string
Updated pipeline status: "new", "contacted", "qualified", or "converted".
tags
string[]
Replaces the existing tag list entirely.
curl -X PATCH https://api.boltcall.org/v1/leads/lead_001 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "qualified",
    "tags": ["high-intent", "dental-cleaning", "callback-requested"]
  }'
Response
{
  "id": "lead_001",
  "name": "Jane Smith",
  "status": "qualified",
  "tags": ["high-intent", "dental-cleaning", "callback-requested"],
  "updated_at": "2025-03-21T09:00:00Z"
}
Subscribe to the new_lead webhook event to receive instant notifications when Boltcall captures a lead from a call or form, so you can trigger follow-up automation without polling this endpoint.