Update a customer
Partial update. Only include fields you want to change. Compliance-relevant changes (residentialAddress, lastName, identifyingInformation, ipAddress) may trigger endorsement re-evaluation. Including endorsement names in the endorsements array explicitly triggers re-evaluation.
Authorizations
Token from POST /auth/token
Path Parameters
Body
Partial update — only send the fields you want to change. All optional fields from CustomerRequest can be updated (including ipAddress). PII fields are write-only.
Legal business name. Required for business creation; supports Unicode and punctuation. Only valid for business customers.
255One-way operation — cannot be set back to false.
Customer's residential address.
Appends to existing array. To replace an entry, submit the same type with updated fields.
Request additional endorsements. New endorsements are added; existing ones are not removed. Including endorsement names triggers re-evaluation.
basic, cryptoCustody, usd Response
Customer updated
Customer response object. PII fields (birthDate, residentialAddress, ipAddress, identifyingInformation) are write-only — accepted in POST/PATCH but never returned in responses.
"cst_01H9Xa8F5dN6mP3q"
Customer type. Individuals are subject to the project's KYC policy, businesses to its KYB policy.
individual, business "individual"
An individual's first, middle and last names joined by spaces, or a business's legal name. Left out when the customer has no name.
"Jane Smith"
"Jane"
null
"Smith"
"jane@example.com"
Primary phone in E.164 format.
"+12125551234"
ISO 3166-1 alpha-2 country code.
"US"
Developer's own user ID for cross-referencing.
"usr_12345"
Where the customer is in onboarding. actionRequired carries a hold saying what to do, and rejected carries a failure. offboarded is a deleted or deactivated customer.
pending, actionRequired, active, rejected, offboarded "active"
What you must do for a customer in actionRequired.
Why a customer or an endorsement was rejected.
Whether the customer has accepted OMS terms of service.
true
Timestamp when signedAgreement was set to true. Null if not yet signed.
"2026-03-20T14:15:22Z"
USD rollup of a customer's balances. Returned on GET /customers/{id} only — never on list, create, or update. Covers fiat wallets and custodial crypto wallets; noncustodial wallets are not yet valued, so a customer holding one reads an undercount here. Omitted entirely when the rollup cannot be read; a partial total is never returned, so treat an absent field as "unknown", not as zero.
Simplified flat view: one entry per wallet-asset combination. Use GET /wallets/{id} for the full representation.
What the customer is endorsed for. An endorsement never reads further along than its customer, and one that was not requested is left out.