List contacts
Returns contacts in the API key scope, newest first. Requires read_only. Search matches name, email or company. Tag filters use any match. Account and platform filters use contact channels. filters.tags always covers the unfiltered in-scope set. Reads use the plan per-minute budget.
Request
- Base URL: https://api.postzen.dev
- URL: https://api.postzen.dev/v1/contacts
- Auth: HTTP bearer
Query parameters
Owning profile id; immutable and must be in the API key scope.
Connected account id; must belong to the same profile and caller.
Case-insensitive substring search across name, email and company.
Match this tag case-insensitively; combined with tags using any-match semantics.
Comma-separated tags; a contact matching any supplied tag is included.
PostZen platform. Always resolved from the connected account.
Filter by contact subscription state.
Page size, an integer from 1 to 200; invalid values return 400.
Number of matching rows to skip, a nonnegative integer.
Response
List contacts.
Example response
{
"contacts": [
{
"id": "jd7contact123",
"profileId": "jd7profile123",
"name": "Jane Doe",
"email": "jane@example.com",
"company": "Acme",
"avatarUrl": "https://images.example.com/jane.jpg",
"tags": [
"VIP",
"Lead"
],
"isSubscribed": true,
"isBlocked": false,
"notes": "Interested in the launch.",
"customFields": {
"leadScore": 42,
"customer": true
},
"messagesSentCount": 3,
"messagesReceivedCount": 5,
"lastMessageSentAt": "2026-09-19T12:00:00.000Z",
"lastMessageReceivedAt": "2026-09-19T12:00:00.000Z",
"source": "api",
"createdAt": "2026-09-19T12:00:00.000Z",
"updatedAt": "2026-09-19T12:00:00.000Z",
"platform": "instagram",
"platformIdentifier": "178414000001",
"displayIdentifier": "@jane",
"channelCount": 1
}
],
"filters": {
"tags": [
"Lead",
"VIP"
]
},
"pagination": {
"total": 1,
"limit": 50,
"skip": 0,
"hasMore": false
}
}Changes
No recorded changes to this operation across all 1 revision of this API.