Customer object
There is no top-level
status field on the customer object. Status is tracked per-capability; see the capabilities map above.Operations
Create a customer
POST /v2/customers
Submit identity information and explicitly request the capabilities you want to enable. The capabilities block tells Coinbase which compliance requirements to evaluate.
Get a customer
GET /v2/customers/{customerId}
Returns the current customer object, including all capabilities and outstanding requirements.
Update a customer
POST /v2/customers/{customerId}
Submit additional identity information needed to unlock a capability, or correct an existing field.
List customers
GET /v2/customers
Returns all customers for your entity, with pagination support.
Identity fields
| Field | API field | Notes |
|---|---|---|
| First name | individual.firstName | Required for any customer record |
| Last name | individual.lastName | Required for any customer record |
| Date of birth | individual.dateOfBirth | Object: { "day": "15", "month": "01", "year": "1990" } (lenient formatting accepted) |
| Full SSN | individual.fullSsn | Required for identity verification |
| Address | individual.address.* | US addresses only (initial release) |
| Purpose of account | individual.purposeOfAccount | Required for compliance review |
| Source of funds | individual.sourceOfFunds | Required for compliance review |
| Employment status | individual.employmentStatus | Required for trading capabilities |
| Occupation | individual.occupation | Required for trading capabilities |
| Expected volume | individual.expectedVolume | Required for trading capabilities |
| Citizenship | individual.citizenship | US only (initial release) |
email | Customer-level field | |
| Phone | phone | E.164 format |
End-user context
Includecompliance.requesterIpAddress on every create or update request. This is the IP address of the end-user (not your server) and is required for T3 onboarding:
Terms of Service
Certain capabilities require the customer to accept Coinbase’s Terms of Service before they become active. When atos requirement is present on the customer object, the requirement includes a url field with the current Terms of Service link.
- Read the
urlfrom thetosrequirement on the customer object and render it to the customer. - Record the customer’s acceptance and submit it:
Customer lifecycle
There is no top-level status field on the customer. Each capability has its own independent state:inactive states cannot be resolved through the API. Do not expose compliance-specific reasons to your end-users; Coinbase manages these compliance decisions on your behalf. See the Requirements page for what you can and cannot resolve.