Skip to main content
PATCH
Actualizar un cliente
Updates a customer in place. Only the fields you send are written; everything else is left alone. There is no full-replacement variant. external_ids cannot be changed here — it is set at creation time.

Endpoint

Required scope

crm:customers:write

Headers

Path parameters

Body

All fields optional. Send only what changes.

Example request

Response

200 OK

Returns the updated customer, same shape as GET /v1/crm/customers/:id.

400 Bad Request

Malformed email, an identification_type outside the allowed set, or a property the endpoint does not accept.

401 Unauthorized

Missing, invalid, revoked, or expired token.

403 Forbidden

The token does not have the crm:customers:write scope.

404 Not Found

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

502 Bad Gateway

The CRM service could not complete the write. The most common cause is an identification_number that another customer in your company already uses — that collision surfaces as a 502, not a 409.

Operational notes

  • custom_fields and tags replace, not merge. Sending {"tags": ["65a…"]} drops every other tag on the record. Read the customer first if you only mean to add one.
  • Sending {"email": ""} is rejected as a malformed address. To clear a field, coordinate with your Keebai contact — the public API has no explicit null-out semantics yet.

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
name
string
last_name
string
email
string
phone
string
identification_number
string
identification_type
enum<string>
Available options:
rut,
dni,
passport,
other
identification_country
string
custom_fields
object
tags
string[]

Reemplaza la lista completa de tags

accepts_marketing
boolean

Response

200 - application/json
customer
object
required