Applications
Applications represent the onboarding journey for your customers. They are used to collect KYC information and documents required to open accounts on the platform.
Endpoints
Retrieve a list of applications with optional filtering.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
status |
string | Filter by status (INCOMPLETE, READY_FOR_SUBMISSION, SUBMITTED, APPROVED, REJECTED) |
type |
string | Filter by type (INDIVIDUAL, CORPORATION) |
limit |
integer | Number of results to return (default: 20) |
cursor |
string | Pagination cursor |
Response
{
"data": [
{
"id": "app_123456789",
"type": "INDIVIDUAL",
"status": "APPROVED",
"customer_id": "cust_987654321",
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T14:45:00Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "cursor_abc123"
}
}
Create a new application to onboard a customer.
Request Body
| Field | Type | Description |
|---|---|---|
type required |
string | Application type: INDIVIDUAL or CORPORATION |
email required |
string | Primary contact email |
phone |
string | Primary contact phone number |
individual |
object | Individual details (required for INDIVIDUAL type) |
corporation |
object | Corporation details (required for CORPORATION type) |
Example Request
{
"type": "INDIVIDUAL",
"email": "john.doe@example.com",
"phone": "+1234567890",
"individual": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-15",
"address": {
"line1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
}
}
Response
{
"id": "app_123456789",
"type": "INDIVIDUAL",
"status": "INCOMPLETE",
"created_at": "2026-01-15T10:30:00Z"
}
Retrieve details of a specific application.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id required |
string | The application ID |
Response
{
"id": "app_123456789",
"type": "INDIVIDUAL",
"status": "READY_FOR_SUBMISSION",
"email": "john.doe@example.com",
"individual": {
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1990-01-15",
"address": {
"line1": "123 Main St",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
}
},
"documents": [
{
"id": "doc_111",
"type": "PASSPORT",
"status": "UPLOADED"
}
],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T12:00:00Z"
}
Update an existing application. Only applications with status INCOMPLETE or CHANGES_REQUESTED can be updated.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id required |
string | The application ID |
Request Body
Include only the fields you want to update.
Response
{
"id": "app_123456789",
"type": "INDIVIDUAL",
"status": "INCOMPLETE",
"updated_at": "2026-01-15T14:00:00Z"
}
Retrieve the status of an application including validation errors and required documents.
Response
{
"id": "app_123456789",
"status": "INCOMPLETE",
"validation_errors": [
{
"field": "individual.date_of_birth",
"message": "Date of birth is required"
}
],
"required_documents": [
{
"id": "doc_req_001",
"type": "PASSPORT",
"status": "PENDING"
},
{
"id": "doc_req_002",
"type": "PROOF_OF_ADDRESS",
"status": "PENDING"
}
]
}
Submit an application for review. The application must have status READY_FOR_SUBMISSION.
Response
{
"id": "app_123456789",
"status": "SUBMITTED",
"submitted_at": "2026-01-15T15:00:00Z"
}
Add an individual to a corporate application. Used for adding beneficial owners, officers, or authorized users.
Request Body
| Field | Type | Description |
|---|---|---|
role required |
string | BENEFICIAL_OWNER, OFFICER, DIRECTOR, or AUTHORIZED_USER |
first_name required |
string | First name |
last_name required |
string | Last name |
ownership_percentage |
number | Ownership percentage (for beneficial owners) |
Response
{
"id": "ind_456789",
"role": "BENEFICIAL_OWNER",
"first_name": "Jane",
"last_name": "Smith",
"ownership_percentage": 30,
"created_at": "2026-01-15T16:00:00Z"
}
Update an individual's details on an application.
Response
{
"id": "ind_456789",
"role": "BENEFICIAL_OWNER",
"first_name": "Jane",
"last_name": "Smith",
"updated_at": "2026-01-15T17:00:00Z"
}
Remove an individual from an application.
Response
// No response body
Generate a one-time access code for the application. Used for secure document upload portals.
Response
{
"access_code": "ABC123XYZ",
"expires_at": "2026-01-15T18:00:00Z"
}