Sign inGet an API key
API reference

Contacts

Create, update, list and delete contacts.

List contacts

GET/contactsscope: contacts:read

Query: search (matches phone or name), page, per_page (1–100, default 25). Response: { "data": [ … ], "meta": { "page", "last_page", "total" } }.

Create or update a contact

POST/contactsscope: contacts:write

Contacts are keyed by normalised phone number. If the number already exists the contact is updated (200); otherwise it is created (201, source defaults to api).

curl -X POST https://waba.clouddns.co.in/api/v1/contacts \
  -H "Authorization: Bearer wk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+1 415 555 0100",
    "name": "Jane Cooper",
    "email": "jane@example.com",
    "tags": ["vip", "newsletter"],
    "groups": ["Spring sale"],
    "custom_fields": { "city": "Austin" },
    "opted_in": true
  }'
FieldTypeNotes
phonestring, required8–15 digits after normalisation. Cannot be changed afterwards.
namestringMax 120.
emailstringValid e-mail.
tagsstring[]Up to 20, each max 40.
groupsstring[]Up to 20, each max 40.
custom_fieldsobjectFree-form key/value pairs usable in templates and automation.
opted_inbooleanfalse records an opt-out; no marketing messages will be sent.
type, status, sourcestringOptional classification fields.

Creating beyond your plan’s contact limit returns 422 Contact limit reached.

Delete a contact

DELETE/contacts/{id}scope: contacts:write

Returns 204 No Content, or 404 if the contact does not exist in your workspace.

Consent. Only message people who have opted in. WhatsApp can lower your number’s quality rating, or restrict it, if recipients block or report you.