curl --fail -X GET 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/transactions/abcdef12-3456-7890-abcd-ef1234567890/pdf/' \
-H 'x-api-key: YOUR_API_KEY' \
--output transaction_report.pdfimport os
import requests
org_id = '11111111-2222-3333-4444-555555555555'
app_id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'
transaction_uuid = 'abcdef12-3456-7890-abcd-ef1234567890'
resp = requests.get(
f'https://verification.didit.me/v3/organization/{org_id}/application/{app_id}'
f'/transactions/{transaction_uuid}/pdf/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
timeout=60,
)
resp.raise_for_status()
with open(f'transaction_{transaction_uuid}.pdf', 'wb') as fh:
fh.write(resp.content)import { writeFile } from 'node:fs/promises';
const orgId = '11111111-2222-3333-4444-555555555555';
const appId = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee';
const transactionUuid = 'abcdef12-3456-7890-abcd-ef1234567890';
const resp = await fetch(
`https://verification.didit.me/v3/organization/${orgId}/application/${appId}/transactions/${transactionUuid}/pdf/`,
{ headers: { 'x-api-key': process.env.DIDIT_API_KEY } },
);
if (!resp.ok) throw new Error(`PDF generation failed: ${resp.status}`);
await writeFile(`transaction_${transactionUuid}.pdf`, Buffer.from(await resp.arrayBuffer()));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body"<string>"Generate Transaction PDF Report
Download a monitored transaction as a PDF report with its verdict, parties, alerts, rule runs, screening results and related transactions.
curl --fail -X GET 'https://verification.didit.me/v3/organization/11111111-2222-3333-4444-555555555555/application/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/transactions/abcdef12-3456-7890-abcd-ef1234567890/pdf/' \
-H 'x-api-key: YOUR_API_KEY' \
--output transaction_report.pdfimport os
import requests
org_id = '11111111-2222-3333-4444-555555555555'
app_id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'
transaction_uuid = 'abcdef12-3456-7890-abcd-ef1234567890'
resp = requests.get(
f'https://verification.didit.me/v3/organization/{org_id}/application/{app_id}'
f'/transactions/{transaction_uuid}/pdf/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
timeout=60,
)
resp.raise_for_status()
with open(f'transaction_{transaction_uuid}.pdf', 'wb') as fh:
fh.write(resp.content)import { writeFile } from 'node:fs/promises';
const orgId = '11111111-2222-3333-4444-555555555555';
const appId = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee';
const transactionUuid = 'abcdef12-3456-7890-abcd-ef1234567890';
const resp = await fetch(
`https://verification.didit.me/v3/organization/${orgId}/application/${appId}/transactions/${transactionUuid}/pdf/`,
{ headers: { 'x-api-key': process.env.DIDIT_API_KEY } },
);
if (!resp.ok) throw new Error(`PDF generation failed: ${resp.status}`);
await writeFile(`transaction_${transactionUuid}.pdf`, Buffer.from(await resp.arrayBuffer()));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/transactions/{transaction_uuid}/pdf/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body"<string>"403 even when it can read the transaction as JSON with Get transaction.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 missing, wrong, revoked or expired; 403 means 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
Organization UUID.
Application UUID. Must be the application the API key belongs to: a key used on any other application gets 403.
Didit transaction UUID: the uuid returned by POST /v3/transactions/ and GET /v3/transactions/. Your own txn_id is not accepted.
Response
The rendered PDF, returned directly as binary application/pdf.
The response is of type file.