Skip to main content
POST
Simulate the compliance verdict on a sandbox application

Authorizations

x-api-key
string
header
required

Path Parameters

id
string
required

Body

application/json
outcome
enum<string>
required

Decision to force onto the application. approved activates the resource it produces; rejected records a rejection.

Available options:
approved,
rejected
reason
string

Free-text rejection reason. Valid on the free-text branch ({ outcome: "rejected", reason }) and on category: GENERIC. Persisted verbatim to rejectionReason.

Maximum string length: 500
category
enum<string>

Structured rejection category. Selects a specific user-facing summary. Mutually exclusive with a bare reason on non-GENERIC branches.

Available options:
document_mismatch,
data_sourcing_mismatch,
compliance,
generic
field
string

Optional field hint. Requires category; sending field without category yields 400 VALIDATION_ERROR. Accepted by DOCUMENT_MISMATCH (TAX_ID / DATE_OF_INCORPORATION / BUSINESS_NAME / BUSINESS_ENTITY_ID) and DATA_SOURCING_MISMATCH (BUSINESS_ENTITY_ID / UBO_FIRST_NAME / UBO_LAST_NAME / UBO_PHONE / UBO_EMAIL / OWNERSHIP_LIST). Ignored on other categories and on the free-text branch.

Response

The application at its new terminal state

id
string
required

Unique application identifier

Pattern: ^app_[0-9A-Za-z]{22}$
status
enum<string>
required

Current lifecycle status of the application

Available options:
pending,
processing,
approved,
rejected,
cancelled
Example:

"pending"

createdAt
string<date-time>
required

Timestamp when the application was created

Example:

"2026-01-15T09:30:00.000Z"

updatedAt
string<date-time>
required

Timestamp when the application was last modified

Example:

"2026-01-15T09:30:00.000Z"

type
enum<string>
required
Available options:
customer_onboarding
clientReferenceId
string

Client-provided identifier for cross-referencing. Omitted when the client did not supply one. 1-255 characters from A-Za-z, 0-9, underscore, hyphen, colon, and period — no spaces.

Pattern: ^[A-Za-z0-9_\-:.]{1,255}$
Example:

"ext-12345"

submittedAt
string<date-time>

Timestamp when the application was submitted for review. Omitted while still in progress.

Example:

"2026-01-15T09:30:00.000Z"

failureCode
enum<string>

Machine-readable failure code on rejected applications. Omitted on non-rejected applications.

Available options:
rejected_by_ops,
compliance_denied
failureMessage
string

Customer-facing failure message accompanying failureCode. Omitted on non-rejected applications.

customerId
string

Customer this onboarding application produced. Omitted while the application is still being reviewed; present after approval persists the customer row.

Pattern: ^cus_[0-9A-Za-z]{22}$
persons
object[]

People declared on the submission (beneficial owners and controlling persons), in submit order. Omitted before the application carries a submission.