Customer Onboarding

Create customers and set up accounts

Configuration

Architecture

Customer

Acme Corp

individual

KYC/KYB

Application

Accounts

Auto-created

1

POST /customers

Create individual customer "Acme Corp"

2

GET /customers/{customer_id}

Retrieve customer details and application URL

3

GET /applications/{application_id}

Check KYC/KYB application status

Generated Prompt
# Customer Onboarding - Dakota API Implementation

Help me implement the customer onboarding flow using the Dakota API. Below is the complete configuration and the exact sequence of API calls required.

## Authentication

All API requests require the following headers:

| Header | Description |
|--------|-------------|
| `x-api-key` | Your Dakota API key (required for all requests) |
| `x-idempotency-key` | Unique key to prevent duplicate operations (required for POST requests) |
| `Content-Type` | `application/json` |

**Environment:** Production
**Base URL:** `https://api.platform.dakota.xyz`

## Overview
Create a new individual customer in Dakota, which will trigger the KYC verification process and automatically set up their accounts.

## Configuration

| Parameter | Value |
|-----------|-------|
| Customer Type | `individual` |
| Name | `Acme Corp` |
| External ID | `usr_12345` |

## API Sequence

Execute the following API calls in order:

### Step 1: Create Customer
**`POST /customers`**
Documentation: https://docs.dakota.xyz/api-reference/customers/create

Request body:
```json
{
  "customer_type": "individual",
  "name": "Acme Corp",
  "external_id": "usr_12345"
}
```

This creates the customer record and returns a `customer_id` and `application_url` for identity verification.

### Step 2: Retrieve Customer Details
**`GET /customers/{customer_id}`**
Documentation: https://docs.dakota.xyz/api-reference/customers/retrieve

Use the `customer_id` from Step 1 to fetch full customer details including the hosted application URL for KYC/KYB completion.

### Step 3: Check Application Status
**`GET /applications/{application_id}`**
Documentation: https://docs.dakota.xyz/api-reference/applications/retrieve

Poll this endpoint to check verification status. Status values: `pending`, `in_review`, `approved`, `rejected`.

---

## Reference Documentation

- Customer Onboarding: https://docs.dakota.xyz/documentation/customer-onboarding
- Full API Reference: https://docs.dakota.xyz/api-reference/introduction