POST
Submit KYC

Authorizations

x-api-key
string
header
required

Headers

x-tenant
string
required

Tenant identifier

Path Parameters

kycId
string
required

Query Parameters

finalize
boolean
default:false

Boolean whether to finalize the KYC submission after saving the answers, preventing further edits and transitioning the KYC to its next status

Body

application/json
answers
object
required

A map of question IDs (UUIDs) to their corresponding answers. Each key must be a valid UUID representing a question ID from the KYC form. Each value can be:

  • A single option ID (UUID) for single-choice questions (radio buttons)
  • An array of option IDs (UUIDs) for multi-choice questions (checkboxes)
  • A native string for open-ended text questions
  • An array of { optionId, additionalInfo? } objects when at least one selected option requires additional info
Example:

Response

Success

id
string
required

Dal's database Id

Example:

"b50c7893-cd88-42bd-9fdd-b94f493315f9"

createdAt
string<date-time>
required

Create timestamp

Example:

"2025-12-02 12:00:00.000"

updatedAt
string<date-time>
required

Update timestamp

Example:

"2025-12-04 12:00:00.000"

classification
enum<string>
required
Available options:
Retail,
Qualified,
Institutional
Example:

"Retail"

status
enum<string>
required

Current KYC status of the entity

Available options:
Invited,
ConsentPolicyPending,
KycPending,
SuitabilityReview,
SuitabilityDisclaimerPending,
SuitabilityRetake,
RiskReview,
EddPending,
EddReview,
QualifiedPending,
QualifiedReview,
AoaPending,
KycComplete,
KycBlocked,
KycRejected,
KycDeprecated,
KycExpired
Example:

"KycComplete"

completedAt
string<date-time> | null
required

Date at which the KYC has been completed

Example:

"2025-12-04 12:00:00.000"

eddStatus
enum<string>
required

EDD form status

Available options:
Disabled,
Pending,
Review,
Approved,
Rejected
Example:

"Pending"

qualifiedStatus
enum<string>
required

Qualified investor form status

Available options:
Disabled,
Pending,
Review,
Approved,
Rejected
Example:

"Approved"

entityId
string
required

Entity ID

Example:

"d290f1ee-6c54-4b01-90e6-d701748f0851"

flowId
string
required

Associated KYC flow ID

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

rmId
object | null
required

Relationship manager ID

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

rm
object | null
required

Relationship manager info

scores
object[]
required

Risk and suitability scores, newest first

entity
object
required

Entity the KYC belongs to

remainingAttempts
object | null

Remaining suitability attempts

Example:

3

progress
object

Overall progress of KYC, Risk, Suitability, EDD and AOA

flow
object

Details of the associated KYC flow