Skip to main content
POST
/
customers
Create a customer record
curl --request POST \
  --url https://api.platform.dakota.xyz/customers \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --header 'x-idempotency-key: <x-idempotency-key>' \
  --data '
{
  "name": "Acme Corporation",
  "customer_type": "business",
  "external_id": "external_customer_123",
  "persona_inquiry_id": "inq_12345678901234567890123456",
  "is_client_application": false
}
'
{
  "id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "kyb_links": [
    {
      "provider_id": "trm_labs",
      "link_type": "persona",
      "url": "https://verify.provider.com/kyb/a1b2c3d4e5f6",
      "status": "pending",
      "created_at": 1234567890,
      "updated_at": 1234567890,
      "expires_at": 1234567890,
      "deleted_at": 1234567890
    }
  ],
  "application_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
  "application_url": "https://apply.dakota.com/applications/2WGC9cKv9P4K8eGzqY6qJ3Xz7Qm?token=kJ8xN3zQ9mL2pR5vY7wC1aF4dG6hK0sT8uW3nB5eM9",
  "application_expires_at": 1734567890000000000
}

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

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.

Body

application/json

Request to create a customer and subsequently initiate a Know Your Business (KYB) verification process.

name
string
required

Name of the customer - either a person's name or company name.

Required string length: 3 - 100
Example:

"Acme Corporation"

customer_type
enum<string>
required

Type of entity being created - either an individual person or a company/organization.

Available options:
individual,
business
Example:

"business"

external_id
string

Unique identifier for the customer in the client's system. This ID is used to track the customer in the client's database.

Example:

"external_customer_123"

persona_inquiry_id
string

Optional Persona inquiry ID. If provided, the existing Persona inquiry will be used instead of creating a new one.

Example:

"inq_12345678901234567890123456"

is_client_application
boolean
default:false

Internal only. Set to true when onboarding a new client (not an end-user). Requires super admin permissions.

Response

Customer record successfully created

Response returned when a customer creation process is successfully initiated.

id
string
required

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.

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

KYB Links for different providers used in the KYB process.

application_id
string
required

Unique identifier for the automatically created application record

Required string length: 27
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

application_url
string<uri>
required

Public URL for completing the application via web form (includes embedded token)

Example:

"https://apply.dakota.com/applications/2WGC9cKv9P4K8eGzqY6qJ3Xz7Qm?token=kJ8xN3zQ9mL2pR5vY7wC1aF4dG6hK0sT8uW3nB5eM9"

application_expires_at
integer<int64>
required

Unix timestamp (nanoseconds) when the application token expires (30 days from creation)

Example:

1734567890000000000