Overview
The onboarding process involves:- Creating a customer record (KYB automatically initiated)
- Redirecting customer to complete verification
- Monitoring KYB status via API or webhooks
Step 1: Create a Customer
First, create a customer record with basic business information.Customer Creation Fields
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
name | string | ✅ | Legal name of the business or individual | "Acme Corp" |
customer_type | string | ✅ | Type of customer account. Must be "business" or "individual" | "business" |
external_id | string | ❌ | Your internal identifier for this customer | "acme_001" |
Request Example
cURL
JavaScript
Python
Go
Rust
Java
Step 2: Application Process (Automatic)
An onboarding application is automatically created when you create a customer. The response includes anapplication_url that you can use to redirect your customer to Dakota’s hosted onboarding form.
Automatic Application Creation
When you create a customer, the system automatically:- Creates an onboarding application
- Generates a secure
application_urlwith an embedded token - Sets the initial application status to
"pending"
Response Fields
The customer creation response includes:| Field | Description | Example |
|---|---|---|
id | Unique identifier for the customer | "2Nq8G7xK9mR4Ls6DyJ1Uf3Tp" |
kyb_links | Array of KYB provider links (if any) | [] |
application_id | Unique identifier for the onboarding application | "2WGC9cKv9P4K8eGzqY6qJ3Xz7Qm" |
application_url | Dakota-hosted onboarding URL with embedded auth token | "https://apply.dakota.com/applications/...?token=..." |
application_expires_at | Unix timestamp (nanoseconds) when the application token expires | 1734567890000000000 |
Using the Application URL
From the customer creation response, extract the onboarding URL:Step 3: Handle the Onboarding Flow
Direct your customer to theapplication_url to complete verification using Dakota’s hosted onboarding form. The customer will:
- Provide business information and documentation
- Add beneficial owners and control persons
- Upload required documents (ID, proof of address, etc.)
- Submit the application for review
- Receive approval or requests for additional information
Step 4: Monitor Application Status
Check onboarding status programmatically:cURL
JavaScript
Python
Go
Rust
Java
KYB Status Values
Thekyb_status field indicates the customer’s verification status:
| Status | Description |
|---|---|
pending | KYB verification in progress |
active | Customer approved and can transact |
partner_review | Under manual review |
rejected | Verification failed |
frozen | Account suspended |
Best Practices
User Experience
- Clearly communicate the onboarding requirements
- Provide progress indicators
- Set expectations for processing time
- Offer support contact information
Error Handling
- Handle rejection gracefully
- Provide clear next steps
- Allow customers to restart if needed
- Log all onboarding events
Compliance
- Store audit trails
- Monitor for suspicious activity
- Keep records for compliance reporting
- Regular review of rejected applications
Required Documents
Typical documents required for business verification:- Certificate of Incorporation
- Bank Statements
- Director/Officer Identification
- Beneficial Ownership Information
Troubleshooting
Common Issues
Onboarding Stuck in “Pending”- Check if customer has accessed the onboarding URL
- Ensure document quality meets requirements
- Consider manual review process
- Verify webhook endpoint is responding with 200
- Check webhook signature validation
- Review webhook logs in dashboard
Next Steps
After successful customer onboarding:- Set up Recipients & Destinations - Configure payment targets
- Create Transactions - Process payments for approved customers
- Webhook Integration - Get real-time KYB status updates
- Testing - Test your onboarding flow
API Reference
For detailed endpoint documentation, see:- Customers API Reference - Customer creation and management
- KYB Providers API Reference - KYB initiation and status checking
- Webhooks API Reference - Real-time onboarding notifications