Skip to main content
POST
/
applications
/
{application_id}
/
associated-individuals
/
{individual_id}
/
documents
Upload an individual document
curl --request POST \
  --url https://api.platform.dakota.xyz/applications/{application_id}/associated-individuals/{individual_id}/documents \
  --header 'Content-Type: application/json' \
  --header 'X-Application-Token: <api-key>' \
  --header 'x-idempotency-key: <x-idempotency-key>' \
  --data '
{
  "type": "passport",
  "file_type": "pdf",
  "file_content": "JVBERi0xLjQKJeLjz9MKMw==",
  "country": "US",
  "id_number": "AB1234567",
  "filename": "passport_front.jpg",
  "valid_until": "2027-04-20"
}
'
{
  "document_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi"
}

Authorizations

X-Application-Token
string
header
required

Application-specific token for public URL access. Generated when a customer is created. Provides access to a single application without requiring an API key. Token is valid for 30 days and rate-limited to 100 requests per hour.

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.

Path Parameters

application_id
string
required

The unique identifier for the application 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"

individual_id
string
required

The unique identifier for the individual 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"

Body

application/json

Request to upload a document for an individual (identity or EDD document). For identity documents (passport, drivers_license_front, drivers_license_back, residence_permit_front, residence_permit_back), id_number is required.

type
enum<string>
required

Type of document that can be uploaded for individuals (identity documents + EDD documents)

Available options:
passport,
drivers_license_front,
drivers_license_back,
residence_permit_front,
residence_permit_back,
proof_of_address,
bank_statement,
utility_bill,
source_of_wealth,
payslip,
employment_contract,
income_verification_letter,
savings_statement,
crypto_statement,
investment_statement
Example:

"passport"

file_type
enum<string>
required

Supported file type

Available options:
pdf,
jpeg,
png
Example:

"pdf"

file_content
string<byte>
required

Base64-encoded file content. Maximum size after decoding is 10MB.

Example:

"JVBERi0xLjQKJeLjz9MKMw=="

country
string
required

ISO 3166-1 alpha-2 country code of the issuing country. Required for identity documents, not required for EDD documents.

Required string length: 2
Example:

"US"

id_number
string

REQUIRED for identity documents (passport, driver's license, residence permit). The ID number on the document (e.g., passport number, driver's license number). Not required for EDD documents like bank statements.

Example:

"AB1234567"

filename
string

Optional original filename. Will be sanitized for safe storage and display.

Maximum string length: 100
Example:

"passport_front.jpg"

valid_until
string<date>

Optional expiration date of the identity document in YYYY-MM-DD format

Example:

"2027-04-20"

Response

Document uploaded successfully

Response after successfully uploading a document

document_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"