Skip to main content
GET
/
v1
/
transactions
/
{transaction_id}
/
curl
curl -X GET 'https://verification.didit.me/v1/transactions/22222222-3333-4444-5555-666666666666/' \
  -H 'X-Transaction-Token: SDK_TOKEN'
import requests

url = "https://verification.didit.me/v1/transactions/{transaction_id}/"

headers = {"X-Transaction-Token": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-Transaction-Token': '<api-key>'}};

fetch('https://verification.didit.me/v1/transactions/{transaction_id}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v1/transactions/{transaction_id}/",
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-Transaction-Token: <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/v1/transactions/{transaction_id}/"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-Transaction-Token", "<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/v1/transactions/{transaction_id}/")
.header("X-Transaction-Token", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://verification.didit.me/v1/transactions/{transaction_id}/")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-Transaction-Token"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "transaction_number": 123,
  "txn_id": "<string>",
  "txn_date": "2023-11-07T05:31:56Z",
  "zone_id": "<string>",
  "transaction_type": "<string>",
  "action_type": "<string>",
  "amount": "<string>",
  "currency": "<string>",
  "currency_type": "<string>",
  "amount_in_default_currency": "<string>",
  "default_currency_code": "<string>",
  "preferred_currency_amount": "<string>",
  "preferred_currency_code": "<string>",
  "payment_details": "<string>",
  "payment_txn_id": "<string>",
  "score": 123,
  "decision_reason_code": "<string>",
  "decision_reason_label": "<string>",
  "vendor_data": "<string>",
  "metadata": {},
  "props": {},
  "tags": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "color": "<string>",
      "description": "<string>"
    }
  ],
  "parties": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "vendor_data": "<string>",
      "full_name": "<string>",
      "first_name": "<string>",
      "last_name": "<string>",
      "country_code": "<string>",
      "dob": "2023-12-25",
      "address": {},
      "institution_info": {},
      "device": {},
      "external_party_snapshot": {}
    }
  ],
  "payment_methods": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "label": "<string>",
      "fingerprint": "<string>",
      "account_id": "<string>",
      "issuing_country": "<string>",
      "vendor_data": "<string>",
      "owner_name": "<string>",
      "institution_info": {},
      "details": {},
      "external_owner_snapshot": {}
    }
  ],
  "activities": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "activity_type": "<string>",
      "source": "<string>",
      "status": "<string>",
      "title": "<string>",
      "description": "<string>",
      "metadata": {},
      "occurred_at": "2023-11-07T05:31:56Z"
    }
  ],
  "alerts": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "title": "<string>",
      "description": "<string>",
      "metadata": {},
      "created_at": "2023-11-07T05:31:56Z",
      "due_at": "2023-11-07T05:31:56Z"
    }
  ],
  "rule_runs": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "rule": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "rule_title": "<string>",
      "rule_description": "<string>",
      "rule_category": "<string>",
      "matched": true,
      "is_test": true,
      "severity": "<string>",
      "score_delta": 123,
      "status_target": "<string>",
      "action_summary": {},
      "metadata": {},
      "created_at": "2023-11-07T05:31:56Z"
    }
  ],
  "provider_results": [
    {
      "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "provider": "<string>",
      "status": "<string>",
      "severity": "<string>",
      "score": 123,
      "summary": "<string>",
      "payload": {},
      "created_at": "2023-11-07T05:31:56Z"
    }
  ],
  "travel_rule": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "status": "<string>",
    "protocol": "<string>",
    "required": true,
    "obligations_count": 123,
    "originator_data": {},
    "beneficiary_data": {},
    "metadata": {}
  },
  "network_snapshot": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "nodes": [
      {}
    ],
    "edges": [
      {}
    ],
    "metrics": {}
  },
  "remediation": {
    "session_id": "<string>",
    "session_token": "<string>",
    "url": "<string>",
    "status": "<string>"
  },
  "action_required": {
    "type": "verification_session",
    "url": "<string>",
    "session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "session_token": "<string>",
    "status": "<string>"
  },
  "cost_breakdown": {}
}
{
"detail": "Transaction token expired."
}
{
"detail": "Not found."
}

Authorizations

X-Transaction-Token
string
header
required

Short-lived scoped token minted by your backend via POST /v3/transactions/sdk-token/. Used by the Didit SDKs on the device-facing /v1/transactions/ endpoints.

