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

# API per le reti Travel Rule: ottieni lo stato

> Leggi lo stato reale di ogni rete Travel Rule per la tua applicazione: la tua appartenenza, quella di Didit e il motivo per cui una rete non può ancora inviare.

Prompt per l'API delle reti Travel Rule
Copia il prompt negli appunti

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

Incolla in

## Stati delle reti

Una rete invia messaggi per la tua applicazione in uno di due modi:

* **La tua adesione** (`state: own_membership`): un'adesione che hai collegato in **Marketplace**. Ha sempre la precedenza.
* **Adesione di Didit** (`state: live_through_didit`): Didit rappresenta la tua applicazione in qualità di proprio partecipante su GTR o Sygna, con il codice partecipante che la rete ti ha fornito. I messaggi non riportano mai il codice di Didit, e ciò che la rete invia al tuo codice partecipante raggiunge la tua applicazione.

Raggiungere una rete tramite l'adesione di Didit richiede tre passaggi: inviare il [questionario per la rete](https://docs.didit.me/it/management-api/travel-rule/submit-network-questionnaire.md), far approvare il questionario da Didit, quindi [richiedere la rete](https://docs.didit.me/it/management-api/travel-rule/request-network.md). TRUST e VerifyVASP sono raggiungibili solo tramite la tua adesione: TRUST ammette i membri in base al VASP, e un Enclave VerifyVASP serve un solo id VASP, quindi devi gestire la tua adesione.

Finché l'adesione propria di Didit a una rete non è attiva, il suo `state` è `didit_onboarding` e nulla può inviare su di essa tramite Didit. `state` indica lo stato di configurazione, non un controllo dello stato di funzionamento o della consegna.


## OpenAPI

