v1

latestOpenAPI 3.0.32026-07-2650226215.9 KB
Customers

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.

patch/customers/{customerId}

Path parameters

customerIdstring required

Request body

firstNamestring
middleNamestring
lastNamestring
emailstring
phonestring
birthDatestring
nationalitystring
ipAddressstring
externalIdstring
signedAgreementboolean

One-way operation - cannot be set back to false.

endorsementsstring[]

Request additional endorsements. New endorsements are added; existing ones are not removed. Including endorsement names triggers re-evaluation.

metadataobject

Example request

{
  "residentialAddress": {
    "line1": "123 Main St",
    "city": "New York",
    "state": "NY",
    "country": "US",
    "zipCode": "10001"
  },
  "identifyingInformation": [
    {
      "type": "ssn",
      "issuingCountry": "US",
      "number": "123456789"
    }
  ]
}

Response

Customer updated

idstring
objectstring
type'individual'

Customer type. Only individual is supported for MVP.

firstNamestring nullable
middleNamestring nullable
lastNamestring nullable
emailstring nullable
phonestring nullable

Primary phone in E.164 format.

nationalitystring nullable

ISO 3166-1 alpha-2 country code.

externalIdstring nullable

Developer's own user ID for cross-referencing.

status'active' | 'inactive'

active or inactive. Inactive customers cannot create new transactions. No intermediate states - all granularity lives in endorsement statuses.

signedAgreementboolean

Whether the customer has accepted OMS terms of service.

signedAgreementAtstring date-time nullable

Timestamp when signedAgreement was set to true. Null if not yet signed.

metadataobject nullable
createdAtstring date-time
updatedAtstring date-time

Example response

{
  "id": "cst_01H9Xa8F5dN6mP3q",
  "object": "customer",
  "type": "individual",
  "firstName": "Jane",
  "lastName": "Smith",
  "email": "jane@example.com",
  "phone": "+12125551234",
  "nationality": "US",
  "externalId": "usr_12345",
  "status": "active",
  "signedAgreement": true,
  "signedAgreementAt": "2026-03-20T14:15:22Z",
  "wallets": [
    {
      "id": "wlt_01H9Xb3K7nM2pQ4r",
      "type": "custodial",
      "address": "0x7B3a9F2c4D1eA8bF6390cE5d2B7fA104C8e3D9b1",
      "network": "polygon",
      "asset": "usdc",
      "balance": "1234.56",
      "estimatedValueUsd": "1234.56"
    }
  ]
}