Contacts API
Query contact information across all your conversations and channels.
List Contacts
GET/api/contacts
Retrieve contacts with pagination.
Query Parameters
limitinteger
Results per page (default: 10)
pageinteger
Page number
bash
curl -X GET "https://api.cekat.ai/api/contacts?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
200 OK
{
"success": true,
"data": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"contact_name": "Customer Name",
"phone_number": "6281234567890",
"email": null,
"platform": "whatsapp",
"inboxes": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "CekatAI Verified"
}
],
"additional_data": null,
"created_at": "2026-04-10T09:21:30.635047+00:00"
}
],
"metadata": {
"pagination": {
"total_page": 25962,
"total_items": 129810,
"current_page": 1
}
}
}
Contact Object
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique contact identifier |
contact_name | string | Contact display name |
phone_number | string | Phone number |
email | string | Email address (nullable) |
platform | string | First contact platform |
inboxes | array | Inboxes where contact has conversations |
additional_data | object | Custom metadata (nullable) |
created_at | string | Creation timestamp |
Code Examples
javascript
const getContacts = async (filters = {}) => {
const params = new URLSearchParams(filters);
const response = await fetch(
`https://api.cekat.ai/api/contacts?${params}`,
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
return response.json();
};
// Get recent contacts
const contacts = await getContacts({ limit: 10 });
console.log(`Total contacts: ${contacts.metadata.pagination.total_items}`);
// Loop through contacts
contacts.data.forEach(contact => {
console.log(`${contact.contact_name} (${contact.platform})`);
});
