List KYC sessions
Retrieves a paginated list of KYC sessions for the authenticated organization. Supports filtering by state, completion status, date range, and free-text search across session ID, external ID, customer name, and email.
List KYC sessions › Request Body optional
searchQueryFree-text search across session ID, external ID, customer name, and email.
checkpointFilter by session checkpoint.
isCompleteFilter by completion status.
isInvalidFilter by invalid/flagged status.
createdAtsortByField to sort by.
sortOrderSort direction.
limitMaximum number of results to return (1–100).
offsetNumber of results to skip for pagination.
List KYC sessions › Responses
Paginated list of sessions.
List of KYC sessions matching the query.
totalCountTotal number of sessions matching the filters (before pagination).
Create a KYC session
Creates a new KYC verification session. Returns a signed session URL that can be shared with the customer. If customerEmail and customerName are provided, an invitation email with the session link and QR code is sent automatically.
Create a KYC session › Request Body optional
expiresInMsSession expiry duration in milliseconds. Defaults to 1 hour (3,600,000 ms).
workflowIdOptional Workflow ID to use for this session. If not provided, the organization default is used.
flowConfigExplicit FlowConfig defining the steps the customer will go through. If omitted, the config is derived from the workflow or the system default is used.
claimsIntegrator-asserted claim values for the workflow's session-sourced claims, keyed by canonical claim field (e.g. { dateOfBirth: '1990-01-15' }). Unknown fields and missing required claims are rejected.
ephemeralWhen true, the session is fully purged after the final verdict — customer media, pipeline artifacts, check data and the session itself are deleted from Dossiers, leaving only a PII-free tombstone with deletion counts. A kycSessions.session.purged webhook confirms it. Fetch any evidence you need to retain during the grace window.
purgeAfterMsEphemeral sessions only: grace period in milliseconds between the final verdict and the purge, during which media and results remain fetchable. Defaults to 24 hours (86,400,000 ms). Use 0 to purge immediately.
Create a KYC session › Responses
Session created successfully.
tokenShort-lived JWT token for customer access to the session.
sessionUrlFull URL the customer should visit to complete KYC verification.
Get a KYC session
Retrieves a single KYC session by its ID, including document verification and face verification results if available. If document verification is still in progress, the latest status is refreshed before returning.
path Parameters
idThe unique session ID.
Get a KYC session › Responses
Session details.
idUnique session identifier.
statusSession status.
isInvalidWhether the session is invalid (manually invalidated or superseded).
createdAtTimestamp when the session was created (Unix ms).
workflowSnapshotcurrentUserCurrent active tab/user holding the session lock.
expiresAtTimestamp when the session expires (Unix ms). Null if no expiry.
completedAtTimestamp when the session was completed (Unix ms). Null while in progress.
flowConfigFlowConfig specifying the ordered steps the customer goes through.
stepPreviewDataPer-step preview data with signed media URLs, keyed by stepId.
adminDecisionAdmin decision record (approve/reject) with reason and timestamp. Null until a decision has been made.
lastActivityAtTimestamp of the most recent genuine customer activity (Unix ms). Null if none recorded yet.
Export a KYC session report
Generates a branded, human-readable report for a completed session and returns a short-lived download URL. BUNDLE (the default) returns a ZIP containing report.pdf, every asset the customer submitted, the raw verification payload, and a manifest listing the SHA-256 of each file — an archivable evidence pack. PDF returns the rendered report alone. Generation is synchronous and takes a few seconds; the returned downloadUrl expires in 15 minutes, so fetch it promptly or re-issue this call.
path Parameters
idThe unique session ID.
Export a KYC session report › Request Body optional
sessionIdThe KYC session to export.
formatBUNDLE returns a ZIP containing report.pdf, every captured asset, the raw verification payload and a checksum manifest. PDF returns the rendered report alone.
includeInternalNotesInclude the reviewer-internal note on the decision. Off by default — the note is written for internal audit and is not intended to leave the organization.
includeImagesEmbed document, portrait and signature images in the PDF. Disable for a text-only report.
Export a KYC session report › Responses
Report generated.
downloadTokenStorage key of the generated file. Stable; audit-safe.
downloadUrlShort-lived signed download URL.
expiresAtISO 8601 expiry of downloadUrl.
filenamesizeByteschecksumSHA-256 of the delivered file, lowercase hex. Recompute after download to prove the archived copy is byte-identical to what was generated.
generatedAtISO 8601 generation timestamp.
reportVersionReport contract version, e.g. "1.0".
Every asset included in the bundle, with its checksum. Empty for the PDF format.
omissionsAssets that could not be included, with the reason. Non-empty here means the bundle is incomplete — surface it to the caller rather than treating the export as clean.

