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

# Obtenir xarxes de Travel Rule (API)

> Consulta l'estat real de cada xarxa de Travel Rule: la teva pertinença, la de Didit i per què una xarxa encara no pot enviar.

Prompt de l'API per obtenir les xarxes de Travel Rule
Copia el prompt al porta-retalls

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

Enganxa a

## Estats de les xarxes

Una xarxa envia per a la teva aplicació de dues maneres:

* **La teva pròpia afiliació** (`state: own_membership`): una afiliació que has connectat a **Marketplace**. Sempre té prioritat.
* **Afiliació de Didit** (`state: live_through_didit`): Didit porta la teva aplicació com a participant propi a GTR o Sygna, amb el codi de participant que la xarxa t'ha donat. Els missatges mai porten el codi propi de Didit, i tot el que la xarxa envia al teu codi de participant arriba a la teva aplicació.

Accedir a una xarxa mitjançant l'afiliació de Didit requereix tres passos: enviar el [qüestionari de xarxa](https://docs.didit.me/ca/management-api/travel-rule/submit-network-questionnaire.md), obtenir l'aprovació de Didit i després [sol·licitar la xarxa](https://docs.didit.me/ca/management-api/travel-rule/request-network.md). TRUST i VerifyVASP només són accessibles mitjançant la teva pròpia afiliació: TRUST admet membres per VASP, i un Enclave de VerifyVASP serveix un sol id de VASP, de manera que n'has de gestionar un de propi.

Mentre l'afiliació pròpia de Didit a una xarxa no estigui activa, el seu `state` és `didit_onboarding` i no s'hi pot enviar res a través de Didit. `state` és l'estat de la configuració, no una comprovació de l'estat o del lliurament en directe.


## OpenAPI

````yaml ca/openapi-25.json GET /v3/travel-rule/networks/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificació d'identitat. Autentica't amb la capçalera x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/:
    get:
      tags:
        - Travel Rule
      summary: Obtenir les xarxes de Travel Rule
      description: >-
        Llegeix, per a aquesta aplicació, l'estat real de cada xarxa: si envia a
        través de la teva pròpia pertinença o de la de Didit, i per quin motiu
        encara no pot fer-ho. També retorna el qüestionari de diligència deguda
        i els teus participants. Llegir no crea res.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: Estats de la xarxa, qüestionari i participants.
          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: Falta la clau d'API o no és vàlida.
      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: >-
            Indica si l'accés a la xarxa mitjançant la pertinença de Didit està
            obert. Mentre sigui false, el desat de qüestionaris, els enviaments
            i les sol·licituds de xarxa respondran 403.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            Per xarxa, com enviaria aquesta aplicació i per què no pot fer-ho.
            Cap xarxa, inclosa GTR, s'inclou per defecte: es pot accedir a una
            xarxa mitjançant la teva pròpia pertinença connectada, o mitjançant
            la pertinença de Didit un cop la pertinença de Didit a aquesta xarxa
            estigui activa i el teu propi participant hi estigui actiu. No és
            una comprovació d'estat o de lliurament en directe.
          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: >-
            Les respostes es poden desar mentre estiguin en draft o
            changes_requested; correspon a Didit moure submitted, approved i
            rejected.
        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: >-
            Nota de Didit sobre la seva darrera decisió, per exemple què cal
            canviar.
        history:
          type: array
          readOnly: true
          description: Tots els canvis d'estat, del més antic al més recent.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota de revisió o resposta de la xarxa, quan n'hi hagi.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: El participant propi d'aquesta aplicació en una xarxa.
      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: mai sol·licitat, o la xarxa ha rebutjat la primera
            sol·licitud (consulta last_error); questionnaire_pending: pendent
            que s'aprovi el qüestionari de diligència deguda;
            submitted_to_network: enviat al procés d'alta de la xarxa; active:
            la xarxa ha assignat a aquesta aplicació el seu propi codi de
            participant; suspended / rejected: Didit l'ha suspès o rebutjat.
        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: >-
            La resposta de la xarxa quan ha rebutjat el registre; buida en cas
            contrari.
        history:
          type: array
          readOnly: true
          description: Tots els canvis d'estat, del més antic al més recent.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota de revisió o resposta de la xarxa, quan n'hi hagi.
    TravelRuleNetworkState:
      type: object
      description: >-
        Com s'enviarien els missatges de Travel Rule en una xarxa per a aquesta
        aplicació, i per què no es poden enviar. És un estat de configuració, no
        una comprovació d'estat o de lliurament en directe.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: s'utilitza la pertinença connectada de l'aplicació; didit: la
            pertinença de Didit inclou l'aplicació com a participant actiu
            propi; off: enrutament de plataforma desactivat a disabled_networks
            sense pertinença pròpia; unavailable: encara no es pot enviar res en
            aquesta xarxa (consulta state i 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: envia la teva pertinença connectada;
            live_through_didit: envia el teu propi participant a través de la
            pertinença de Didit; off: has desactivat l'enrutament de plataforma;
            didit_onboarding: la pertinença pròpia de Didit a aquesta xarxa
            encara no està activa, per la qual cosa no pot donar cabuda a ningú;
            questionnaire_needed / questionnaire_in_review: cal enviar el
            qüestionari de diligència deguda o està en revisió per part de
            Didit; request_access: el qüestionari està aprovat, sol·licita
            l'accés a la xarxa; request_sent: s'està tramitant l'alta del teu
            participant; unavailable: consulta reason; error: consulta 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: >-
            Detall de l'estat llegible per màquina. own_membership_only: Didit
            no gestiona aplicacions en aquesta xarxa (TRUST), connecta la teva
            pròpia pertinença; sandbox_application: les transferències de
            sandbox mai arriben a una xarxa; provisioning_failed: la xarxa ha
            rebutjat el registre, el camp last_error del participant n'indica el
            motiu i sol·licitar la xarxa de nou reintenta l'operació.
        platform_available:
          type: boolean
          description: >-
            Indica si la pertinença de Didit a aquesta xarxa està configurada;
            no és una comprovació de l'estat en temps real.
        connected:
          type: boolean
          description: >-
            Indica si existeix una pertinença de client connectada. Les
            credencials es validen localment; la validació de la xarxa es
            produeix en un intercanvi en temps real.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: VASP del directori accessibles en aquesta xarxa.
        routed_30d:
          type: integer
          description: >-
            Les transferències d'aquesta aplicació cursades en aquesta xarxa en
            els darrers 30 dies.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Qüestionari de diligència deguda de xarxa de Didit. Els desats són
        parcials: un desat manté totes les respostes que no esmenta. Per
        enviar-lo cal completar tots els camps excepte lei i
        data_protection_contact_email, i que les tres atestacions siguin certes.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Codi de país ISO 3166-1 alfa-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Opcional. Un LEI ISO 17442 vàlid quan s'indica.
        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: Codi de país ISO 3166-1 alfa-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Totes les llicències o registres que posseeix el VASP.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Codi de país ISO 3166-1 alfa-2.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: Ha de ser true per enviar.
        sanctions_screening_attested:
          type: boolean
          description: Ha de ser true per enviar.
        data_protection_attested:
          type: boolean
          description: Ha de ser true per enviar.
        data_protection_contact_email:
          type: string
          format: email
          description: Opcional.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volum mensual esperat en USD, amb fins a 2 decimals. Es retorna com
            una cadena.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Tíquers d'actius, emmagatzemats en majúscules, ordenats i sense
            duplicats.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: >-
        El participant propi d'aquesta aplicació a la xarxa, o null si no en té
        cap.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: gestionat a través de la pertinença de Didit; own: alta
            tramitada sota la pertinença pròpia de l'aplicació.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: mai sol·licitat, o la xarxa ha rebutjat la primera
            sol·licitud (consulta last_error); questionnaire_pending: pendent
            que s'aprovi el qüestionari de diligència deguda;
            submitted_to_network: enviat al procés d'alta de la xarxa; active:
            la xarxa ha assignat a aquesta aplicació el seu propi codi de
            participant; suspended / rejected: Didit l'ha suspès o rebutjat.
        participant_code:
          type: string
          description: >-
            El codi que la xarxa ha assignat a aquesta aplicació (per a GTR, el
            seu codi de VASP). Els missatges de sortida porten aquest codi, mai
            el de Didit.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: >-
            La resposta de la xarxa quan ha rebutjat el registre; buida en cas
            contrari.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

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