List contacts
Cursor-paginated contact list with tag, group and free-text filters.
Filter with ?tag=, ?group_id= and ?q= (e.g. ?tag=vip&q=sam). Repeat tag= for AND semantics: ?tag=vip&tag=launch returns contacts carrying both.
group_id filters to one contact group's members; combine freely with tag= and q=.
q= is a best-effort substring match over first/last name, email and phone, not a ranked search.
Filter by ?business_id= when syncing one managed business at a time.
Page with ?limit= (max 200, default 50) and ?cursor= (the previous page's next_cursor).
Always page with next_cursor: the compound (created_at, id) cursor never skips rows that share a timestamp.
Request
- Base URL: https://app.blueticked.com
- URL: https://app.blueticked.com/api/v1/contacts
- Auth: HTTP bearer
Query parameters
Filter by tag.
Filter by group_id.
Free-text search query.
Maximum number of items to return.
Opaque pagination cursor. Pass the next_cursor from a previous response; do not construct it yourself.
Response
Success
Example response
{
"data": [
{
"id": "ff506e53-e2f0-4d92-884a-dab77d628bad",
"business_id": "22222222-2222-4222-9222-222222222222",
"first_name": "Sam",
"last_name": "Mokoena",
"phone": "+27800000001",
"channels": {
"has_whatsapp": true,
"whatsapp_opted_in_at": "2026-05-22T10:30:00.000Z",
"has_sms": true,
"sms_opted_in_at": "2026-05-22T10:30:00.000Z"
},
"created_at": "2026-05-22T10:30:00.000Z",
"updated_at": "2026-05-22T10:30:00.000Z"
}
],
"next_cursor": "MjAyNi0wNS0yMlQxMDozMDowMHxjb25fMTIz",
"has_more": true,
"request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}Changes
No recorded changes to this operation across all 1 revision of this API.