post
https://apis.kentro.live/channel/v1/customers
Duplicates are looked up in the sales channel by id, externalId, email, then phone digits. onDuplicate (default 'update') decides: 201 created, 200 updated or skipped, 409 duplicate; an inactive match is 422 inactive_customer. An update that changes nothing writes nothing and answers 200 unchanged. Unknown fields are refused (400).
Scope: customers:write, channel:write or admin.
Idempotency: send Idempotency-Key; a retry with the same key replays the first answer.
Rate limit: write class, 1,200 requests per minute per tenant by default (read class 6,000). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset; a refusal is 429 rate_limited with Retry-After.
