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

# API Daftar Transaksi Terkait

> Daftar transaksi lain yang memiliki vendor_data pihak yang sama dengan transaksi dipantau di Didit, terbaru lebih dulu dan dipaginasi.



Prompt API Daftar Transaksi Terkait
        Salin prompt ke papan klip



      
      

\<pre>

\`List the transactions related to one Didit monitored transaction through the Management API.

Endpoint:
GET https://verification.didit.me/v3/transactions/{transaction_id}/related/

Authentication:
Use the x-api-key header with my Didit API key. A scoped key needs transactions: read. Keys limited to specific workflows or to approved sessions cannot call this endpoint.

Goal:
\- See the other transactions that involve the same people or companies as this one (same applicant, or this transaction's counterparty appearing elsewhere) so I can review a transaction in context.

Path parameter:
\- transaction_id: the Didit transaction uuid, not my own txn_id.

Behavior:
\- A transaction is related when one of its parties, in any role, has the same vendor_data as one of this transaction's parties. Matching uses vendor_data only, within my application.
\- The transaction itself is never returned. Parties without vendor_data are ignored, so if none of this transaction's parties has a vendor_data the result is always empty.
\- Ordered by txn_date, newest first, then created_at.
\- Paginated with limit (default 50) and offset. count is exact up to 100 and capped at 100 above that, so keep following next until it is null.

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

What to read from the response:
\- results[].uuid: use it with GET /v3/transactions/{transaction_id}/ for the full detail.
\- results[].txn_id, status, score, severity, amount, currency, txn_date: the summary of each related transaction.
\- results[].subject_vendor_data and counterparty_vendor_data: which party links it to this transaction.
\- next: URL of the next page, null on the last page.

Failure modes:
\- 400: limit or offset above 1000000.
\- 401: the API key has expired.
\- 403: missing API key (a wrong, revoked or expired key gets 401) ({"detail": "You do not have permission to perform this action."}), a scoped key without transactions: read, a key with workflow or status limits, or a request from outside the key's IP allowlist.
\- 404: no transaction with this uuid in my application ({"detail": "No Transaction matches the given query."}).
\- 429: more than 600 GET requests per minute with this key; wait Retry-After seconds and retry.

Side effects: none. This is a pure read.

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

\</pre>



      
      

Tempel ke

Transaksi terkait ditautkan melalui `vendor_data` yang Anda kirim pada setiap pihak saat [mengirim transaksi](https://docs.didit.me/id/transaction-monitoring/transactions.md#subjek-dan-pihak-lawan). Kirim `vendor_data` yang sama untuk orang atau perusahaan yang sama setiap kali, dan endpoint ini mengembalikan seluruh riwayat mereka yang terkait dengan transaksi mana pun: daftar yang sama dengan yang dilihat peninjau di bawah **Transaksi terkait** pada [detail transaksi](https://docs.didit.me/id/transaction-monitoring/console.md#detail-transaksi) di Console.Setiap hasil memiliki bentuk ringkasan yang sama dengan [Daftar transaksi](https://docs.didit.me/id/management-api/transactions/list.md). Panggil [Ambil transaksi](https://docs.didit.me/id/management-api/transactions/get.md) dengan `uuid` hasil untuk melihat pihak, alert, dan eksekusi aturan.


## OpenAPI

````yaml id/openapi-25.json GET /v3/transactions/{transaction_id}/related/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/transactions/{transaction_id}/related/:
    get:
      tags:
        - Transactions
      summary: Mencantumkan transaksi terkait
      description: >-
        Daftar transaksi lain di aplikasi Anda yang melibatkan orang atau
        perusahaan yang sama dengan transaksi ini. Transaksi terkait ketika ada
        salah satu pihaknya, dalam peran apa pun, memiliki `vendor_data` yang
        sama dengan salah satu pihak transaksi ini. Transaksi itu sendiri tidak
        pernah dikembalikan, dan pihak tanpa `vendor_data` diabaikan: jika tidak
        ada pihak transaksi ini yang memilikinya, hasilnya selalu kosong.


        Hasil menggunakan bentuk ringkasan `GET /v3/transactions/`, terbaru
        terlebih dahulu (`txn_date`, lalu `created_at`). Dipaginasi dengan
        `limit` dan `offset`; `count` tepat hingga 100 dan dibatasi pada 100 di
        atasnya, jadi ikuti `next` hingga bernilai `null`.


        Kunci API dengan cakupan memerlukan `transactions: read`; kunci yang
        dibatasi untuk beberapa alur kerja atau ke sesi yang disetujui tidak
        dapat memanggil endpoint ini. Kirim `vendor_data` yang sama untuk orang
        atau perusahaan yang sama pada setiap
        [transaksi](https://docs.didit.me/id/transaction-monitoring/transactions#subjek-dan-pihak-lawan)
        agar daftar ini lengkap.
      operationId: list_related_transactions
      parameters:
        - name: transaction_id
          in: path
          required: true
          description: >-
            UUID transaksi Didit: `uuid` yang dikembalikan oleh `POST
            /v3/transactions/` dan `GET /v3/transactions/`. `txn_id` Anda
            sendiri tidak diterima.
          schema:
            type: string
            format: uuid
          example: abcdef12-3456-7890-abcd-ef1234567890
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          description: >-
            Jumlah transaksi per halaman. Default-nya 50. Nilai yang bukan
            bilangan bulat positif akan kembali ke 50; nilai di atas 1000000
            mengembalikan `400`.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: >-
            Posisi berbasis nol dari transaksi pertama yang dikembalikan.
            Sebaiknya ikuti `next`. Nilai yang bukan bilangan bulat akan kembali
            ke 0; nilai di atas 1000000 mengembalikan `400`.
      responses:
        '200':
          description: Satu halaman transaksi terkait, yang terbaru lebih dulu.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      Jumlah transaksi terkait: tepat hingga 100, dibatasi
                      maksimal 100 di atasnya. Ikuti `next` alih-alih menghitung
                      halaman darinya.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absolut halaman berikutnya, atau `null` di halaman
                      terakhir.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absolut halaman sebelumnya, atau `null` di halaman
                      pertama.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TransactionSummary'
              examples:
                One related transaction:
                  value:
                    count: 1
                    next: null
                    previous: null
                    results:
                      - uuid: abcdef99-3456-4890-abcd-ef1234567890
                        transaction_number: 4087
                        txn_id: your-txn-2026-10-02-017
                        transaction_type: finance
                        action_type: deposit
                        status: APPROVED
                        source: LIVE
                        direction: INBOUND
                        amount: '250'
                        currency: EUR
                        currency_type: fiat
                        preferred_currency_amount: '270.08'
                        preferred_currency_code: USD
                        payment_details: Card top-up
                        txn_date: '2026-10-02T14:10:00Z'
                        created_at: '2026-10-02T14:10:03.512244Z'
                        score: 12
                        severity: LOW
                        decision_reason_code: null
                        decision_reason_label: null
                        tags: []
                        subject_name: Maria Garcia
                        subject_vendor_data: user-12345
                        subject_type: user
                        subject_uuid: e1111111-2222-4333-8444-555555555555
                        counterparty_name: null
                        counterparty_vendor_data: null
                        counterparty_country: null
                        subject_country: ESP
                        assigned_to_name: null
                        travel_rule_status: null
                        application_id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                        application_name: Production app
                        organization_id: 11111111-2222-3333-4444-555555555555
                        organization_name: Example Org
                No party has vendor_data:
                  value:
                    count: 0
                    next: null
                    previous: null
                    results: []
        '400':
          description: >-
            `limit` atau `offset` berada di atas 1000000. Bagian body adalah
            array JSON berisi pesan, bukan objek.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              examples:
                Limit too large:
                  value:
                    - limit must not exceed 1000000.
                Offset too large:
                  value:
                    - offset must not exceed 1000000.
        '401':
          description: >-
            Kunci API telah kedaluwarsa. Hanya kunci yang dibuat dengan tanggal
            kedaluwarsa yang dapat kedaluwarsa; setelah tanggal tersebut, setiap
            permintaan dengannya menghasilkan respons `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Permintaan tidak diizinkan. Kunci yang tidak ada akan mendapatkan
            pesan umum; kunci yang salah, dicabut, atau kedaluwarsa akan
            mendapatkan `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without transactions read:
                  value:
                    detail: This API key has no read access to transactions.
                Key limited to workflows or approved sessions:
                  value:
                    detail: >-
                      This API key only reaches sessions inside its workflow or
                      status limits, so it can't use this endpoint.
                Outside the key's IP list:
                  value:
                    detail: This API key can't be used from this IP address.
        '404':
          description: >-
            Tidak ada transaksi dengan UUID ini di aplikasi tersebut (tidak
            pernah dibuat, dihapus, atau dimiliki oleh aplikasi lain).
            `transaction_id` yang bukan UUID tidak mencapai API: permintaan ini
            mengembalikan halaman HTML `404`, bukan body JSON ini.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not found:
                  value:
                    detail: No Transaction matches the given query.
        '429':
          description: >-
            Lebih dari 600 permintaan GET per menit dengan kunci API ini. Tunggu
            selama jumlah detik di `Retry-After`, lalu coba lagi.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Throttled:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
          headers:
            Retry-After:
              description: Detik hingga jendela satu menit saat ini direset.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Permintaan yang diizinkan per menit dalam anggaran ini.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Permintaan tersisa dalam jendela saat ini.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Waktu Unix saat jendela direset.
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/transactions/abcdef12-3456-7890-abcd-ef1234567890/related/?limit=50'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.transactions.list_related(
                "abcdef12-3456-7890-abcd-ef1234567890",
            ):
                print(item)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            for await (const item of
            didit.transactions.listRelated("abcdef12-3456-7890-abcd-ef1234567890"))
            {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Transactions.ListRelatedAutoPaging(ctx, \"abcdef12-3456-7890-abcd-ef1234567890\", didit.TransactionsListRelatedParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            for (var item :
            client.transactions().listRelated("abcdef12-3456-7890-abcd-ef1234567890"))
            {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            foreach
            ($didit->transactions->listRelated('abcdef12-3456-7890-abcd-ef1234567890')
            as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            didit.transactions.list_related("abcdef12-3456-7890-abcd-ef1234567890").auto_paging_each
            do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            await foreach (var item in await
            client.Transactions.ListRelatedAsync("abcdef12-3456-7890-abcd-ef1234567890"))

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TransactionSummary:
      type: object
      description: >-
        Ringkasan transaksi yang dipantau, struktur yang dicantumkan oleh `GET
        /v3/transactions/`. Panggil `GET /v3/transactions/{transaction_id}/`
        dengan `uuid` untuk pihak, alert, dan eksekusi aturan.
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            UUID transaksi Didit. Gunakan sebagai `{transaction_id}` pada
            endpoint transaksi.
        transaction_number:
          type: integer
          nullable: true
          description: Nomor berurutan dalam cakupan aplikasi yang ditampilkan di Konsol.
        txn_id:
          type: string
          nullable: true
          description: Pengenal Anda sendiri dari panggilan pembuatan. Unik per aplikasi.
        transaction_type:
          type: string
          description: >-
            Kategori sebagaimana disimpan: `finance`, `kyc`, `travelRule`,
            `userPlatformEvent`, `gamblingBet`, `gamblingLimitChange`,
            `gamblingBonusChange`, atau `auditTrailEvent`.
        action_type:
          type: string
          description: Subtipe dalam kategori tersebut, misalnya `withdrawal`.
        status:
          type: string
          enum:
            - APPROVED
            - IN_REVIEW
            - DECLINED
            - AWAITING_USER
          description: Keputusan pemantauan saat ini.
        source:
          type: string
          enum:
            - LIVE
            - IMPORTED
          description: >-
            `LIVE` untuk transaksi yang dikirimkan untuk pemantauan, `IMPORTED`
            untuk impor historis.
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
          description: Arah relatif terhadap subjek.
        amount:
          type: string
          description: >-
            Jumlah sebagai string desimal dengan nol di belakangnya dihapus
            (hingga 18 tempat desimal).
        currency:
          type: string
          description: Kode mata uang atau simbol aset kripto dari `amount`.
        currency_type:
          type: string
          nullable: true
          description: '`fiat` atau `crypto` jika diketahui.'
        preferred_currency_amount:
          type: string
          nullable: true
          description: >-
            `amount` dikonversi ke mata uang pilihan aplikasi, ketika kurs
            tersedia.
        preferred_currency_code:
          type: string
          nullable: true
          description: Mata uang dari `preferred_currency_amount`.
        payment_details:
          type: string
          nullable: true
          description: Referensi pembayaran teks bebas.
        txn_date:
          type: string
          format: date-time
          description: Kapan transaksi terjadi.
        created_at:
          type: string
          format: date-time
          description: Waktu ketika Didit mencatatnya.
        score:
          type: integer
          description: Skor risiko. Lebih tinggi berarti lebih berisiko.
        severity:
          type: string
          nullable: true
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
            - null
          description: Tingkat keparahan risiko, `null` sampai ada yang menetapkannya.
        decision_reason_code:
          type: string
          nullable: true
          description: Alasan yang dapat dibaca mesin untuk `status` saat ini.
        decision_reason_label:
          type: string
          nullable: true
          description: Label yang mudah dibaca manusia untuk `decision_reason_code`.
        tags:
          type: array
          description: Tag pada transaksi.
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              color:
                type: string
                description: Warna hex, misalnya `#F59E0B`.
              description:
                type: string
                nullable: true
              source:
                type: string
                enum:
                  - didit
                  - custom
                description: Tag bawaan Didit atau tag kustom.
        subject_name:
          type: string
          nullable: true
          description: Nama lengkap pihak `APPLICANT`.
        subject_vendor_data:
          type: string
          nullable: true
          description: '`vendor_data` Anda untuk pemohon.'
        subject_type:
          type: string
          nullable: true
          enum:
            - user
            - business
            - null
          description: >-
            Apakah pemohon terhubung ke pengguna atau bisnis Didit; `null` jika
            tidak terhubung ke keduanya.
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: UUID pengguna atau bisnis Didit yang ditautkan ke pemohon.
        subject_country:
          type: string
          nullable: true
          description: Kode negara pemohon.
        counterparty_name:
          type: string
          nullable: true
          description: Nama lengkap pihak `COUNTERPARTY`, jika ada.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: '`vendor_data` Anda untuk pihak lawan.'
        counterparty_country:
          type: string
          nullable: true
          description: Kode negara pihak lawan.
        assigned_to_name:
          type: string
          nullable: true
          description: Nama peninjau Console yang ditugaskan ke transaksi.
        travel_rule_status:
          type: string
          nullable: true
          description: >-
            Status transfer Travel Rule milik transaksi, atau `null` jika tidak
            ada.
        application_id:
          type: string
          format: uuid
          description: Aplikasi yang memiliki transaksi tersebut.
        application_name:
          type: string
          nullable: true
          description: Nama aplikasi tersebut.
        organization_id:
          type: string
          format: uuid
          description: Organisasi yang memiliki aplikasi.
        organization_name:
          type: string
          nullable: true
          description: Nama organisasi tersebut.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.