cURL
Users
/api/partner/v2/users
POST
cURL
Creates a new user under your partner account. Each user must have a unique email address within the scope of the partner. After creation, initiate KYC verification before the user can transact.
Important Notes
- Each
externalUserId(if provided) must be unique per partner. Reuse will cause a conflict. - Creating a user does not initiate KYC — use the KYC verification link endpoint next.
- Set
typetoINDIVIDUALfor personal accounts orBUSINESSfor corporate accounts. Business users use KYB verification instead of KYC. - Store the returned
userId— you’ll need it for all subsequent API calls for this user.
Use Cases
- User onboarding: Create users ahead of any financial operation.
- CRM syncing: Use
externalUserIdto map Capa users to your internal user model. - Business registration: Set
typetoBUSINESSfor corporate flows.
Error Codes
Common Errors
| HTTP Status | Code | Message |
|---|---|---|
| 401 | UNAUTHORIZED | ”API Key is missing” |
| 401 | UNAUTHORIZED | ”Invalid API Key format” |
| 401 | UNAUTHORIZED | ”Invalid API Key” |
| 403 | INVALID_PARTNER_FLOW | ”The partner has an invalid flow.” |
Endpoint-Specific Errors
| HTTP Status | Code | Message |
|---|---|---|
| 400 | INVALID_USER_INPUT_ERROR | ”Invalid User Input” (validation errors for type, email, externalUserId, alias) |
| 400 | BAD_REQUEST | ”Provided email is not valid” |
| 500 | INTERNAL_SERVER_ERROR | ”User creation failed” |
Headers
Api key for the affiliated partner that is performing the request
Body
application/json