curl -X GET 'https://verification.didit.me/v3/transactions/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'import os
import requests
resp = requests.get(
'https://verification.didit.me/v3/transactions/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
params={'limit': 50},
timeout=10,
)
resp.raise_for_status()
page = resp.json()
for tx in page['results']:
print(
tx['transaction_number'],
tx['status'],
tx['severity'],
f"{tx['amount']} {tx['currency']}",
tx.get('subject_name') or tx.get('subject_vendor_data'),
)const url = new URL('https://verification.didit.me/v3/transactions/');
url.searchParams.set('limit', '50');
const page = await fetch(url, {
headers: { 'x-api-key': process.env.DIDIT_API_KEY },
}).then((r) => r.json());
for (const tx of page.results) {
console.log(tx.transaction_number, tx.status, tx.severity, tx.amount, tx.currency);
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/transactions/",
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/transactions/"
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/transactions/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/transactions/")
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{
"count": 1,
"next": null,
"previous": null,
"total_transactions": 1,
"results": [
{
"uuid": "abcdef12-3456-4890-abcd-ef1234567890",
"transaction_number": 4123,
"txn_id": "your-txn-2026-05-17-001",
"transaction_type": "finance",
"action_type": "withdrawal",
"status": "IN_REVIEW",
"direction": "OUTBOUND",
"amount": "1500",
"currency": "EUR",
"preferred_currency_amount": "1620.45",
"preferred_currency_code": "USD",
"payment_details": "Withdrawal to crypto wallet",
"txn_date": "2026-05-17T08:42:00Z",
"created_at": "2026-05-17T08:42:11Z",
"score": 78,
"severity": "HIGH",
"decision_reason_code": "WALLET_HIGH_RISK",
"decision_reason_label": "Destination wallet flagged as high risk",
"tags": [
{
"uuid": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Manual review",
"color": "#F59E0B",
"description": null,
"source": "custom"
}
],
"subject_name": "Maria Garcia",
"subject_vendor_data": "user-12345",
"counterparty_name": null,
"counterparty_vendor_data": null,
"counterparty_country": null,
"subject_country": null,
"assigned_to_name": "Alex Reviewer"
}
]
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Request was throttled. Expected available in 30 seconds."
}List Transactions
Paginated list of monitored transactions, newest first (txn_date desc). count is capped at 100; use total_transactions for the true row count. This endpoint does not support filtering or search parameters.
curl -X GET 'https://verification.didit.me/v3/transactions/?limit=50' \
-H 'x-api-key: YOUR_API_KEY'import os
import requests
resp = requests.get(
'https://verification.didit.me/v3/transactions/',
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
params={'limit': 50},
timeout=10,
)
resp.raise_for_status()
page = resp.json()
for tx in page['results']:
print(
tx['transaction_number'],
tx['status'],
tx['severity'],
f"{tx['amount']} {tx['currency']}",
tx.get('subject_name') or tx.get('subject_vendor_data'),
)const url = new URL('https://verification.didit.me/v3/transactions/');
url.searchParams.set('limit', '50');
const page = await fetch(url, {
headers: { 'x-api-key': process.env.DIDIT_API_KEY },
}).then((r) => r.json());
for (const tx of page.results) {
console.log(tx.transaction_number, tx.status, tx.severity, tx.amount, tx.currency);
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/transactions/",
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/transactions/"
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/transactions/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/transactions/")
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{
"count": 1,
"next": null,
"previous": null,
"total_transactions": 1,
"results": [
{
"uuid": "abcdef12-3456-4890-abcd-ef1234567890",
"transaction_number": 4123,
"txn_id": "your-txn-2026-05-17-001",
"transaction_type": "finance",
"action_type": "withdrawal",
"status": "IN_REVIEW",
"direction": "OUTBOUND",
"amount": "1500",
"currency": "EUR",
"preferred_currency_amount": "1620.45",
"preferred_currency_code": "USD",
"payment_details": "Withdrawal to crypto wallet",
"txn_date": "2026-05-17T08:42:00Z",
"created_at": "2026-05-17T08:42:11Z",
"score": 78,
"severity": "HIGH",
"decision_reason_code": "WALLET_HIGH_RISK",
"decision_reason_label": "Destination wallet flagged as high risk",
"tags": [
{
"uuid": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"name": "Manual review",
"color": "#F59E0B",
"description": null,
"source": "custom"
}
],
"subject_name": "Maria Garcia",
"subject_vendor_data": "user-12345",
"counterparty_name": null,
"counterparty_vendor_data": null,
"counterparty_country": null,
"subject_country": null,
"assigned_to_name": "Alex Reviewer"
}
]
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Request was throttled. Expected available in 30 seconds."
}Authorizations
Query Parameters
Page size. Defaults to 50 when omitted. There is no enforced maximum, but keep pages small for latency.
x >= 1Zero-based offset of the first record to return. Prefer following the next URL from the previous page.
x >= 0Response
Paginated list of transaction summaries, newest first.
Capped count of matching transactions (exact up to 100, capped thereafter). Use total_transactions for the true count when paginating.
Absolute URL of the next page, or null on the last page.
Absolute URL of the previous page, or null on the first page.
Exact total count of (non-deleted) transactions for the application. Present on paginated responses.
Show child attributes
Show child attributes