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

# Travel Rule Netzwerke per API abrufen

> Didit liefert den Status jedes Travel-Rule-Netzwerks: Ihre Mitgliedschaft, Didit-Mitgliedschaft und Grund, warum ein Netzwerk noch nicht senden kann.

API-Prompt zum Abrufen der Travel-Rule-Netzwerke
Prompt in die Zwischenablage kopieren

<pre>
  \`Read, for my application, the real state of every Travel Rule network, the due-diligence questionnaire and my participants.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/networks/](https://verification.didit.me/v3/travel-rule/networks/)

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

  What to read from the response:

  * platform\_networks\_enabled - whether network access through Didit's membership is open. While false, questionnaire saves, submissions and network requests answer 403.
  * networks - keyed by gtr/trust/verifyvasp/sygna: {rail, mode, state, reason, platform_available, connected, participant, vasps_reachable, routed_30d}.
  * state: own\_membership | live\_through\_didit | off | didit\_onboarding | questionnaire\_needed | questionnaire\_in\_review | request\_access | request\_sent | unavailable | error.
  * reason: the machine-readable detail, for example didit\_membership\_not\_live, own\_membership\_only (TRUST) or provisioning\_failed.
  * participant: my own participant on that network (status, participant\_code, last\_error), or null.
  * questionnaire - status (draft | submitted | changes\_requested | approved | rejected), answers and Didit's review\_note.
  * participants - every participant I have, with its status history.

  Reading creates nothing. Full guide: /transaction-monitoring/travel-rule.\`
</pre>

Einfügen in

## Netzwerkstatus

Ein Netzwerk sendet für Ihre Anwendung auf eine von zwei Arten:

* **Ihre eigene Mitgliedschaft** (`state: own_membership`): eine Mitgliedschaft, die Sie in **Marketplace** verbunden haben. Sie hat immer Vorrang.
* **Didit-Mitgliedschaft** (`state: live_through_didit`): Didit führt Ihre Anwendung als eigenen Teilnehmer bei GTR oder Sygna, mit dem Teilnehmercode, den Ihnen das Netzwerk zugewiesen hat. Nachrichten tragen nie den eigenen Code von Didit, und was das Netzwerk an Ihren Teilnehmercode sendet, erreicht Ihre Anwendung.

Der Zugang zu einem Netzwerk über die Didit-Mitgliedschaft erfordert drei Schritte: den [Netzwerk-Fragebogen](https://docs.didit.me/de/management-api/travel-rule/submit-network-questionnaire.md) einreichen, die Genehmigung durch Didit einholen und dann [das Netzwerk anfragen](https://docs.didit.me/de/management-api/travel-rule/request-network.md). TRUST und VerifyVASP sind nur über Ihre eigene Mitgliedschaft erreichbar: TRUST nimmt Mitglieder pro VASP auf, und eine VerifyVASP Enclave bedient genau eine VASP-ID, daher betreiben Sie Ihre eigene.

Solange Didits eigene Mitgliedschaft in einem Netzwerk nicht aktiv ist, lautet sein `state` `didit_onboarding`, und über Didit kann darüber nichts gesendet werden. `state` ist ein Konfigurationsstatus und keine Prüfung des Live-Status oder der Zustellung.


## OpenAPI

````yaml de/openapi-25.json GET /v3/travel-rule/networks/
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/travel-rule/networks/:
    get:
      tags:
        - Travel Rule
      summary: Travel Rule-Netzwerke abrufen
      description: >-
        Lesen Sie für diese Anwendung den tatsächlichen Status jedes Netzwerks
        aus: ob es über Ihre eigene Mitgliedschaft oder über die von Didit
        sendet und warum es dies noch nicht kann. Gibt auch den
        Due-Diligence-Fragebogen und Ihre Teilnehmer zurück. Der Lesevorgang
        erstellt nichts.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: Netzwerkstatus, Fragebogen und Teilnehmer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworksOverview'
              examples:
                Before the questionnaire:
                  value:
                    platform_networks_enabled: false
                    questionnaire:
                      status: draft
                      answers: {}
                      submitted_at: null
                      reviewed_at: null
                      review_note: ''
                      history: []
                      updated_at: null
                    participants: []
                    networks:
                      gtr:
                        rail: GTR
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      trust:
                        rail: TRUST
                        mode: unavailable
                        state: unavailable
                        reason: own_membership_only
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      verifyvasp:
                        rail: VERIFYVASP
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      sygna:
                        rail: SYGNA
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
        '401':
          description: Fehlender oder ungültiger API-Schlüssel.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X GET https://verification.didit.me/v3/travel-rule/networks/ \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.networks.retrieve()
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            const result = await didit.travelRule.networks.retrieve();
            console.log(result);
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            var result = client.travelRule().networks().retrieve();
            System.out.println(result);
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            $result = $didit->travelRule->networks->retrieve();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.travel_rule.networks.retrieve
            puts result.to_h
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            var result = await client.TravelRule.Networks.RetrieveAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleNetworksOverview:
      type: object
      properties:
        platform_networks_enabled:
          type: boolean
          description: >-
            Gibt an, ob der Netzwerkzugriff über Didits Mitgliedschaft offen
            ist. Solange dies false ist, antworten das Speichern von Fragebögen,
            Einreichungen und Netzwerkanfragen mit 403.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            Pro Netzwerk, wie diese Anwendung senden würde und warum sie es
            nicht kann. Kein Netzwerk, einschließlich GTR, ist standardmäßig
            enthalten: Ein Netzwerk ist über Ihre eigene verknüpfte
            Mitgliedschaft erreichbar oder über die Mitgliedschaft von Didit,
            sobald die Mitgliedschaft von Didit in diesem Netzwerk aktiv ist und
            Ihr eigener Teilnehmer darauf aktiv ist. Keine Live-Prüfung von
            Status oder Zustellung.
          properties:
            gtr:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            trust:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            verifyvasp:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            sygna:
              $ref: '#/components/schemas/TravelRuleNetworkState'
    TravelRuleNetworkQuestionnaire:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - submitted
            - changes_requested
            - approved
            - rejected
          description: >-
            Antworten können gespeichert werden, solange der Status draft oder
            changes_requested ist; die Statusänderungen zu submitted, approved
            und rejected werden von Didit vorgenommen.
        answers:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaireAnswers'
        submitted_at:
          type: string
          format: date-time
          nullable: true
        reviewed_at:
          type: string
          format: date-time
          nullable: true
        review_note:
          type: string
          description: >-
            Didits Notiz zu seiner letzten Entscheidung, beispielsweise was
            geändert werden muss.
        history:
          type: array
          readOnly: true
          description: Jede Statusänderung, die älteste zuerst.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Prüfnotiz oder die Antwort des Netzwerks, sofern vorhanden.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: Der eigene Teilnehmer dieser Anwendung in einem Netzwerk.
      properties:
        network:
          type: string
          enum:
            - gtr
            - trust
            - verifyvasp
            - sygna
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - platform
            - own
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: nie angefordert oder das Netzwerk hat die erste
            Anfrage abgelehnt (siehe last_error); questionnaire_pending: Warten
            auf die Genehmigung des Due-Diligence-Fragebogens;
            submitted_to_network: an das Onboarding des Netzwerks übergeben;
            active: das Netzwerk hat dieser Anwendung einen eigenen
            Teilnehmercode zugewiesen; suspended / rejected: Didit hat sie
            gesperrt oder abgelehnt.
        participant_code:
          type: string
        requested_at:
          type: string
          format: date-time
          nullable: true
        submitted_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        suspended_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: >-
            Die Antwort des Netzwerks bei Ablehnung der Registrierung;
            andernfalls leer.
        history:
          type: array
          readOnly: true
          description: Jede Statusänderung, die älteste zuerst.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Prüfnotiz oder die Antwort des Netzwerks, sofern vorhanden.
    TravelRuleNetworkState:
      type: object
      description: >-
        Wie Travel Rule-Nachrichten in einem Netzwerk für diese Anwendung
        gesendet würden und warum dies nicht möglich ist. Konfigurationsstatus,
        keine Live-Prüfung von Status oder Zustellung.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: die verknüpfte Mitgliedschaft der Anwendung wird verwendet;
            didit: die Mitgliedschaft von Didit führt die Anwendung als eigenen
            aktiven Teilnehmer; off: Plattform-Routing in disabled_networks ohne
            eigene Mitgliedschaft deaktiviert; unavailable: über dieses Netzwerk
            kann noch nichts gesendet werden (siehe state und reason).
        state:
          type: string
          enum:
            - own_membership
            - live_through_didit
            - 'off'
            - didit_onboarding
            - questionnaire_needed
            - questionnaire_in_review
            - request_access
            - request_sent
            - unavailable
            - error
          description: >-
            own_membership: Ihre verknüpfte Mitgliedschaft sendet;
            live_through_didit: Ihr eigener Teilnehmer über die
            Didit-Mitgliedschaft sendet; off: Sie haben das Plattform-Routing
            deaktiviert; didit_onboarding: Didits eigene Mitgliedschaft in
            diesem Netzwerk ist noch nicht live und kann daher niemanden führen;
            questionnaire_needed / questionnaire_in_review: Der
            Due-Diligence-Fragebogen muss eingereicht werden oder liegt bei
            Didit; request_access: Der Fragebogen ist genehmigt, fragen Sie das
            Netzwerk an; request_sent: Ihr Teilnehmer wird onboarded;
            unavailable: siehe reason; error: siehe reason.
        reason:
          type: string
          enum:
            - own_membership_connected
            - platform_network_switched_off
            - own_membership_only
            - sandbox_application
            - didit_membership_not_live
            - participant_suspended
            - participant_rejected
            - questionnaire_not_submitted
            - questionnaire_submitted
            - questionnaire_changes_requested
            - questionnaire_rejected
            - participant_not_requested
            - participant_active
            - participant_key_missing
            - participant_key_unresolved
            - provisioning_failed
            - questionnaire_pending
            - submitted_to_network
          description: >-
            Maschinenlesbare Details zum Status. own_membership_only: Didit
            wickelt keine Anwendungen in diesem Netzwerk (TRUST) ab, verknüpfen
            Sie Ihre eigene Mitgliedschaft; sandbox_application:
            Sandbox-Übertragungen erreichen niemals ein Netzwerk;
            provisioning_failed: Das Netzwerk hat die Registrierung abgelehnt,
            last_error des Teilnehmers gibt den Grund an und eine erneute
            Netzwerkanfrage startet einen Wiederholungsversuch.
        platform_available:
          type: boolean
          description: >-
            Gibt an, ob Didits eigene Mitgliedschaft in diesem Netzwerk
            konfiguriert ist; keine Live-Statusprüfung.
        connected:
          type: boolean
          description: >-
            Gibt an, ob eine verbundene Kundenmitgliedschaft existiert.
            Zugangsdaten werden lokal validiert; die Netzwerkvalidierung erfolgt
            bei einem Live-Austausch.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: Verzeichnis-VASPs, die in diesem Netzwerk erreichbar sind.
        routed_30d:
          type: integer
          description: >-
            Die über dieses Netzwerk in den letzten 30 Tagen durchgeführten
            Transfers dieser Anwendung.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Didits Netzwerk-Due-Diligence-Fragebogen. Speicherungen erfolgen
        partiell: Bei einer Speicherung bleiben alle Antworten erhalten, die
        nicht genannt werden. Das Einreichen erfordert jedes Feld mit Ausnahme
        von lei und data_protection_contact_email sowie die drei Bestätigungen
        auf true.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: ISO 3166-1 Alpha-2-Ländercode.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Optional. Eine gültige ISO-17442-LEI, sofern angegeben.
        licences:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - regulator
              - jurisdiction
              - licence_type
              - licence_number
            properties:
              regulator:
                type: string
                maxLength: 255
              jurisdiction:
                type: string
                minLength: 2
                maxLength: 2
                description: ISO 3166-1 Alpha-2-Ländercode.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Jede Lizenz oder Registrierung, die der VASP besitzt.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: ISO 3166-1 Alpha-2-Ländercode.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: Muss true sein, um übermittelt zu werden.
        sanctions_screening_attested:
          type: boolean
          description: Muss true sein, um übermittelt zu werden.
        data_protection_attested:
          type: boolean
          description: Muss true sein, um übermittelt zu werden.
        data_protection_contact_email:
          type: string
          format: email
          description: Optional.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Erwartetes monatliches Volumen in USD, bis zu 2 Dezimalstellen. Wird
            als String zurückgegeben.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Asset-Ticker, in Großbuchstaben gespeichert, sortiert und
            dedupliziert.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: >-
        Der eigene Teilnehmer dieser Anwendung im Netzwerk oder null, wenn
        keiner vorhanden ist.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: über die Didit-Mitgliedschaft geführt; own: unter der
            eigenen Mitgliedschaft der Anwendung onboarded.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: nie angefordert oder das Netzwerk hat die erste
            Anfrage abgelehnt (siehe last_error); questionnaire_pending: Warten
            auf die Genehmigung des Due-Diligence-Fragebogens;
            submitted_to_network: an das Onboarding des Netzwerks übergeben;
            active: das Netzwerk hat dieser Anwendung einen eigenen
            Teilnehmercode zugewiesen; suspended / rejected: Didit hat sie
            gesperrt oder abgelehnt.
        participant_code:
          type: string
          description: >-
            Der Code, den das Netzwerk dieser Anwendung zugewiesen hat (bei GTR
            dessen VASP-Code). Ausgehende Nachrichten enthalten diesen Code,
            niemals den von Didit selbst.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: >-
            Die Antwort des Netzwerks bei Ablehnung der Registrierung;
            andernfalls leer.
  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.