Create a customer record
Creates a new customer for the authenticated client and returns the created customer record.
Authorizations
Headers
Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.
Sandbox-only. Applies a preset failure or behavior mode for the request, selecting a coherent combination of error step, status, and message. The full set of scenarios is also exposed dynamically via GET /sandbox/scenarios along with descriptions and per-rail applicability.
Effective only on https://api.platform.sandbox.dakota.xyz. Ignored in production.
happy_path, delayed_settlement, insufficient_funds, compliance_block, invalid_account, provider_maintenance, network_congestion, kyb_manual_review, kyb_rejected, kyb_expired, network_timeout, intermittent_errors, account_frozen, document_expired, invalid_swift "insufficient_funds"
Sandbox-only. Names the pipeline step at which the injected error fires. Pair with X-Sandbox-Error-Status and (optionally) X-Sandbox-Error-Message to drive a deterministic failure mode at a known point in the request lifecycle. Values longer than 100 characters are ignored.
Effective only on https://api.platform.sandbox.dakota.xyz. Ignored in production.
transaction_processing, compliance_check, account_validation, provider_call, kyb_submission, kyb_approval, network_call 100"provider_call"
Sandbox-only. Sets the HTTP status code returned when the sandbox injects an error at the configured step (see X-Sandbox-Error-Step). Must be a valid HTTP status code in the range 100-599; values outside that range are ignored. Status codes >= 400 cause the request to short-circuit immediately with a structured error response.
Effective only on https://api.platform.sandbox.dakota.xyz. Ignored in production.
100 <= x <= 599503
Sandbox-only. Sets the human-readable message field of the injected sandbox error response. Truncated values longer than 500 characters are ignored.
Effective only on https://api.platform.sandbox.dakota.xyz. Ignored in production.
500"Provider temporarily unavailable for maintenance."
Sandbox-only. When true, prevents the default 5-second KYB auto-approval that the sandbox applies to newly created customers. Use this header (typically with X-Sandbox-Scenario: kyb_manual_review or kyb_rejected) to keep an application in pending so integrators can exercise manual-review and rejection flows. Accepts true/false (also 1/0, yes/no); other values are treated as false.
Effective only on https://api.platform.sandbox.dakota.xyz. Ignored in production.
true
Body
Request to create a customer and subsequently initiate a Know Your Business (KYB) verification process.
Name of the customer - either a person's name or company name. Must contain at least one non-whitespace character.
3 - 100.*\S.*"Acme Corporation"
Type of entity being created - either an individual person or a company/organization.
individual, business "business"
Unique identifier for the customer in the client's system. This ID is used to track the customer in the client's database.
"external_customer_123"
ID of an existing sub-client to associate this new customer with. The referenced customer must belong to the same client and must itself be a sub-client. Cannot be combined with is_sub_client.
27^[0-9A-Za-z]{27}$"1NFHrqBHb3cTfLVkFSGmHZqdDPi"
When true, create this customer as a sub-client. A customer can only be designated a sub-client at creation time; a regular customer cannot be promoted to a sub-client afterwards. Cannot be combined with sub_client_id.
Response
Customer record successfully created
Response returned when a customer creation process is successfully initiated.
KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.
27^[0-9A-Za-z]{27}$"1NFHrqBHb3cTfLVkFSGmHZqdDPi"
KYB Links for different providers used in the KYB process.
Unique identifier for the automatically created application record
27^[0-9A-Za-z]{27}$"1NFHrqBHb3cTfLVkFSGmHZqdDPi"
Public URL for completing the application via web form (includes embedded token)
"https://apply.dakota.com/applications/2WGC9cKv9P4K8eGzqY6qJ3Xz7Qm?token=kJ8xN3zQ9mL2pR5vY7wC1aF4dG6hK0sT8uW3nB5eM9"
Unix timestamp (nanoseconds) when the application token expires (30 days from creation)
1734567890000000000

