Send the session for review. The session moves to IN_REVIEW, stops accepting documents, and no longer expires. The request takes no body. Blaaiz refuses the submit when any step of the requirement set is still PENDING, when the session already left AWAITING_INPUT, and when the session is HOSTED. A step that is null never blocks the submit. The person completes a HOSTED session on the verification link. A HOSTED session answers the submit with the message: This session is completed by the end customer on the verification link. Send the customer the verification_link, or call POST /sessions/{id}/verification-link to issue a new one. Signa must be enabled for your business. Required scope: compliance-kyc:create.
Authorization
oauth2ClientCredentials compliance-kyc:createUse your OAuth client credentials to obtain a short-lived Bearer token from POST /oauth/token.
In: header
Scope: compliance-kyc:create
Path Parameters
The verification session id returned by the create endpoint.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
curl --request POST \ --url 'https://example.com/api/external/compliance/kyc/sessions/9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33/submit'{ "message": "Verification session submitted successfully.", "data": { "id": "9f2c7b41-6d3e-4c8a-9a20-1e6f0b5d7c33", "business_id": "9d4c4ec5-572d-49de-a362-f01ed09f2b1b", "customer_reference": "user_10482", "requirements": [ "DOCUMENTS" ], "fulfilment_mode": "HEADLESS", "status": "IN_REVIEW", "steps": { "documents": "SUBMITTED", "selfie": null, "proof_of_address": null }, "rejection": null, "expires_at": "2026-08-30T09:14:22.000Z", "completed_at": null, "created_at": "2026-08-29T09:14:22.000Z" }}POSTUpload a verification document
Add one document to a session. Send the bytes one of two ways, never both: file_name names a file you already staged through the upload-url endpoint, and content_base64 carries the bytes inline. Use file_name for every real document, because a request body larger than about 8 KB is rejected at the network edge. An inline document must be 700 KB or smaller after decoding, and a staged file must be 5 MB or smaller. The session must be AWAITING_INPUT, and it must be HEADLESS. A HOSTED session refuses the call with a 422, because the end customer supplies the documents on the verification link. The response is the session, with steps.documents set to SUBMITTED. Signa must be enabled for your business. Required scope: `compliance-kyc:create`.
POSTIssue a verification link
Issue a new verification link for a HOSTED session. The create response already carries the first link, so call this endpoint only to replace a link that expired or leaked. Read link_expires_at for the new deadline. The previous link may stop working as soon as Blaaiz issues a new one. The link is a live credential for one session: send it over a private channel and keep it out of your logs. The request takes no body. Blaaiz refuses the call when the session is terminal, and when the session is HEADLESS. Every HOSTED session can take a verification link, including a session with no selfie step. Signa must be enabled for your business. Required scope: `compliance-kyc:create`.