Path Parameters

transaction_id
string<uuid>
required

Didit-stable transaction UUID (the uuid from the submit response, not your txnId).

Response

The full transaction detail, including action_required (null once the pending action is resolved).

Full monitoring record for one transaction, as returned by GET /v3/transactions/{transaction_id}/ and POST /v3/transactions/.

uuid
string<uuid>

Didit-stable transaction identifier. Use as {transaction_id} for follow-up calls.

transaction_number
integer

Application-scoped sequential transaction number shown in Console (e.g. 4123).

txn_id
string

The transaction_id you supplied at create time (max 128 chars). Unique per application.

txn_date
string<date-time>

When the transaction occurred (from transaction_at; defaults to submission time).

zone_id
string | null

IANA time zone identifier provided at create time.

transaction_type
string

Top-level category as stored: finance, kyc, travelRule, userPlatformEvent, gamblingBet, gamblingLimitChange, gamblingBonusChange, auditTrailEvent. Note multi-word values are echoed back in camelCase even when submitted in snake_case.

action_type
string

Sub-type within the category (e.g. deposit, withdrawal, transfer). Defaults to the category when not supplied.

direction
enum<string>

Direction relative to the subject. Stored uppercase regardless of the casing submitted (in/out/inbound/outbound are accepted on input).

Available options:
INBOUND,
OUTBOUND
status
enum<string>

Current monitoring verdict. Transactions are created APPROVED; rules may flip them to IN_REVIEW/DECLINED synchronously.

Available options:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
amount
string

Transaction amount as a decimal string with trailing zeros stripped (e.g. "1500", "0.5", "0.123456789012345678"). Up to 18 decimal places.

currency
string

Currency code of amount (e.g. EUR, USD, BTC).

currency_type
string | null

fiat or crypto, as submitted in currency_kind.

amount_in_default_currency
string | null

Pre-converted amount you supplied, as a decimal string with trailing zeros stripped.

default_currency_code
string | null
preferred_currency_amount
string | null

amount converted to the application's preferred currency, when available.

preferred_currency_code
string | null
payment_details
string | null

Free-text payment reference or memo from the submission.

payment_txn_id
string | null

External payment system reference (e.g. blockchain transaction hash) from payment_reference_id.

score
integer

Risk score accumulated by rules (typically 0–100). Higher = riskier.

severity
enum<string> | null

Categorical risk severity set by rules/providers (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL). null until something sets it.

Available options:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

Machine-readable reason for the current status.

decision_reason_label
string | null

Human-readable label for decision_reason_code.

vendor_data
string | null

Convenience copy of the applicant's vendor_data.

metadata
object

Snapshot of the subject and counterparty payloads as submitted at create time.

props
object

The custom_properties you supplied at create time. Each key is addressable in rule conditions as custom_values.<key>.

tags
object[]

Tags attached to the transaction (manually or by rules).

parties
object[]

Transaction parties (applicant, counterparty).

payment_methods
object[]

Payment methods linked to the transaction.

activities
object[]

Activity log entries (creation, notes, manual reviews, status changes).

alerts
object[]

Alerts raised by rules and providers.

rule_runs
object[]

Per-rule execution results — which rule fired, with what score impact.

provider_results
object[]

Raw provider payloads (AML screening, blockchain analytics, etc.).

travel_rule
object | null

Travel Rule compliance check, present when travel_rule_details was submitted.

network_snapshot
object | null

Graph snapshot of related transactions/parties used by the rules engine, present when submitted.

remediation
object | null

Remediation session offered to the user when re-verification is required. Superseded by action_required, which is the canonical block; kept for backward compatibility.

action_required
Verification session · object

Pending end-user action required to complete this transaction, or null when there is none. The Didit SDKs auto-launch the action by default and refresh the transaction when it finishes. Two variants, discriminated by type: verification_session (a hosted verification session created by a rule action) and wallet_ownership (a wallet-ownership widget session auto-minted for a Travel Rule transfer that needs proof of wallet control, gated by the auto_wallet_verification Travel Rule setting). When both could apply, wallet_ownership takes precedence because it blocks the Travel Rule exchange.

cost_breakdown
object | null

Per-feature credit cost breakdown for this transaction.