> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

export const AgentPromptAccordion = ({prompt, title = "AI Agent Integration Prompt"}) => {
  const [copied, setCopied] = React.useState(false);
  const handleCopy = e => {
    e.stopPropagation();
    if (!prompt) return;
    navigator.clipboard.writeText(prompt.trim()).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    });
  };
  const agents = ["Claude Code", "Codex", "Cursor", "Devin", "Windsurf", "GitHub Copilot"];
  return <div className="didit-agent-card">
      {}
      <div className="didit-agent-titlebar">
        <div className="didit-agent-dots" aria-hidden="true">
          <span className="didit-agent-dot didit-agent-dot-red"></span>
          <span className="didit-agent-dot didit-agent-dot-yellow"></span>
          <span className="didit-agent-dot didit-agent-dot-green"></span>
        </div>
        <span className="didit-agent-filename">{title}</span>
        <button type="button" className={`didit-agent-copy ${copied ? "didit-agent-copy-copied" : ""}`} onClick={handleCopy} title="Copy prompt to clipboard" aria-label={copied ? "Copied!" : "Copy prompt to clipboard"}>
          {copied ? <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <path d="M3 8.5l3.5 3.5L13 4" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
              </svg>
              <span>Copied</span>
            </> : <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <rect x="5" y="5" width="9" height="9" rx="1.5" stroke="currentColor" strokeWidth="1.5" />
                <path d="M11 5V3.5A1.5 1.5 0 0 0 9.5 2h-6A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5" stroke="currentColor" strokeWidth="1.5" />
              </svg>
              <span>Copy</span>
            </>}
        </button>
      </div>

      {}
      <pre className="didit-agent-body"><code>{prompt.trim()}</code></pre>

      {}
      <div className="didit-agent-footer">
        <span className="didit-agent-footer-label">Paste into</span>
        <div className="didit-agent-chips">
          {agents.map(name => <span key={name} className="didit-agent-chip">{name}</span>)}
        </div>
      </div>
    </div>;
};

<AgentPromptAccordion
  title="List Transactions API Prompt"
  prompt={`List monitored transactions for my Didit application through the Management API.

Endpoint:
GET https://verification.didit.me/v3/transactions/

Authentication:
Use the x-api-key header with my Didit API key.

Goal:
- Retrieve a paginated list of high-level transaction summaries (score, severity, status, parties, tags, decision metadata) — suitable for back-office review screens, fraud dashboards, and audit exports.

Query parameters:
- limit — page size (default 50, min 1, max 200).
- offset — zero-based offset (default 0). Prefer following the next URL from the previous page.

Ordering & pagination:
- Ordered by txn_date descending (most recent first), with created_at as a tie-breaker.
- count is a bounded counter (exact up to 100, capped above). Use total_transactions when present for the true count.
- Soft-deleted transactions (via Console) are hidden.

Filtering:
- This endpoint supports limit / offset only. For more advanced filtering (party, status, severity, date range), use the Console UI. To pull every transaction for a single user, fetch the user with GET /v3/users/{user_id}/transactions/.

Example call:
curl -X GET "https://verification.didit.me/v3/transactions/?limit=50" \\
-H "x-api-key: YOUR_API_KEY"

What to read from each row:
- uuid — stable Didit transaction id; use as {transaction_id} in GET /v3/transactions/{transaction_id}/.
- transaction_number — application-scoped sequential number shown in Console.
- txn_id — the identifier you supplied at create time (max 128 chars, unique per application).
- status, score, severity, decision_reason_code, decision_reason_label — live monitoring verdict.
- direction, amount, currency — raw submission. amount is a decimal string.
- subject_name / subject_vendor_data / subject_country — denormalized APPLICANT party fields.
- counterparty_name / counterparty_vendor_data / counterparty_country — denormalized COUNTERPARTY fields (may be null).
- tags — Console tags (uuid, name, color).
- assigned_to_name — Console reviewer who owns the transaction.

Failure modes:
- 401 — missing or malformed x-api-key.
- 403 — canonical { "detail": "You do not have permission to perform this action." } envelope.
- 429 — rate limited; back off and retry.

Side effects: none. This is a pure read.

For the full integration shape, see /integration/integration-prompt.`}
/>


## OpenAPI

