API v1Contacts
List contacts
gethttps://api.whatsable.app/v1/contacts
Build a request to copy
This page never sends a request. Fill in the fields, then copy the request and run it from your server.
Request
curl -X GET 'https://api.whatsable.app/v1/contacts'
bearerAuthheader
AuthorizationBearer <nfy_live_<32 characters>>An API key from Settings > API keys, sent as Authorization: Bearer <key>.
limit?integerHow many items to return, 1 to 100.
Range
1 <= value <= 100Default
25cursor?stringThe next_cursor of the previous page. An expired or malformed cursor answers 400 invalid_cursor.
Length
1 <= length <= 512phone?stringA phone number in E.164. The +, spaces and dashes may be omitted; the canonical +digits form is what is stored and returned.
wa_user_id?stringA Business-Scoped User ID: a country code, a period, then letters and digits.
Match
^[A-Z]{2}\.[A-Za-z0-9]{8,128}$username?stringWith or without the leading @.
Length
1 <= length <= 64label_id?stringLength
1 <= length <= 64updated_after?stringOnly contacts changed after this instant. For polling.
Format
date-timeA page of contacts, newest first.
application/json- response
object*stringdata*array<>has_more*booleanTrue when another page follows this one.
next_cursor*|Pass as cursor to read the next page. Null on the last page. Valid for 24 hours.
curl -X GET 'https://api.whatsable.app/v1/contacts'Example Response
{ "object": "list", "data": [ { "object": "contact", "id": "cm2v8k1a00001qz8h8x9y0z1a", "phone": "+5491155550000", "wa_user_id": null, "username": null, "name": "Ana Pérez", "note": null, "automation_note": null, "labels": [ { "id": "cm2v8l1a00001qz8h2b3c4d5e", "name": "VIP" } ], "conversations": [ { "id": "cm2v8c1a00001qz8h4t5u6v7w", "number_id": "cm2v8a1b20002qz8h9i0j1k2l" } ], "follow_ups": "on", "created_at": "2026-09-01T12:00:00Z", "updated_at": "2026-10-20T19:51:21Z" } ], "has_more": true, "next_cursor": "string"}