POST
/api/v2/usersCreate a new user
Authentication
Send your API key in the x-api-key header on every request.
Request body
application/json
| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | ||
| FirstName | string | Yes | |
| LastName | string | Yes | |
| Phone | string | No | |
| ExternalUserId | string | Yes | |
| TierId | unknown | No | |
| TierBillingCycle | string | No | |
| Metadata | object | No | |
| InitialKycSource | KycSourceV2 | No | |
| DateOfBirth | string | No | |
| Address | string | No | |
| City | string | No | |
| State | string | No | |
| Country | string | No | |
| ZipCode | string | No | |
| CreateMandate | boolean | No | |
| MandateMaxAmount | string | No | |
| MandateCurrency | string | No | |
| MandateDescription | string | No | |
| BusinessName | string | No | |
| BusinessExternalId | string | No | |
| BusinessParentId | unknown | No | |
| ReferralId | string | No | |
| AccountType | business | personal | No | Account type: "personal" or "business" (defaults to "personal") Allowed values: business, personal. Defaults to personal when omitted. |
Responses
201 — Created
| Field | Type | Required | Description |
|---|---|---|---|
| Id | unknown | No | |
| ExternalUserId | string | No | |
| string | No | ||
| FirstName | string | No | |
| LastName | string | No | |
| Status | AccountStatusV2 | No | |
| KycStatus | KycStatusV2 | No | |
| KycLevel | KycLevelV2 | No | |
| CreatedAt | string | No | |
| UpdatedAt | string | No | |
| CompanyId | unknown | No | |
| PackageId | unknown | No | |
| BusinessName | string | No | |
| BusinessExternalId | string | No | |
| BusinessParentId | unknown | No | |
| AccountType | business | personal | No | Allowed values: business, personal. |
| PrimaryExternalWalletId | string | No | |
| SelectedTierId | unknown | No | |
| TierBillingCycle | string | No | |
| OnboardingProductPreference | string | No |
400 — Bad Request
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
409 — Conflict
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
500 — Internal Server Error
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
Example request
curl -X POST "https://{base_url}/api/v2/users" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"Email":"…","FirstName":"…","LastName":"…","ExternalUserId":"…"}'This page is generated from the live OpenAPI specification and always matches the current API.