Actualizar un contacto
Contacts
PATCH /v1/contacts/:id
Partially update a contact’s profile data and custom fields.
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 malformedemail 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 thecontacts: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
""ornullleaves 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_fieldsis merged, not replaced. Sending{"plan": "enterprise"}updatesplanand 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
Personal Access Token con prefijo kbai_pk_. Generar desde el portal con permiso developer.manage_tokens.
Path Parameters
Body
application/json
Response
200 - application/json