Create a customer account
Creates a new customer (account) with the required KYC/KYB details.
doc_submission_ids on this request or link them afterward. If Brale’s review later requires more documents, subscribe to account.verification.documents_required (see Webhook Events) or poll required documents — stage and link those documents the same way. When verification passes, Brale sends account.verification.completed and the account status becomes complete.Linking documents at creation
Include optionaldoc_submission_ids in the request body to link staged document submissions when the account is created. Each ID must come from a prior Stage a Verification Document call (POST /documents). Omit the field to create the account without documents and link them later.
doc_submission_ids is not supported for testnet-only clients or self-attested accounts. In those cases, omit the field or link documents after creation if supported for your account type.
For the full account creation payload (business details, controller, beneficial owners, TOS attestation), see Accounts. For the individual (KYC) path, see Accounts — Creating an individual account.
Choosing between a business and an individual account
POST /accounts accepts three optional dimension fields — entity_type, account_type, and verification_mode — that select between a KYB-verified business account with Brale-custodied wallets and a KYC-verified individual account without custody. Omitting all three preserves today’s business behavior. See Account types for the full matrix.
Example request with documents (business)
Example response (201)
status remains pending while Brale reviews the submission.
Example request (individual)
Create a KYC-verified individual account. Theindividual object and tos_attestation are required. Business-only fields (business_name, ein, website, business_controller, beneficial_owners) must not be sent on this path.
Example response, individual (201)
name is derived from the individual’s first and last name. status transitions to complete when KYC succeeds and account.verification.completed fires. See Individual accounts for the end-to-end workflow, including the receive-only constraints on transactional accounts.
Required scope
accounts:writeAuthorizations
Use the Bearer token returned from the Auth endpoint via OAuth2 client_credentials flow. Include the token in the "Authorization: Bearer " header.
Headers
A unique string used to prevent duplicate operations. Each POST request must use a new idempotency key. Use a UUIDv4 string. Example: idemp-123e4567-e89b-12d3-a456-426614174000
Body
- CreateManagedAccountRequest
- CreateIndividualAccountRequest
Business (KYB) account creation payload. This is the default path when entity_type is omitted, or when it is explicitly set to business with account_type: custodial and verification_mode: standard.
"My Customer"
"123456789"
"515-555-1212"
"https://example.com"
Optional discriminator. When omitted, defaults to business.
business "business"
Optional. When omitted, defaults to custodial for business accounts.
custodial "custodial"
Optional. When omitted, defaults to standard.
standard "standard"
Deprecated alias of beneficial_owners.
"My Account"
Optional pre-staged verification document submission IDs to link on creation.
^[a-zA-Z0-9]{26}$Response
Account successfully created
^[a-zA-Z0-9]{26}$"2VcUIIsgARwVbEGlIYbhg6fGG57"