/v1/contactsList contacts
Keyset-paginated contacts the caller can see (their own, and the people behind leads they can see). `q` matches the name, a phone suffix (4+ digits) or the email. Sort keys: created_at, updated_at, name.
Access: API key with contacts:read, or a member session. Permission contacts.view.
Parameters
cursorquery- string
Opaque cursor from the previous page (`meta.next_cursor`).
limitquery- integer
Page size, 1–200.
sortquery- string
Comma list of sort keys, "-" prefix for descending, e.g. -received_at.
filterquery- string
Filter tree ({ all | any | not | field/op/value }) as JSON or base64url(JSON).
qquery- string
Free-text search.
archivedquery- "true" | "false" | "only"
Include archived contacts (default false).
kindquery- ContactKind
Response · 200
datarequired- array of ContactSummary
metarequired- PageMeta
curl -X GET 'https://api.propzolo.com/v1/contacts' \
-H 'Authorization: Bearer pz_live_…'{
"data": [
{
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string",
"phone": "string",
"email": "string",
"kinds": [
"string"
],
"city": "string",
"is_nri": true,
"country": "string",
"tags": [
"string"
],
"dnd": true,
"blocked": true,
"owner": {
"id": "cmusrceel0000q7kaafxqi1om",
"name": "string"
},
"lead_count": 0,
"created_at": "2026-10-06T05:30:00.000Z",
"updated_at": "2026-10-06T05:30:00.000Z",
"archived": true
}
],
"meta": {
"next_cursor": "string",
"has_more": true
}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

