Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.teli.ai/llms.txt

Use this file to discover all available pages before exploring further.

Get Campaign Contacts

Retrieve all contacts in a campaign with their current status and assignment details. For non-admin users, only threads assigned to them are returned.

Endpoint

GET /v1/campaigns/{campaign_id}/contacts

Authentication

X-API-Key
string
required
Your API key

Path Parameters

campaign_id
string
required
The campaign ID

Query Parameters

user_id
string
The current user’s unique_id. Used for filtering threads by assignment when is_admin is false.
is_admin
boolean
default:"false"
If true, returns all contacts in the campaign. If false, only returns contacts assigned to the specified user_id.
limit
integer
default:"1000"
Maximum number of contacts to return in this response. Values greater than 10000 are silently capped at 10000.
offset
integer
default:"0"
Number of contacts to skip before the response window. Combine with limit to page through a large campaign.

Response

success
boolean
Whether the request was successful
contacts
array
Array of contact objects
total
number
Total number of contacts in the campaign that match the scope filter (before limit/offset are applied)
returned
number
Number of contacts included in this response (after limit/offset)
limit
number
The effective limit used for this response (capped at 10000)
offset
number
The offset used for this response
has_more
boolean
true when there are more contacts beyond offset + returned. Paginate by calling again with offset = offset + returned.

Example Request

curl "https://partner.teli.ai/api/proxy/v1/campaigns/camp_abc123/contacts?user_id=admin_001&is_admin=true" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "success": true,
  "contacts": [
    {
      "thread_id": "+15551234567_camp_abc123",
      "phone_number": "+15551234567",
      "first_name": "Anthony",
      "last_name": "Toma",
      "email": "anthony@example.com",
      "has_ever_responded": "true",
      "last_message_timestamp": "2026-02-19T17:29:00Z",
      "drip_step_index": 0,
      "lead_outcome": "qualified",
      "objective_met": "true",
      "assigned_user_id": "user_xyz789",
      "assigned_user_name": "Tao Zhang",
      "assigned_at": "2026-02-20T23:07:28Z"
    }
  ],
  "total": 1,
  "returned": 1,
  "limit": 1000,
  "offset": 0,
  "has_more": false,
  "powered_by": "Teli"
}

Filtering Behavior

Calleris_adminResult
AdmintrueAll contacts in the campaign
UserfalseOnly contacts assigned to user_id
User (no assignments)falseEmpty array