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

# Listar transações relacionadas API

> Didit: liste as outras transações com vendor_data partilhado com uma transação monitorizada, da mais recente para a mais antiga, paginadas.



Prompt da API de listagem de transações relacionadas
        Copiar o prompt para a área de transferência



      
      

\<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>



      
      

Colar em

As transações relacionadas estão ligadas através do `vendor_data` que envia em cada parte ao [submeter uma transação](https://docs.didit.me/pt/transaction-monitoring/transactions.md#sujeito-e-contraparte). Envie o mesmo `vendor_data` para a mesma pessoa ou empresa em cada pedido, e este endpoint devolve o histórico completo dessa pessoa ou empresa em torno de qualquer transação: a mesma lista que os revisores veem em **Transações relacionadas** nos [detalhes da transação](https://docs.didit.me/pt/transaction-monitoring/console.md#detalhe-da-transação) na Consola.Cada resultado tem a mesma estrutura resumida de [Listar transações](https://docs.didit.me/pt/management-api/transactions/list.md). Chame [Obter transação](https://docs.didit.me/pt/management-api/transactions/get.md) com o `uuid` de um resultado para obter as suas partes, alertas e execuções de regras.


## OpenAPI

````yaml pt/openapi-25.json GET /v3/transactions/{transaction_id}/related/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de Verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/transactions/{transaction_id}/related/:
    get:
      tags:
        - Transactions
      summary: Listar transações relacionadas
      description: >-
        Liste as outras transações na sua aplicação que envolvam as mesmas
        pessoas ou empresas que esta. Uma transação está relacionada quando
        qualquer uma das suas partes, em qualquer função, tem os mesmos
        `vendor_data` que uma das partes desta transação. A própria transação
        nunca é devolvida e as partes sem `vendor_data` são ignoradas: quando
        nenhuma das partes desta transação os tem, o resultado é sempre vazio.


        Os resultados utilizam o formato resumido de `GET /v3/transactions/`, os
        mais recentes primeiro (`txn_date`, depois `created_at`). Paginado com
        `limit` e `offset`; `count` é exato até 100 e limitado a 100 acima
        disso, pelo que deve seguir `next` até ser `null`.


        Uma chave de API com âmbito necessita de `transactions: read`; uma chave
        limitada a alguns fluxos ou a sessões aprovadas não pode chamar este
        endpoint. Envie os mesmos `vendor_data` para a mesma pessoa ou empresa
        em cada
        [transação](https://docs.didit.me/pt/transaction-monitoring/transactions#sujeito-e-contraparte)
        para tornar esta lista completa.
      operationId: list_related_transactions
      parameters:
        - name: transaction_id
          in: path
          required: true
          description: >-
            UUID da transação Didit: o `uuid` devolvido por `POST
            /v3/transactions/` e `GET /v3/transactions/`. O seu próprio `txn_id`
            não é aceite.
          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: >-
            Número de transações por página. O valor predefinido é 50. Um valor
            que não seja um número inteiro positivo reverte para 50; um valor
            acima de 1000000 devolve `400`.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: >-
            Posição de base zero da primeira transação a devolver. Prefira
            seguir `next`. Um valor que não seja um número inteiro reverte para
            0; um valor superior a 1000000 devolve `400`.
      responses:
        '200':
          description: Uma página de transações relacionadas, as mais recentes primeiro.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      Número de transações relacionadas: exato até 100, limitado
                      a 100 acima desse valor. Siga `next` em vez de calcular as
                      páginas a partir deste valor.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluto da página seguinte, ou `null` na última
                      página.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluto da página anterior, ou `null` na primeira
                      página.
                  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` ou `offset` é superior a 1000000. O corpo é um array JSON de
            mensagens, e não um objeto.
          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: >-
            A chave de API expirou. Apenas uma chave criada com uma data de
            validade pode expirar; após essa data, cada pedido com ela responde
            `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            O pedido não é permitido. Uma chave em falta recebe a mensagem
            genérica; uma chave incorreta, revogada ou expirada recebe `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: >-
            Não existe nenhuma transação com este UUID na aplicação (nunca
            criada, eliminada ou pertencente a outra aplicação). Um
            `transaction_id` que não seja um UUID não chega à API: devolve uma
            página HTML `404` em vez deste corpo JSON.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not found:
                  value:
                    detail: No Transaction matches the given query.
        '429':
          description: >-
            Mais de 600 pedidos GET por minuto com esta chave de API. Aguarde o
            número de segundos indicado em `Retry-After` e tente novamente.
          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: Segundos até que a janela atual de um minuto seja reposta.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Pedidos permitidos por minuto neste orçamento.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Pedidos restantes na janela atual.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Hora Unix em que a janela é reposta.
              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: >-
        Resumo de uma transação monitorizada, com o formato listado por `GET
        /v3/transactions/`. Chame `GET /v3/transactions/{transaction_id}/` com
        `uuid` para obter partes, alertas e execuções de regras.
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            UUID da transação Didit. Utilize-o como `{transaction_id}` nos
            endpoints de transação.
        transaction_number:
          type: integer
          nullable: true
          description: Número sequencial no âmbito da aplicação apresentado na Consola.
        txn_id:
          type: string
          nullable: true
          description: >-
            O seu próprio identificador da chamada de criação. Único por
            aplicação.
        transaction_type:
          type: string
          description: >-
            Categoria tal como armazenada: `finance`, `kyc`, `travelRule`,
            `userPlatformEvent`, `gamblingBet`, `gamblingLimitChange`,
            `gamblingBonusChange` ou `auditTrailEvent`.
        action_type:
          type: string
          description: Subtipo dentro da categoria, por exemplo `withdrawal`.
        status:
          type: string
          enum:
            - APPROVED
            - IN_REVIEW
            - DECLINED
            - AWAITING_USER
          description: Veredito atual de monitorização.
        source:
          type: string
          enum:
            - LIVE
            - IMPORTED
          description: >-
            `LIVE` para transações submetidas para monitorização, `IMPORTED`
            para importações históricas.
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
          description: Direção em relação ao sujeito.
        amount:
          type: string
          description: >-
            Montante como uma string decimal com os zeros à direita removidos
            (até 18 casas decimais).
        currency:
          type: string
          description: Código de moeda ou símbolo de ativo criptográfico de `amount`.
        currency_type:
          type: string
          nullable: true
          description: '`fiat` ou `crypto` quando conhecidos.'
        preferred_currency_amount:
          type: string
          nullable: true
          description: >-
            `amount` convertido para a moeda preferida da aplicação, quando uma
            taxa estava disponível.
        preferred_currency_code:
          type: string
          nullable: true
          description: Moeda de `preferred_currency_amount`.
        payment_details:
          type: string
          nullable: true
          description: Referência de pagamento em texto livre.
        txn_date:
          type: string
          format: date-time
          description: Quando a transação ocorreu.
        created_at:
          type: string
          format: date-time
          description: Quando a Didit o registou.
        score:
          type: integer
          description: Pontuação de risco. Quanto mais alta, maior o risco.
        severity:
          type: string
          nullable: true
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
            - null
          description: Gravidade do risco, `null` até que algo a defina.
        decision_reason_code:
          type: string
          nullable: true
          description: Motivo legível por máquina para o `status` atual.
        decision_reason_label:
          type: string
          nullable: true
          description: Rótulo legível para `decision_reason_code`.
        tags:
          type: array
          description: Etiquetas na transação.
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              color:
                type: string
                description: Cor hexadecimal, por exemplo `#F59E0B`.
              description:
                type: string
                nullable: true
              source:
                type: string
                enum:
                  - didit
                  - custom
                description: Etiqueta predefinida ou personalizada da Didit.
        subject_name:
          type: string
          nullable: true
          description: Nome completo da parte `APPLICANT`.
        subject_vendor_data:
          type: string
          nullable: true
          description: O seu `vendor_data` para o candidato.
        subject_type:
          type: string
          nullable: true
          enum:
            - user
            - business
            - null
          description: >-
            Indica se o requerente está associado a um utilizador ou a uma
            empresa na Didit; `null` quando não está associado a nenhum.
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID do utilizador ou da empresa Didit a que o candidato está
            associado.
        subject_country:
          type: string
          nullable: true
          description: Código do país do requerente.
        counterparty_name:
          type: string
          nullable: true
          description: Nome completo da parte `COUNTERPARTY`, se existir.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: O seu `vendor_data` para a contraparte.
        counterparty_country:
          type: string
          nullable: true
          description: Código do país da contraparte.
        assigned_to_name:
          type: string
          nullable: true
          description: Nome do revisor da consola atribuído à transação.
        travel_rule_status:
          type: string
          nullable: true
          description: >-
            Estado da transferência da Travel Rule da transação, ou `null` caso
            não tenha nenhuma.
        application_id:
          type: string
          format: uuid
          description: Aplicação que detém a transação.
        application_name:
          type: string
          nullable: true
          description: Nome dessa aplicação.
        organization_id:
          type: string
          format: uuid
          description: Organização à qual pertence a aplicação.
        organization_name:
          type: string
          nullable: true
          description: Nome dessa organização.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        A chave de API da sua aplicação, a partir de Programadores -> Chaves de
        API na Business Console. A chave principal tem acesso total. Uma chave
        nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por
        recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de
        endereços IP e a uma data de validade. 401 significa que a chave está
        incorreta, revogada ou expirada; 403 significa que nenhuma chave foi
        enviada, que a chave não tem acesso a este recurso ou ação, ou que o
        pedido veio de um endereço fora da sua lista de IP; 404 numa rota de
        sessão significa que a sessão está fora dos fluxos ou estados da chave.
        Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs
        como nulos, e uma chave sem permissão de escrita em sessões recebe
        ligações de sessão e tokens como nulos. Consulte
        https://docs.didit.me/console/api-keys.

````

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