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

# Transaktionsnotizen auflisten: Didit Management API

> Didit listet Notizen einer überwachten Transaktion auf, neueste zuerst: API-, Prüfer- und Regelnotizen sowie Statusänderungen. Mit Paging.



API-Prompt zum Auflisten von Transaktionsnotizen
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\`List the notes on one Didit monitored transaction through the Management API.

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

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:
\- Read the review timeline of a transaction (my own API notes, Console reviewer notes, and the notes Didit adds automatically) so I can show it in my back-office or sync it to my case tool.

Path parameter:
\- transaction_id: the Didit transaction uuid returned by POST /v3/transactions/ or GET /v3/transactions/. Not my own txn_id.

Behavior:
\- Notes come back newest first (created_at descending).
\- 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 instead of computing pages from count.
\- metadata tells the note types apart: mentioned_emails on notes written through the API or the Console; type "status_change" with previous_status, new_status, reason_code and reason_label when a reviewer changed the status in the Console; source "rule_action" (with rule_uuid) or "remediation_session" on notes Didit adds automatically, which carry actor_name "Rule Engine".

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

What to read from the response:
\- results[].uuid, note, created_at: the note itself.
\- results[].actor_email and actor_name: the Console user who wrote it. Both are null for notes created with an API key.
\- results[].metadata: mentions and the note type (see Behavior).
\- 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>



      
      

Einfügen in

Notizen sind die Zeitleiste einer Transaktion für Analysten: dieselbe Liste, die Prüfer unter **Notizen** auf dem [Transaktionsdetail](https://docs.didit.me/de/transaction-monitoring/console.md#transaktionsdetails) in der Console sehen. Fügen Sie eigene Notizen mit [Transaktionsnotiz erstellen](https://docs.didit.me/de/management-api/transactions/create-note.md) hinzu, und lesen Sie die Transaktion selbst, einschließlich ihrer `activities`, mit [Transaktion abrufen](https://docs.didit.me/de/management-api/transactions/get.md).Notizen mit `actor_name` gleich `Rule Engine` stammen von Didit: entweder aus einer `add_note`-[Aktion](https://docs.didit.me/de/transaction-monitoring/rules.md#aktionen) einer Regel oder aus einem Problem beim Erstellen der Verifizierungssitzung für Benutzeraktionen für eine Transaktion im Status `AWAITING_USER` (die Sitzung konnte nicht erstellt werden oder Didit ist auf einen anderen Workflow ausgewichen).


## OpenAPI

````yaml de/openapi-25.json GET /v3/transactions/{transaction_id}/notes/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/transactions/{transaction_id}/notes/:
    get:
      tags:
        - Transactions
      summary: Transaktionsnotizen auflisten
      description: >-
        Notizen zu einer überwachten Transaktion auflisten, die neuesten zuerst
        (`created_at` absteigend): Notizen, die Sie über die API hinzufügen,
        Notizen und Statusänderungen, die Prüfer in der Console vornehmen, und
        Notizen, die Didit automatisch hinzufügt (die Aktion `add_note` einer
        Regel oder ein Problem beim Erstellen der Verifizierungssitzung für
        Benutzeraktionen), die `actor_name` `Rule Engine` tragen. `metadata`
        unterscheidet die Notiztypen.


        Paginiert mit `limit` und `offset`. `count` ist bis 100 exakt und
        darüber auf 100 begrenzt; folgen Sie daher `next`, bis es `null` ist,
        anstatt Seiten aus `count` zu berechnen. Dies ist ein Lesezugriff ohne
        Nebeneffekte.


        Ein berechtigungsbeschränkter API-Schlüssel benötigt `transactions:
        read`; ein Schlüssel, der auf bestimmte Workflows oder genehmigte
        Sitzungen beschränkt ist, kann diesen Endpoint nicht aufrufen. Prüfer
        sehen dieselbe Liste unter **Notes** in den
        [Transaktionsdetails](https://docs.didit.me/de/transaction-monitoring/console#transaktionsdetails).
      operationId: list_transaction_notes
      parameters:
        - name: transaction_id
          in: path
          required: true
          description: >-
            Didit-Transaktions-UUID: die von `POST /v3/transactions/` und `GET
            /v3/transactions/` zurückgegebene `uuid`. Ihre eigene `txn_id` wird
            nicht akzeptiert.
          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: >-
            Anzahl der Notizen pro Seite. Standardmäßig 50. Ein Wert, der keine
            positive Ganzzahl ist, fällt auf 50 zurück; ein Wert über 1000000
            gibt `400` zurück.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: >-
            Nullbasierte Position der ersten zurückzugebenden Notiz. Folgen Sie
            vorzugsweise `next`. Ein Wert, der keine ganze Zahl ist, fällt auf 0
            zurück; ein Wert über 1000000 gibt `400` zurück.
      responses:
        '200':
          description: Eine Seite mit Notizen, neueste zuerst.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      Anzahl der Notizen zur Transaktion: exakt bis 100, darüber
                      auf 100 begrenzt. Folgen Sie `next`, anstatt daraus Seiten
                      zu berechnen.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      Absolute URL der nächsten Seite oder `null` auf der
                      letzten Seite.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      Absolute URL der vorherigen Seite oder `null` auf der
                      ersten Seite.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/TransactionNote'
              examples:
                API, Console and rule notes:
                  value:
                    count: 3
                    next: null
                    previous: null
                    results:
                      - uuid: c1111111-2222-4333-8444-555555555555
                        note: Customer confirmed the withdrawal by phone.
                        actor_email: null
                        actor_name: null
                        metadata:
                          mentioned_emails:
                            - analyst@example.com
                        created_at: '2026-10-16T10:05:12.481203Z'
                      - uuid: c2222222-3333-4444-8555-666666666666
                        note: >-
                          Status changed from IN_REVIEW to APPROVED. Reason:
                          Source of funds verified
                        actor_email: reviewer@example.com
                        actor_name: Alex Reviewer
                        metadata:
                          type: status_change
                          previous_status: IN_REVIEW
                          new_status: APPROVED
                          reason_code: SOF_VERIFIED
                          reason_label: Source of funds verified
                        created_at: '2026-10-15T17:22:40.103911Z'
                      - uuid: c3333333-4444-4555-8666-777777777777
                        note: >-
                          Large withdrawal to a new wallet: check the source of
                          funds.
                        actor_email: null
                        actor_name: Rule Engine
                        metadata:
                          rule_uuid: d1111111-2222-4333-8444-555555555555
                          source: rule_action
                        created_at: '2026-10-15T08:42:12.004518Z'
                No notes yet:
                  value:
                    count: 0
                    next: null
                    previous: null
                    results: []
        '400':
          description: >-
            `limit` oder `offset` liegt über 1000000. Der Body ist ein
            JSON-Array von Nachrichten, kein Objekt.
          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: >-
            Der API-Schlüssel ist abgelaufen. Nur ein Schlüssel, der mit einem
            Ablaufdatum erstellt wurde, kann ablaufen; nach diesem Datum
            antwortet jede Anfrage damit mit `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Die Anfrage ist nicht zulässig. Bei einem fehlenden Schlüssel wird
            die generische Nachricht zurückgegeben; ein falscher, widerrufener
            oder abgelaufener Schlüssel erhält `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: >-
            In der Anwendung existiert keine Transaktion mit dieser UUID (nie
            erstellt, gelöscht oder gehört einer anderen Anwendung). Eine
            `transaction_id`, die keine UUID ist, erreicht die API nicht: Sie
            gibt stattdessen eine `404`-HTML-Seite anstelle dieses JSON-Bodys
            zurück.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Not found:
                  value:
                    detail: No Transaction matches the given query.
        '429':
          description: >-
            Mehr als 600 GET-Anfragen pro Minute mit diesem API-Schlüssel.
            Warten Sie die Anzahl der Sekunden in `Retry-After` ab und führen
            Sie dann einen Wiederholungsversuch durch.
          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: >-
                Sekunden bis zum Zurücksetzen des aktuellen
                Ein-Minuten-Fensters.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Pro Minute in diesem Budget zulässige Anfragen.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Im aktuellen Zeitfenster verbleibende Anfragen.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Unix-Zeit, zu der das Zeitfenster zurückgesetzt wird.
              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/notes/?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.notes.list(
                "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.notes.list("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.Notes.ListAutoPaging(ctx, \"abcdef12-3456-7890-abcd-ef1234567890\", didit.TransactionsNotesListParams{})\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().notes().list("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->notes->list('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.notes.list("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.Notes.ListAsync("abcdef12-3456-7890-abcd-ef1234567890"))

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    TransactionNote:
      type: object
      description: Eine Notiz in der Prüfungs-Timeline einer überwachten Transaktion.
      required:
        - uuid
        - note
        - actor_email
        - actor_name
        - metadata
        - created_at
      properties:
        uuid:
          type: string
          format: uuid
          description: Notizkennung.
        note:
          type: string
          description: Notiztext als Klartext.
        actor_email:
          type: string
          format: email
          nullable: true
          description: >-
            E-Mail des Console-Benutzers, der die Notiz verfasst oder den Status
            geändert hat. `null` für mit einem API-Schlüssel erstellte Notizen
            und für Notizen, die Didit automatisch hinzufügt.
        actor_name:
          type: string
          nullable: true
          description: >-
            Anzeigename des Console-Benutzers (seine E-Mail-Adresse, wenn er
            keinen Namen hat). `Rule Engine` bei Notizen, die Didit automatisch
            hinzufügt. `null` bei Notizen, die mit einem API-Schlüssel erstellt
            wurden.
        metadata:
          type: object
          description: >-
            Unterscheidet die Notiztypen. Über die API oder die Console
            verfasste Notizen enthalten `mentioned_emails`. Eine in der Console
            vorgenommene Statusänderung enthält `type: status_change` mit
            `previous_status`, `new_status`, `reason_code` und `reason_label`.
            Von Didit hinzugefügte Notizen enthalten `source`: `rule_action`
            (mit `rule_uuid`) für die Aktion `add_note` einer Regel oder
            `remediation_session` für ein Problem beim Erstellen der
            Verifizierungssitzung für Benutzeraktionen.
          properties:
            mentioned_emails:
              type: array
              items:
                type: string
                format: email
              description: >-
                Erwähnte Organisationsmitglieder, in Kleinbuchstaben und
                dedupliziert. Leer, wenn niemand erwähnt wurde.
            type:
              type: string
              enum:
                - status_change
              description: >-
                Vorhanden bei Notizen, die eine in der Console vorgenommene
                Statusänderung festhalten.
            previous_status:
              type: string
              enum:
                - APPROVED
                - IN_REVIEW
                - DECLINED
                - AWAITING_USER
              description: Status vor der Änderung.
            new_status:
              type: string
              enum:
                - APPROVED
                - IN_REVIEW
                - DECLINED
                - AWAITING_USER
              description: Status nach der Änderung.
            reason_code:
              type: string
              nullable: true
              description: Mit der Änderung angegebener Ursachencode.
            reason_label:
              type: string
              nullable: true
              description: Mit der Änderung angegebene Ursachenbezeichnung.
            source:
              type: string
              enum:
                - rule_action
                - remediation_session
              description: Vorhanden bei Notizen, die Didit automatisch hinzufügt.
            rule_uuid:
              type: string
              format: uuid
              description: >-
                Regel, deren `add_note`-Aktion die Notiz verfasst hat (mit
                `source: rule_action`).
        created_at:
          type: string
          format: date-time
          description: Wann die Notiz gespeichert wurde.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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