Contacts
List contacts
List contacts on your workspace, newest first. Cursor-paginated; counts holds account-wide totals per status.
GET
https://api.sndr.sh/v1/contactsList contacts
curl 'https://api.sndr.sh/v1/contacts?status=subscribed&limit=20' \
-H "Authorization: Bearer $SNDR_API_KEY"200OK
{
"data": [
{
"id": "con_0e6b7f21-c58",
"organization_id": "org_8d41c7a2-3f6",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe",
"attributes": { "plan": "pro", "city": "Berlin" },
"status": "subscribed",
"source": "checkout",
"created_at": "2026-03-01T10:00:00Z",
"updated_at": "2026-03-01T10:00:00Z"
}
],
"has_more": false,
"count": 1,
"limit": 20,
"counts": { "subscribed": 1, "unsubscribed": 0, "bounced": 0, "complained": 0 }
}Authorization
AuthorizationstringheaderrequiredBearer followed by your API key. Needs the read scope.
Query parameters
limitintegerPage size. Default 50, max 200.
cursorstringThe next_cursor value from the previous page. Omit for the first page.
statusstringOnly contacts with this status: subscribed | unsubscribed | bounced | complained.
group_idstringOnly contacts in this group (grp_...).
qstringCase-insensitive search in email, first name and last name.
Errors
401
unauthenticatedMissing or invalid API key.403
insufficient_scopeThe API key is missing the read scope.422
validation_failedlimit is above 200, or cursor is not a value returned as next_cursor.