curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.get_files_export(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.getFilesExport(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.GetFilesExport(ctx, "11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().getFilesExport("11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->getFilesExport('11111111-2222-3333-4444-555555555555', 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.get_files_export(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.GetFilesExportAsync("11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
Console.WriteLine(JsonSerializer.Serialize(result));{
"export_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"session_id": "11111111-2222-3333-4444-555555555555",
"status": "READY",
"file_count": 9,
"size_bytes": 18734120,
"download_url": "https://storage.example.com/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/session-42-files.zip?X-Amz-Signature=...",
"expires_at": "2026-10-30T12:00:41Z",
"error": null,
"created_at": "2026-10-29T12:00:03Z",
"completed_at": "2026-10-29T12:00:41Z"
}Get Session Files Export API: Status and Download Link
GET /v3/session//files-export// to read the progress of a session files export and get a signed download link once the ZIP is ready.
curl -X GET 'https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.sessions.get_files_export(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.sessions.getFilesExport(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
);
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Sessions.GetFilesExport(ctx, "11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.sessions().getFilesExport("11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->sessions->getFilesExport('11111111-2222-3333-4444-555555555555', 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.sessions.get_files_export(
"11111111-2222-3333-4444-555555555555",
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Sessions.GetFilesExportAsync("11111111-2222-3333-4444-555555555555", "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee");
Console.WriteLine(JsonSerializer.Serialize(result));{
"export_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"session_id": "11111111-2222-3333-4444-555555555555",
"status": "READY",
"file_count": 9,
"size_bytes": 18734120,
"download_url": "https://storage.example.com/session/11111111-2222-3333-4444-555555555555/files-export/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/session-42-files.zip?X-Amz-Signature=...",
"expires_at": "2026-10-30T12:00:41Z",
"error": null,
"created_at": "2026-10-29T12:00:03Z",
"completed_at": "2026-10-29T12:00:41Z"
}PENDINGandPROCESSING: the ZIP is being prepared. Read the export again in a few seconds.READY:download_urlis a signed link to the ZIP that stays valid for a short time. Read the export again for a new link untilexpires_at.FAILED: the ZIP could not be prepared. Start a new export.EXPIRED: the ZIP was deleted. Start a new export.
404.Authorizations
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
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.
"11111111-2222-3333-4444-555555555555"
The export_id returned by POST /v3/session/{sessionId}/files-export/.
"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
Response
The export.
One ZIP with every file of a session, in original quality.
ID of the export. Pass it to GET /v3/session/{sessionId}/files-export/{exportId}/.
The session the files are from.
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.
PENDING, PROCESSING, READY, FAILED, EXPIRED Files in the ZIP. Set only while status is READY.
Size of the ZIP in bytes. Set only while status is READY.
Signed URL of the ZIP, valid for a short time. Set only while status is READY; read the export again for a new one.
When the ZIP is deleted, 24 hours after it was ready. Set only while status is READY.
Why the export failed, when status is FAILED.
When the export was requested.
When the ZIP was ready or the export failed.