Skip to main content
PATCH
Actualizar un contacto
Updates the profile fields of a contact. Only the fields you send are touched; everything else is left alone. The channel identity — channel_type, user_id, and channel — is immutable. If you got it wrong, delete the contact and create it again.

Endpoint

Required scope

contacts:write

Headers

Path parameters

Body

Example request

Response

200 OK

400 Bad Request

A malformed email or profile_pic, or a property the endpoint does not accept — including channel_type, user_id, company, and project.

401 Unauthorized

Missing, invalid, revoked, or expired token.

403 Forbidden

The token does not have the contacts:write scope.

404 Not Found

No contact with that id, or the contact belongs to a different company.

502 Bad Gateway

The messaging service could not complete the write.

Operational notes

  • You cannot clear a field. Sending "" or null leaves the previous value in place — the update only overwrites a field when the new value is non-empty. To empty a field, set it to a placeholder your integration recognises.
  • custom_fields is merged, not replaced. Sending {"plan": "enterprise"} updates plan and leaves every other key untouched. There is no way to remove a key through this endpoint.
  • Every change is logged. Updating first_name, last_name, username, phone, email, profile_pic, or any custom field writes an entry to the contact’s history, attributed to the user who owns the token.
  • Tags are not editable here. Setting a contact’s tags requires tag ids, and there is no public endpoint yet to discover them.

Authorizations

Authorization
string
header
required

Personal Access Token con prefijo kbai_pk_. Generar desde el portal con permiso developer.manage_tokens.

Path Parameters

id
string
required

Body

application/json
username
string
first_name
string
last_name
string
phone
string

Teléfono en formato E.164

email
string
profile_pic
string

URL de la foto de perfil

custom_fields
object

Se mergea con los campos existentes; no reemplaza el objeto completo.

Response

200 - application/json
contact
object
required