Create Contact
/v1/contactsCreates a new contact in the authenticated workspace. Requires contact:write scope.
Authorization
BearerAuth In: header
Request Body
application/json
Contact details. Name is required; phone number and email are optional.
TypeScript Definitions
Use the request body type in TypeScript.
Request body for creating a new contact.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/contacts" \ -H "Content-Type: application/json" \ -d '{ "name": "John Doe", "phone_number": "6281234567890", "email": "john.doe@example.com" }'{ "id": "550e8400-e29b-41d4-a716-446655440000"}Update message status POST
Reports a delivery status transition for a message (SENT, DELIVERED, READ, FAILED). The caller app is identified from the OAuth access token and must own the conversation the message belongs to — i.e. the conversation must have been created by, or be assigned to, the same app. Calls from any other app are rejected with 403 (`messages.app-not-permitted`). Returns 400 on invalid transitions, 404 if the message is not found. Requires `chat:write` scope.
Remove Contact Custom Attribute DELETE
Removes a specific custom attribute from a contact by its key. This permanently deletes the value but not the custom attribute definition. Requires `contact:write` scope.