from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
result = client.reports.retry(
"11111111-2222-3333-4444-555555555555",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
const result = await didit.reports.retry("11111111-2222-3333-4444-555555555555");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
result, err := client.Reports.Retry(ctx, "11111111-2222-3333-4444-555555555555", didit.AsyncReportRetryRequest{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.AsyncReportRetryRequest;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
var result = client.reports().retry("11111111-2222-3333-4444-555555555555");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
$result = $didit->reports->retry('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
result = didit.reports.retry("11111111-2222-3333-4444-555555555555")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
var result = await client.Reports.RetryAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/reports/{report_uuid}/retry/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'{
"uuid": "00000000-0000-4000-8000-000000000002",
"report_type": "SESSION_EXPORT",
"report_type_display": "Verifications",
"status": "READY",
"status_display": "Ready",
"parameters": {},
"requested_by_user_id": null,
"requested_by_email": null,
"requested_by_name": null,
"row_count": 9,
"failed_item_ids": [
"00000000-0000-4000-8000-000000000001"
],
"failed_count": 1,
"file_size": 1200,
"files": [
{
"name": "verifications.csv",
"format": "csv",
"rows": 9,
"bytes": 1200
}
],
"scheduled_report": null,
"error_message": null,
"deletion_pending": false,
"eta_seconds": null,
"started_at": "2026-11-11T01:00:00Z",
"completed_at": "2026-11-11T01:01:00Z",
"expires_at": "2026-12-11T01:00:00Z",
"created_at": "2026-11-11T01:00:00Z",
"updated_at": "2026-11-11T01:01:00Z"
}{
"uuid": "00000000-0000-4000-8000-000000000002",
"report_type": "SESSION_EXPORT",
"report_type_display": "Verifications",
"status": "READY",
"status_display": "Ready",
"parameters": {},
"requested_by_user_id": null,
"requested_by_email": null,
"requested_by_name": null,
"row_count": 9,
"failed_item_ids": [
"00000000-0000-4000-8000-000000000001"
],
"failed_count": 1,
"file_size": 1200,
"files": [
{
"name": "verifications.csv",
"format": "csv",
"rows": 9,
"bytes": 1200
}
],
"scheduled_report": null,
"error_message": null,
"deletion_pending": false,
"eta_seconds": null,
"started_at": "2026-11-11T01:00:00Z",
"completed_at": "2026-11-11T01:01:00Z",
"expires_at": "2026-12-11T01:00:00Z",
"created_at": "2026-11-11T01:00:00Z",
"updated_at": "2026-11-11T01:01:00Z"
}{
"detail": "Write request rate limit exceeded. You can make up to 300 requests per minute.",
"reference": "RL-00000000000040008000000000000001",
"limit": 300,
"remaining": 0,
"reset": 1794358860,
"window_seconds": 60
}Retry Async Report API
Retry a Didit async export or select failed verification items, with requester-only access, deleted-session exclusion and replay handling.
from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
result = client.reports.retry(
"11111111-2222-3333-4444-555555555555",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
const result = await didit.reports.retry("11111111-2222-3333-4444-555555555555");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
result, err := client.Reports.Retry(ctx, "11111111-2222-3333-4444-555555555555", didit.AsyncReportRetryRequest{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.AsyncReportRetryRequest;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
var result = client.reports().retry("11111111-2222-3333-4444-555555555555");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
$result = $didit->reports->retry('11111111-2222-3333-4444-555555555555');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
result = didit.reports.retry("11111111-2222-3333-4444-555555555555")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
var result = await client.Reports.RetryAsync("11111111-2222-3333-4444-555555555555");
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/reports/{report_uuid}/retry/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{}'{
"uuid": "00000000-0000-4000-8000-000000000002",
"report_type": "SESSION_EXPORT",
"report_type_display": "Verifications",
"status": "READY",
"status_display": "Ready",
"parameters": {},
"requested_by_user_id": null,
"requested_by_email": null,
"requested_by_name": null,
"row_count": 9,
"failed_item_ids": [
"00000000-0000-4000-8000-000000000001"
],
"failed_count": 1,
"file_size": 1200,
"files": [
{
"name": "verifications.csv",
"format": "csv",
"rows": 9,
"bytes": 1200
}
],
"scheduled_report": null,
"error_message": null,
"deletion_pending": false,
"eta_seconds": null,
"started_at": "2026-11-11T01:00:00Z",
"completed_at": "2026-11-11T01:01:00Z",
"expires_at": "2026-12-11T01:00:00Z",
"created_at": "2026-11-11T01:00:00Z",
"updated_at": "2026-11-11T01:01:00Z"
}{
"uuid": "00000000-0000-4000-8000-000000000002",
"report_type": "SESSION_EXPORT",
"report_type_display": "Verifications",
"status": "READY",
"status_display": "Ready",
"parameters": {},
"requested_by_user_id": null,
"requested_by_email": null,
"requested_by_name": null,
"row_count": 9,
"failed_item_ids": [
"00000000-0000-4000-8000-000000000001"
],
"failed_count": 1,
"file_size": 1200,
"files": [
{
"name": "verifications.csv",
"format": "csv",
"rows": 9,
"bytes": 1200
}
],
"scheduled_report": null,
"error_message": null,
"deletion_pending": false,
"eta_seconds": null,
"started_at": "2026-11-11T01:00:00Z",
"completed_at": "2026-11-11T01:01:00Z",
"expires_at": "2026-12-11T01:00:00Z",
"created_at": "2026-11-11T01:00:00Z",
"updated_at": "2026-11-11T01:01:00Z"
}{
"detail": "Write request rate limit exceeded. You can make up to 300 requests per minute.",
"reference": "RL-00000000000040008000000000000001",
"limit": 300,
"remaining": 0,
"reset": 1794358860,
"window_seconds": 60
}201; an identical failed-item selection returns the existing report with 200.
403 when sending item_ids, even for its own application. The generated API-key example reruns the whole export with an empty body.READY or FAILED SESSION_EXPORT, without a replacement date range. Deleted sessions cannot be retried.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
Body
Response
Identical failed-item selection replay; returns the existing retry report without queuing another.
Export or compliance-report kind.
SESSION_EXPORT, TRANSACTION_EXPORT, BUSINESS_EXPORT, VENDOR_USER_EXPORT, VENDOR_BUSINESS_EXPORT, CASE_EXPORT, CASE_SLA_EXPORT, LIST_ENTRY_EXPORT, EVENT_EXPORT, COMPLIANCE_KYC_KYB, COMPLIANCE_AML_LOG, COMPLIANCE_TRAVEL_RULE, COMPLIANCE_SANCTIONS_PEP, COMPLIANCE_RISK_SUMMARY, COMPLIANCE_SAR_STR_DRAFT, COMPLIANCE_CTR, COMPLIANCE_CASE_SUMMARY