Update contacts

Batch size: 1–100 contacts. The current handler denies callers with the TRIAL role, including callers that also have another listed role; a subscription trial and the TRIAL role are not interchangeable. This denial can return HTTP 401 with a plain-text body. Do not assume a JSON error or retry by widening token scopes.

Update contacts. PUT /api/ext/v3/contacts.

Permissions

For API access tokens and OIDC tokens, satisfy at least one of: api, wati_integration:write, contactsv3:write. API access tokens may satisfy a listed scope through the configured scope hierarchy; OIDC tokens are checked against their scope claims. Legacy JWT authentication does not use this scope check. Authentication, role, tenant, and applicable feature or plan checks still apply. For HTTP 403, check the credential type, applicable scopes, roles, and workspace access; 403 does not always mean a missing scope. Authentication/authorization failures do not guarantee a JSON response body.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Request model for updating contacts.

contacts
array of objects
required
length between 1 and 100

1–100 contacts per request. Nested update fields retain their documented names, including customParams.

contacts*

Individual contact update request.

string | null
required

The target contact in the following formats:

  • ContactId: The unique ID of a contact.
  • PhoneNumber: The contact's phone number (e.g., 14155552671).
  • Channel:PhoneNumber: A combination of the channel (name or phone number) and the recipient's phone number (e.g., MyChannel:1415552671, 123456789:1415552671).
customParams
array of objects | null

Custom parameters of the contact.

customParams
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json-patch+json

Generated from available request content types

Allowed:
Responses

429

Too many requests. Either the rate limit has been exceeded or usage limits have been reached.

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain