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

# Workspace API abrufen – Travel Rule kostenlos

> Ruft den kostenlosen Travel-Rule-Workspace ab: Verzeichnisanspruch, Domainnachweis, Abrechnung und Listing im Didit-Netzwerk.

API-Prompt für den kostenlosen Workspace abrufen
Prompt in die Zwischenablage kopieren

<pre>
  \`Reads the free workspace of an application that joined free: directory claim, domain proof, billing and Didit network listing.

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

  Authentication:
  Use the x-api-key header with the API key returned when the account was created.

  Failure modes:

  * 404 - This application did not join free, so it has no free workspace.

  Guide: /transaction-monitoring/travel-rule-interoperability#email-pickup.\`
</pre>

Einfügen in


## OpenAPI

````yaml de/openapi-25.json GET /v3/travel-rule/workspace/
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/workspace/:
    get:
      tags:
        - Travel Rule
      summary: Kostenlosen Travel-Rule-Workspace abrufen
      description: >-
        Liest den kostenlosen Workspace einer Anwendung aus, die kostenlos
        beigetreten ist: Anspruch auf einen Verzeichniseintrag, Domain-Nachweis,
        Abrechnung und Didit-Netzwerkeintrag.
      operationId: getTravelRuleWorkspace
      responses:
        '200':
          description: Der Workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleWorkspace'
        '404':
          description: >-
            Diese Anwendung ist nicht dem kostenlosen Angebot beigetreten, daher
            verfügt sie über keinen kostenlosen Workspace.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET https://verification.didit.me/v3/travel-rule/workspace/
            \
              -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.workspace.get()
            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.workspace.get();
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.TravelRule.Workspace.Get(ctx)\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            var result = client.travelRule().workspace().get();
            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->workspace->get();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.travel_rule.workspace.get
            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.Workspace.GetAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleWorkspace:
      type: object
      description: >-
        Der kostenlose Travel-Rule-Arbeitsbereich einer Anwendung, die dem
        kostenlosen Kontingent beigetreten ist.
      properties:
        joined_free:
          type: boolean
        work_email:
          type: string
          format: email
        joined_at:
          type: string
          format: date-time
          nullable: true
        claim:
          type: object
          properties:
            status:
              type: string
              enum:
                - unclaimed
                - pending_review
                - claimed
                - rejected
            proved_by_domain:
              type: boolean
            claimed_at:
              type: string
              format: date-time
              nullable: true
            reviewed_at:
              type: string
              format: date-time
              nullable: true
            review_note:
              type: string
            vasp_id:
              type: string
              format: uuid
              nullable: true
            vasp_name:
              type: string
        prefill:
          type: object
          description: >-
            Aus dem Verzeichniseintrag übernommene Profilwerte: `vasp_id`,
            `legal_name`, `lei`, `jurisdiction`, `compliance_email`, `domains`.
            Es wird nichts geschrieben, bis der Anspruch geltend gemacht wird.
        domain:
          type: object
          properties:
            domain:
              type: string
            status:
              type: string
              enum:
                - unverified
                - code_sent
                - verified
            verified_at:
              type: string
              format: date-time
              nullable: true
            txt:
              $ref: '#/components/schemas/TravelRuleWorkspaceTxtRecord'
        billing_enabled:
          type: boolean
          description: >-
            Der Empfang von Travel Rule-Daten ist kostenlos. Das Senden wird
            erst nach Aktivierung der Abrechnung berechnet.
        billing_enabled_at:
          type: string
          format: date-time
          nullable: true
        didit_network:
          type: object
          description: >-
            Gibt an, ob das Didit-Netzwerk diesen VASP führt, und wenn nicht,
            jede Bedingung, die er noch nicht erfüllt.
        settings:
          $ref: '#/components/schemas/TravelRuleSettingsDetail'
    TravelRuleWorkspaceTxtRecord:
      type: object
      description: >-
        Der für den DNS-Nachweis zu veröffentlichende TXT-Eintrag. Leer, bis ein
        Nachweis gestartet wurde.
      properties:
        host:
          type: string
          example: didit-tr-verify.example.com
        value:
          type: string
    TravelRuleSettingsDetail:
      type: object
      properties:
        is_enabled:
          type: boolean
          description: >-
            Gibt an, ob der verwaltete Travel-Rule-Verhandlungsablauf für
            ausgehende `travelRule`-Transaktionen bei dieser Anwendung aktiv
            ist.
        jurisdiction:
          type: string
          maxLength: 8
          description: >-
            Der Jurisdiktionscode der Betriebsjurisdiktion Ihres VASP.
            Standardmäßig `"EU"`. Didit ordnet ihn dem Regime zu, das auf Ihren
            Travel-Rule-Transaktionen als `travel_rule_regime` vermerkt wird
            (beispielsweise wird `EU` oder der Code eines EU-Mitgliedstaats zu
            `eu`), worauf Transaktionsregeln aufbauen können. Andere
            Didit-Kunden sehen diesen als Ihre Jurisdiktion im VASP-Verzeichnis,
            sobald das Didit-Netzwerk Ihr Profil auflistet.
        name_matching_strictness:
          type: string
          enum:
            - NONE
            - STRICT
            - CONTAINS
            - DEFAULT
            - FUZZY
          description: >-
            Wie genau die Namen der Begünstigten übereinstimmen müssen, bevor
            ein Transfer COMPLETED erreichen kann. `CONTAINS` akzeptiert einen
            Namen, dessen Wörter alle im anderen vorkommen.
        confirmation_timeout_hours:
          type: integer
          minimum: 1
          description: >-
            Stunden, die ein Transfer mit dem Status AWAITING_COUNTERPARTY
            unbestätigt bleiben darf, bevor der periodische Sweeper ihn ablaufen
            lässt. Standard: 48.
        timeout_outcome:
          type: string
          enum:
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Was mit der zugrunde liegenden Transaktion passiert, wenn ein
            Transfer abläuft. Standard HOLD. sunrise_policy und
            non_responsive_policy haben Vorrang, wenn sie zutreffen und
            festgelegt sind.
        threshold_amount:
          type: string
          description: >-
            Dezimal-Zeichenkette in der Standardwährung Ihrer Anwendung.
            Mindesttransferbetrag, der einen verwalteten Austausch auslöst;
            Transfers darunter werden direkt als NOT_APPLICABLE aufgelöst. Didit
            vergleicht den in Ihre Standardwährung umgerechneten
            Transaktionsbetrag oder den von Ihnen gesendeten
            `amount_in_default_currency`; wenn kein umgerechneter Betrag
            verfügbar ist, gilt der Schwellenwert nicht. Standardwert ist "0.00"
            (die EU-TFR sieht keinen Mindestbetrag vor).
        ownership_validation_mode:
          type: string
          enum:
            - FULL
            - SIMPLIFIED
            - AUTOMATED
          description: >-
            Wie viel Nachweis für die Eigentümerschaft einer Wallet erforderlich
            ist. `FULL` erfordert immer einen Nachweis (signierte Nachricht,
            Testeinzahlung oder geprüfter Screenshot), niemals das Wort des
            Endbenutzers. `SIMPLIFIED` akzeptiert eine Eigenerklärung unterhalb
            von `simplified_validation_threshold` und einen Nachweis darüber.
            `AUTOMATED` lässt das Adressbuch und frühere Nachweise eigenständig
            antworten, einschließlich Eigenerklärungen, solange
            `allow_self_declaration` wahr ist. Standardwert `AUTOMATED`.
        simplified_validation_threshold:
          type: string
          description: >-
            Dezimal-Zeichenkette, Standardwert "0.00". Im Modus `SIMPLIFIED`
            akzeptiert ein Transfer unterhalb dieses Betrags (in der
            Schwellenwertwährung) eine Eigenerklärung. Ein Transfer ohne Betrag
            in dieser Währung gilt als darüberliegend.
        data_sharing_fields:
          $ref: '#/components/schemas/TravelRuleDataSharingFields'
        matching_rules:
          $ref: '#/components/schemas/TravelRuleMatchingRules'
        legal_name:
          type: string
          description: >-
            Der rechtliche Name Ihres VASP. Erforderlich (nicht leer), um
            is_enabled auf true zu setzen.
        lei:
          type: string
          description: Ihr Legal Entity Identifier, angezeigt im VASP-Verzeichnis.
        compliance_email:
          type: string
          format: email
          description: >-
            Compliance-Kontakt-E-Mail für Ihr VASP-Profil. Das Didit-Netzwerk
            listet Ihr Profil erst auf, sobald diese Adresse über einen per
            E-Mail gesendeten Link bestätigt wurde (POST
            /v3/travel-rule/settings/compliance-email/confirmation/); eine
            Änderung erfordert eine erneute Bestätigung.
        is_discoverable:
          type: boolean
          description: >-
            Gibt an, ob Ihr VASP-Profil im Didit-Netzwerk gelistet werden kann:
            für andere Didit-Kunden unter GET /v3/travel-rule/vasps/ auffindbar
            und über die Schiene INTERNAL erreichbar. Die Listung erfordert
            außerdem eine aktive Anwendung, aktivierte Travel Rule, einen
            offiziellen Firmennamen und eine bestätigte Compliance-E-Mail;
            didit_network gibt an, welche Voraussetzungen fehlen. Standardmäßig
            true.
        inbound_auto_accept:
          type: boolean
          description: >-
            Wenn true, wird eine eingehende TRP-Anfrage, deren
            Begünstigten-Wallet ein verifizierter Adressbucheintrag mit
            übereinstimmendem Namen ist, automatisch genehmigt. Wenn false,
            verbleibt diese Anfrage im Status ON_HOLD, bis Sie sie über den
            Eigentums-Endpoint genehmigen oder ablehnen. Transfers über die
            INTERNAL-Rail sowie After-Deposit-Transfers sind davon nicht
            betroffen. Standardmäßig true.
        allow_self_declaration:
          type: boolean
          description: >-
            Wenn true, bietet das Wallet-Ownership-Widget eine Selbsterklärung
            als Fallback-Nachweismethode an. Standardmäßig true.
        allow_screenshot_proof:
          type: boolean
          description: >-
            Wenn true, bietet das Wallet-Ownership-Widget den Upload von
            Screenshots als Methode für den Eigentumsnachweis an. Standardmäßig
            true.
        auto_wallet_verification:
          type: boolean
          description: >-
            Wenn true, wird beim Übermitteln eines ausgehenden
            Travel-Rule-Transfers, der einen Endbenutzer-Nachweis der
            Wallet-Kontrolle erfordert, automatisch eine an die Transaktion
            gebundene Wallet-Ownership-Widget-Sitzung generiert und im
            action_required-Block der Transaktion bereitgestellt. Standardmäßig
            true.
        vasp_attribution_enabled:
          type: boolean
          description: >-
            Wenn true, wird ein ausgehender Travel-Rule-Transfer, den keine Rail
            routen kann, mittels Blockchain-Analysen zugeordnet: Die Ziel-Wallet
            wird dem Eigentümer-VASP zugeordnet, die Entität wird auf dem
            Transfer sowie im VASP-Verzeichnis erfasst und die Rails werden
            einmalig mit dem zugeordneten Namen erneut ausgeführt. Standardmäßig
            true.
        counterparty_screening_enabled:
          type: boolean
          description: >-
            Opt-in-Screening auf Sanktionen und negative Medienberichte von
            VASPs der Gegenpartei, abgerechnet pro Screening zum Preis für
            Unternehmens-AML-Screening. Wenn aktiviert, prüft Didit die
            Gegenpartei, die ein ausgehender Transfer erreicht (wobei ein
            Screening wiederverwendet wird, das jünger als 30 Tage ist), und Sie
            können einen über POST /v3/travel-rule/vasps/{vasp_id}/screening/
            screenen. Standardmäßig false: Es wird nichts geprüft oder
            abgerechnet.
        sunrise_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Auswirkung eines abgelaufenen Transfers auf dessen Transaktion, wenn
            die Gegenpartei ein Verzeichniseintrag in einer Rechtsordnung unter
            sunrise_jurisdictions ist, die die Travel Rule noch nicht
            durchsetzt: HOLD verschiebt sie zur Prüfung, REJECT lehnt sie ab,
            PROCEED belässt ihren Status unverändert. Leer (Standardwert) folgt
            timeout_outcome. Gilt vor non_responsive_policy.
        sunrise_jurisdictions:
          type: array
          items:
            type: string
          readOnly: true
          description: >-
            Schreibgeschützt. Die Länder (ISO 3166 Alpha-2), die Didit als in
            einer Travel Rule-Sunrise-Periode befindlich behandelt, in der die
            sunrise_policy gilt. Derzeit CO, KH und VN. Jede andere
            Rechtsordnung sowie eine leere oder unbekannte Angabe folgt dem
            timeout_outcome.
        non_responsive_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Auswirkung eines abgelaufenen Transfers auf dessen Transaktion, wenn
            die Gegenpartei ein Verzeichniseintrag ist, dessen
            Reaktionsfähigkeit UNRESPONSIVE ist: HOLD, REJECT oder PROCEED, wie
            bei timeout_outcome. Leer (Standardwert) folgt timeout_outcome.
            sunrise_policy gilt zuerst, wenn beides zutrifft.
        travel_address:
          type: string
          description: >-
            Schreibgeschützt. Die eigene Travel Address Ihres VASP – der
            kodierte eingehende TRP-Anfrage-Endpoint, über den andere VASPs Sie
            erreichen. Leer, solange `is_enabled` den Wert false hat.
        disabled_networks:
          type: array
          items:
            type: string
            enum:
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
          description: >-
            Netzwerke, die von der Plattform-Mitgliedschaft abgemeldet wurden.
            Dies deaktiviert weder Ihre verknüpften eigenen Mitgliedschaften
            noch stellt es nicht verfügbare Netzwerke bereit.
          default: []
        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'
        didit_network:
          type: object
          readOnly: true
          description: >-
            Gibt an, ob das Didit-Netzwerk Ihr VASP-Profil listet, sodass andere
            Didit-Kunden es im Verzeichnis finden und über die INTERNAL-Schiene
            erreichen können, sowie jede Bedingung, die noch fehlt.
          properties:
            listed:
              type: boolean
            missing:
              type: array
              items:
                type: string
                enum:
                  - travel_rule_off
                  - sandbox_application
                  - not_discoverable
                  - legal_name_missing
                  - compliance_email_missing
                  - compliance_email_unconfirmed
                  - excluded_by_staff
                  - internal_organization
              description: >-
                Leer, wenn gelistet. compliance_email_unconfirmed: Senden Sie
                die Bestätigung mit POST
                /v3/travel-rule/settings/compliance-email/confirmation/ und
                öffnen Sie den per E-Mail gesendeten Link. excluded_by_staff:
                Didit hat die Anwendung als Test-, Demo- oder interne Anwendung
                markiert.
            compliance_email_confirmed:
              type: boolean
              description: >-
                Gibt an, ob die aktuelle compliance_email über den per E-Mail
                gesendeten Link bestätigt wurde.
    TravelRuleDataSharingFields:
      type: object
      description: >-
        Die Felder, die Didit pro Entitätstyp an das Gegenpartei-VASP über Ihre
        eigenen Benutzer sendet. Der `name` und die `wallet_address` werden
        immer gesendet, unabhängig vom Inhalt der Liste. Ein Entitätstyp, den
        Sie nie ausgewählt haben, teilt jedes Feld. Eine leere Liste ist
        ebenfalls eine Auswahl: Sie teilt nur den Namen und die Wallet.
      properties:
        individual:
          type: array
          items:
            type: string
            enum:
              - name
              - wallet_address
              - address
              - national_id
              - customer_identification
              - date_of_birth
              - place_of_birth
          description: Über eine natürliche Person geteilte Felder.
        company:
          type: array
          items:
            type: string
            enum:
              - name
              - wallet_address
              - address
              - national_id
              - customer_identification
          description: Über eine juristische Person geteilte Felder.
    TravelRuleMatchingRules:
      type: object
      description: >-
        Wie genau jedes Feld der Daten der Gegenpartei mit den bei Ihnen
        vorliegenden Daten verglichen wird, pro Entitätstyp. Ein weggelassenes
        Feld behält seinen Standardwert. `NONE` überspringt den Vergleich,
        `STRICT` erfordert exakt dieselben Wörter, `CONTAINS` akzeptiert einen
        Wert, dessen Wörter alle im anderen vorkommen, `DEFAULT` ist der
        Standard-Teilmengenabgleich und `FUZZY` akzeptiert ähnliche
        Schreibweisen (sowie bei Geburtsdaten einen vertauschten Tag und Monat).
      properties:
        individual:
          type: object
          description: Regeln für eine natürliche Person.
          properties:
            name:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: 'Standard: folgt `name_matching_strictness`.'
            date_of_birth:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: Standard `NONE`.
            address:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: Standard `NONE`.
            account:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: >-
                Die Wallet, über die der Austausch weitergeleitet wurde.
                Standardwert `STRICT`.
        company:
          type: object
          description: Regeln für eine juristische Person.
          properties:
            name:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: 'Standard: folgt `name_matching_strictness`.'
            address:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: Standard `NONE`.
            account:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: >-
                Die Wallet, über die der Austausch weitergeleitet wurde.
                Standardwert `STRICT`.
    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.
    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.