````yaml it/openapi-25.json GET /v3/travel-rule/networks/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/:
    get:
      tags:
        - Travel Rule
      summary: Recupera reti Travel Rule
      description: >-
        Legge, per questa applicazione, lo stato effettivo di ciascuna rete: se
        invia tramite la tua adesione o tramite quella di Didit, e il motivo per
        cui non può ancora farlo. Restituisce inoltre il questionario di due
        diligence e i tuoi partecipanti. L'operazione di lettura non crea alcuna
        risorsa.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: Stati della rete, questionario e partecipanti.
          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: Chiave API mancante o non valida.
      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 se l'accesso di rete tramite l'adesione di Didit è aperto.
            Finché è impostato su false, i salvataggi dei questionari, gli invii
            e le richieste di rete rispondono con 403.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            Per ciascuna rete, come questa applicazione invierebbe e perché non
            può farlo. Nessuna rete, inclusa GTR, è inclusa per impostazione
            predefinita: una rete è raggiungibile tramite la tua adesione
            connessa, oppure tramite l'adesione di Didit una volta che
            l'adesione di Didit a tale rete è attiva e il tuo partecipante su di
            essa è attivo. Non si tratta di un controllo di stato o consegna in
            tempo reale.
          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: >-
            Le risposte possono essere salvate mentre sono in bozza o in
            modifiche richieste; gli stati di invio, approvazione e rifiuto
            vengono gestiti da Didit.
        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 di Didit sulla sua ultima decisione, ad esempio le modifiche da
            apportare.
        history:
          type: array
          readOnly: true
          description: Ogni cambio di stato, dal più vecchio al più recente.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota di revisione o risposta della rete, quando presente.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: Il partecipante di questa applicazione su una rete.
      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 richiesta, oppure la rete ha rifiutato la prima
            richiesta (vedi last_error); questionnaire_pending: in attesa
            dell'approvazione del questionario di due diligence;
            submitted_to_network: trasmessa all'onboarding della rete; active:
            la rete ha assegnato a questa applicazione il proprio codice
            partecipante; suspended / rejected: Didit l'ha sospesa o rifiutata.
        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 risposta della rete in caso di rifiuto della registrazione; vuota
            altrimenti.
        history:
          type: array
          readOnly: true
          description: Ogni cambio di stato, dal più vecchio al più recente.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota di revisione o risposta della rete, quando presente.
    TravelRuleNetworkState:
      type: object
      description: >-
        Come verrebbero inviati i messaggi Travel Rule su una rete per questa
        applicazione e perché non è possibile farlo. Stato della configurazione,
        non una verifica in tempo reale dello stato o della consegna.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: viene utilizzata la membership collegata dell'applicazione;
            didit: la membership di Didit include l'applicazione come
            partecipante attivo proprio; off: routing di piattaforma
            disabilitato in disabled_networks senza una propria membership;
            unavailable: nessun elemento può ancora trasmettere su questa rete
            (vedi state e 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: trasmette la tua membership collegata;
            live_through_didit: trasmette il tuo partecipante sulla membership
            di Didit; off: hai disattivato il routing di piattaforma;
            didit_onboarding: la membership di Didit per questa rete non è
            ancora attiva, quindi non può veicolare alcun partecipante;
            questionnaire_needed / questionnaire_in_review: il questionario di
            due diligence deve essere inviato o è presso Didit; request_access:
            il questionario è approvato, richiedi l'accesso alla rete;
            request_sent: l'onboarding del tuo partecipante è in corso;
            unavailable: vedi reason; error: vedi 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: >-
            Dettaglio dello stato leggibile dalla macchina. own_membership_only:
            Didit non supporta applicazioni su questa rete (TRUST), collega la
            tua iscrizione; sandbox_application: i trasferimenti in sandbox non
            raggiungono mai una rete; provisioning_failed: la rete ha rifiutato
            la registrazione, il last_error del partecipante ne indica il motivo
            e una nuova richiesta alla rete avvia un nuovo tentativo.
        platform_available:
          type: boolean
          description: >-
            Indica se la partecipazione di Didit a questa rete è configurata;
            non si tratta di un controllo in tempo reale dello stato.
        connected:
          type: boolean
          description: >-
            Indica se esiste un'adesione cliente collegata. Le credenziali
            vengono convalidate localmente; la convalida di rete avviene su uno
            scambio in tempo reale.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: VASP presenti nella directory e raggiungibili su questa rete.
        routed_30d:
          type: integer
          description: >-
            I trasferimenti di questa applicazione veicolati su questa rete
            negli ultimi 30 giorni.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Questionario di due diligence di rete di Didit. I salvataggi sono
        parziali: un salvataggio conserva ogni risposta non indicata. L'invio
        richiede tutti i campi tranne lei e data_protection_contact_email, e che
        le tre attestazioni siano true.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Codice paese ISO 3166-1 alpha-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Opzionale. Un LEI ISO 17442 valido, se fornito.
        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: Codice paese ISO 3166-1 alpha-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Ogni licenza o registrazione detenuta dal VASP.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Codice paese ISO 3166-1 alpha-2.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: Deve essere true per l'invio.
        sanctions_screening_attested:
          type: boolean
          description: Deve essere true per l'invio.
        data_protection_attested:
          type: boolean
          description: Deve essere true per l'invio.
        data_protection_contact_email:
          type: string
          format: email
          description: Opzionale.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volume mensile previsto in USD, fino a 2 cifre decimali. Restituito
            come stringa.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Ticker degli asset, memorizzati in maiuscolo, ordinati e
            deduplicati.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: >-
        Il partecipante di questa applicazione sulla rete, oppure null se non ne
        ha nessuno.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: veicolato tramite la membership di Didit; own: sottoposto
            a onboarding sotto la membership dell'applicazione.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: mai richiesta, oppure la rete ha rifiutato la prima
            richiesta (vedi last_error); questionnaire_pending: in attesa
            dell'approvazione del questionario di due diligence;
            submitted_to_network: trasmessa all'onboarding della rete; active:
            la rete ha assegnato a questa applicazione il proprio codice
            partecipante; suspended / rejected: Didit l'ha sospesa o rifiutata.
        participant_code:
          type: string
          description: >-
            Il codice assegnato dalla rete a questa applicazione (per GTR, il
            relativo codice VASP). I messaggi in uscita riportano questo codice,
            mai quello di 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 risposta della rete in caso di rifiuto della registrazione; vuota
            altrimenti.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La chiave API della tua applicazione, da Developers -> API keys nella
        Business Console. La chiave primaria ha accesso completo. Una chiave con
        nome può avere un ambito definito: nessuno, lettura o scrittura per
        risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco
        di indirizzi IP e a una data di scadenza. 401 indica che la chiave è
        errata, revocata o scaduta; 403 indica che non è stata inviata alcuna
        chiave, che la chiave non ha accesso a questa risorsa o azione, oppure
        che la richiesta proviene da un indirizzo non incluso nel suo elenco IP;
        404 su una route di sessione indica che la sessione non rientra nei
        workflow o negli stati previsti dalla chiave. Una chiave senza accesso
        ai media riceve gli URL di immagini, video e PDF come null, e una chiave
        senza permessi di scrittura sulle sessioni riceve link e token di
        sessione come null. Consulta https://docs.didit.me/console/api-keys.

````

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