List contacts
GET/contacts
GET /contacts: page through contacts with cursors, filtered by segment or status.
List contacts with cursor pagination. Pass ?limit= (1-100, default 50) and the previous page's next_cursor as ?cursor=. To find a single contact by number, pass ?phone= - the 0-or-1 match comes back in the same envelope.
Request
curl "https://sendy.co.il/api/v1/contacts?limit=2" \
-H "Authorization: Bearer sk_live_8Jc…"const res = await fetch(`https://sendy.co.il/api/v1/contacts?limit=2`, {
headers: { Authorization: "Bearer sk_live_8Jc…" },
});
const { data, has_more, next_cursor } = await res.json();Response · 200 OK
{
"data": [
{
"id": "cmc0contact0001",
"phone": "+972501234567",
"first_name": "Dana",
"subscribed": true,
"source": "MANUAL",
"segments": [{ "id": "cmc0seg0001", "name": "Newsletter" }],
"created_at": "2026-07-15T10:00:00.000Z",
"updated_at": "2026-07-15T10:00:00.000Z"
}
],
"has_more": true,
"next_cursor": "Y21jMGNvbnRhY3QwMDAx"
}Look up by phone
curl "https://sendy.co.il/api/v1/contacts?phone=%2B972501234567" \
-H "Authorization: Bearer sk_live_8Jc…"const params = new URLSearchParams({ phone: "+972501234567" });
const res = await fetch(`https://sendy.co.il/api/v1/contacts?${params}`, {
headers: { Authorization: "Bearer sk_live_8Jc…" },
});
const { data } = await res.json();