````yaml GET /v3/transactions/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/transactions/:
    get:
      tags:
        - Transactions
      summary: List transactions
      description: >-
        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.
      operationId: listTransactions
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
          description: >-
            Page size. Defaults to 50 when omitted. There is no enforced
            maximum, but keep pages small for latency.
        - name: offset
          in: query
          schema:
            type: integer
            default: 0
            minimum: 0
          description: >-
            Zero-based offset of the first record to return. Prefer following
            the `next` URL from the previous page.
      responses:
        '200':
          description: Paginated list of transaction summaries, newest first.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      Capped count of matching transactions (exact up to 100,
                      capped thereafter). Use `total_transactions` for the true
                      count when paginating.
                  next:
                    type: string
                    nullable: true
                    description: Absolute URL of the next page, or `null` on the last page.
                  previous:
                    type: string
                    nullable: true
                    description: >-
                      Absolute URL of the previous page, or `null` on the first
                      page.
                  total_transactions:
                    type: integer
                    description: >-
                      Exact total count of (non-deleted) transactions for the
                      application. Present on paginated responses.
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          format: uuid
                          description: >-
                            Stable Didit transaction identifier. Use as
                            `{transaction_id}` in detail/notes/related calls.
                        transaction_number:
                          type: integer
                          description: >-
                            Application-scoped sequential transaction number
                            shown in Console (e.g. `4123`).
                        txn_id:
                          type: string
                          description: >-
                            Customer-provided identifier from the create call
                            (max 128 chars). Unique per application.
                        transaction_type:
                          type: string
                          description: >-
                            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:
                          type: string
                          description: >-
                            Sub-type within the category (e.g. `deposit`,
                            `withdrawal`, `transfer`).
                        status:
                          type: string
                          enum:
                            - APPROVED
                            - IN_REVIEW
                            - DECLINED
                            - AWAITING_USER
                          description: Current monitoring verdict.
                        direction:
                          type: string
                          enum:
                            - INBOUND
                            - OUTBOUND
                          description: >-
                            Direction relative to the subject. Stored uppercase
                            regardless of the casing submitted.
                        amount:
                          type: string
                          description: >-
                            Transaction amount as a decimal string with trailing
                            zeros stripped (e.g. `"1500"`, `"0.5"`,
                            `"0.123456789012345678"`). Up to 18 decimal places.
                        currency:
                          type: string
                          description: >-
                            Currency code of `amount` (e.g. `EUR`, `USD`,
                            `BTC`).
                        preferred_currency_amount:
                          type: string
                          nullable: true
                          description: >-
                            `amount` converted to the application's preferred
                            currency, when available.
                        preferred_currency_code:
                          type: string
                          nullable: true
                          description: >-
                            Preferred currency code used for
                            `preferred_currency_amount`.
                        payment_details:
                          type: string
                          nullable: true
                          description: >-
                            Free-text payment reference or memo from the
                            submission.
                        score:
                          type: integer
                          description: Risk score (typically 0–100). Higher = riskier.
                        severity:
                          type: string
                          nullable: true
                          enum:
                            - UNKNOWN
                            - LOW
                            - MEDIUM
                            - HIGH
                            - CRITICAL
                          description: >-
                            Categorical risk severity set by rules/providers
                            (`UNKNOWN`, `LOW`, `MEDIUM`, `HIGH`, `CRITICAL`).
                            `null` until something sets it.
                        subject_name:
                          type: string
                          nullable: true
                          description: Full name of the `APPLICANT` party.
                        subject_vendor_data:
                          type: string
                          nullable: true
                          description: >-
                            Your internal user/business identifier for the
                            applicant.
                        subject_country:
                          type: string
                          nullable: true
                          description: >-
                            Country code of the applicant, from the submitted
                            `address.country` (typically ISO 3166-1 alpha-3).
                        counterparty_name:
                          type: string
                          nullable: true
                          description: Full name of the `COUNTERPARTY` party, if any.
                        counterparty_vendor_data:
                          type: string
                          nullable: true
                          description: Your internal identifier for the counterparty.
                        counterparty_country:
                          type: string
                          nullable: true
                          description: >-
                            Country code of the counterparty, from the submitted
                            `address.country`.
                        tags:
                          type: array
                          items:
                            type: object
                            properties:
                              uuid:
                                type: string
                                format: uuid
                              name:
                                type: string
                              color:
                                type: string
                              description:
                                type: string
                                nullable: true
                              source:
                                type: string
                                enum:
                                  - didit
                                  - custom
                                description: >-
                                  Whether the tag is a Didit preset or a custom
                                  tag.
                          description: >-
                            Tags attached to the transaction (manually or by
                            rules).
                        txn_date:
                          type: string
                          format: date-time
                          description: >-
                            When the transaction occurred (from `transaction_at`
                            at create time).
                        created_at:
                          type: string
                          format: date-time
                          description: When Didit recorded the submission.
                        decision_reason_code:
                          type: string
                          nullable: true
                          description: >-
                            Machine-readable reason for the current `status`
                            (e.g. `WALLET_HIGH_RISK`).
                        decision_reason_label:
                          type: string
                          nullable: true
                          description: Human-readable label for `decision_reason_code`.
                        assigned_to_name:
                          type: string
                          nullable: true
                          description: >-
                            Display name of the Console reviewer assigned to
                            this transaction.
              examples:
                Single transaction:
                  value:
                    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
        '403':
          description: >-
            Missing, invalid, or revoked API key, or the key cannot list
            transactions for this application. This endpoint returns `403`
            (never `401`) for authentication failures, including requests with
            no credentials at all.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            Rate limit exceeded; back off and retry after the interval indicated
            in `Retry-After`.
          content:
            application/json:
              examples:
                Throttled:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/transactions/?limit=50' \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            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'),
                )
        - lang: javascript
          label: JavaScript
          source: >-
            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);
            }
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````