Skip to main content
POST
curl
Prepare one ZIP with every file of a User Verification (KYC) or Business Verification (KYB) session: document sides, selfies, liveness videos and uploaded documents, in original quality. The ZIP is prepared in the background. The call answers 202 with the export; read it with Get files export until status is READY, then download download_url.
  • While an export of the same session is still being prepared, the call returns that export instead of starting a new one.
  • The ZIP is deleted 24 hours after it is ready, and at once when the session is deleted.
  • A deleted session cannot be exported: the call returns 404.
  • Every export is written to the session’s audit log.
  • A scoped API key needs media: read and decisions: read.

Authorizations

x-api-key
string
header
required

Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is wrong, revoked or expired; 403 means no key was sent, the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.

Path Parameters

sessionId
string<uuid>
required

UUID of the verification session (the session_id returned by POST /v3/session/). Accepts both User Verification (KYC) and Business Verification (KYB) session IDs. A deleted session returns 404.

Example:

"11111111-2222-3333-4444-555555555555"

Response

The export, being prepared.

One ZIP with every file of a session, in original quality.

export_id
string<uuid>
required

ID of the export. Pass it to GET /v3/session/{sessionId}/files-export/{exportId}/.

session_id
string<uuid>
required

The session the files are from.

status
enum<string>
required

PENDING and PROCESSING while the ZIP is prepared, READY once it can be downloaded, FAILED when it could not be prepared (request a new export), EXPIRED once the ZIP was deleted.

Available options:
PENDING,
PROCESSING,
READY,
FAILED,
EXPIRED
file_count
integer | null
required

Files in the ZIP. Set only while status is READY.

size_bytes
integer<int64> | null
required

Size of the ZIP in bytes. Set only while status is READY.

download_url
string<uri> | null
required

Signed URL of the ZIP, valid for a short time. Set only while status is READY; read the export again for a new one.

expires_at
string<date-time> | null
required

When the ZIP is deleted, 24 hours after it was ready. Set only while status is READY.

error
string | null
required

Why the export failed, when status is FAILED.

created_at
string<date-time>
required

When the export was requested.

completed_at
string<date-time> | null
required

When the ZIP was ready or the export failed.

Last modified on October 31, 2026