List contacts
List and search contacts for a profile. Supports filtering by tags, platform, subscription status, and full-text search.
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
Filter by profile. Omit to list across all profiles. Matches the profile recorded on the contact itself, which is set when the contact is created and is independent of the profile its account currently belongs to. Filter by accountId to list a contact through its channel instead.
Filter by the SocialAccount that owns the contact channel. Contacts are resolved through their channels, so the profileId contact filter is not applied while accountId is set. A profileId sent alongside is still access-checked and still scopes the returned filters.tags list.
Comma-separated tags, matches contacts carrying any of them
"instagram" | "facebook" | "telegram" | "twitter" | "bluesky" | "reddit" | "whatsapp""true" | "false"50value <= 2000Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.contacts.listContacts();console.log(data);{
"success": true,
"contacts": [
{
"id": "string",
"name": "string",
"email": "string",
"company": "string",
"avatarUrl": "string",
"tags": [
"string"
],
"isSubscribed": true,
"isBlocked": true,
"lastMessageSentAt": "2019-08-24T14:15:22Z",
"lastMessageReceivedAt": "2019-08-24T14:15:22Z",
"messagesSentCount": 0,
"messagesReceivedCount": 0,
"customFields": {},
"notes": "string",
"createdAt": "2019-08-24T14:15:22Z",
"platform": "string",
"platformIdentifier": "string",
"displayIdentifier": "string"
}
],
"filters": {
"tags": [
"string"
]
},
"pagination": {
"total": 0,
"limit": 0,
"skip": 0,
"hasMore": true
}
}{
"error": "Unauthorized"
}