> ## 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 voce directory VASP: rotte Travel Rule

> Leggi un VASP della directory Travel Rule o della rete Didit tramite id, con le rotte che la tua applicazione ha verso di esso.

Prompt API per ottenere una voce della directory VASP
Copia il prompt negli appunti

<pre>
  \`Read one VASP of the Travel Rule directory by the id GET /v3/travel-rule/vasps/ returned.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/vasps/\{vasp\_id}/](https://verification.didit.me/v3/travel-rule/vasps/\{vasp_id}/)

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

  The response is the same object as one row of the search: kind, name, lei, jurisdiction, domains, reachable, aliases, networks, routes, umbrella, entities, contacts and the due-diligence fields. Read routes\[] for what my application can use today: an unavailable network route carries its reason (no\_membership or network\_switched\_off). On a sandbox application every route is unavailable with reason sandbox\_application, because sandbox sends only to the Didit Test VASP.

  Due diligence on the same id:

  * dd\_score (0-100, higher is safer), risk\_level, dd\_score\_breakdown, responsiveness and essential\_checks - the shared assessment. Didit network members are not scored.
  * decision, entity\_screening, questionnaires - my application's own records, private to it. Manage them with GET/PUT/DELETE /v3/travel-rule/vasps/{vasp_id}/decision/, GET/POST /v3/travel-rule/vasps/{vasp_id}/screening/ and GET/POST /v3/travel-rule/vasps/{vasp_id}/questionnaires/.
  * My Travel Rule transfers with this VASP: GET /v3/travel-rule/transfers/?counterparty={vasp_id}.

  Failure modes:

  * 404 - no directory entry or listed Didit network member has this id.

  Full guide: /transaction-monitoring/travel-rule#directory.\`
</pre>

Incolla in


## OpenAPI

````yaml it/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/
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/vasps/{vasp_id}/:
    get:
      tags:
        - Travel Rule
      summary: Recupera una voce della directory VASP
      description: >-
        Una voce della directory o un membro della rete Didit in base all'id
        restituito dalla ricerca, con gli stessi campi e le rotte che la tua
        applicazione ha verso di esso.
      operationId: getTravelRuleVasp
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: L'id di una riga di GET /v3/travel-rule/vasps/.
      responses:
        '200':
          description: La voce.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaspDirectoryEntry'
        '404':
          description: Nessuna voce o membro elencato della rete Didit ha questo id.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No directory entry has this id.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/ \
              -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.retrieve_vasp(
                "11111111-2222-3333-4444-555555555555",
            )
            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.retrieveVasp("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.TravelRule.RetrieveVASP(ctx, \"11111111-2222-3333-4444-555555555555\")\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().retrieveVasp("11111111-2222-3333-4444-555555555555");

            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->retrieveVasp('11111111-2222-3333-4444-555555555555');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.travel_rule.retrieve_vasp("11111111-2222-3333-4444-555555555555")

            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.RetrieveVaspAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    VaspDirectoryEntry:
      type: object
      description: >-
        Un VASP della directory o un membro della rete Didit, con i percorsi a
        disposizione della tua applicazione per raggiungerlo. Un cliente è
        membro della rete Didit solo finché la sua applicazione è in produzione,
        la sua Travel Rule è attiva, il suo profilo è individuabile, possiede
        una ragione sociale e un'email di compliance confermata, e Didit non ha
        contrassegnato l'applicazione come test, demo o interna. Ogni riga
        include inoltre la valutazione condivisa di due diligence (dd_score,
        risk_level, responsiveness, essential_checks) e la decisione, lo
        screening dell'entità e i questionari specifici della tua applicazione,
        che nessun altro cliente può visualizzare.
      properties:
        id:
          type: string
          format: uuid
          description: L'ID della voce, per GET /v3/travel-rule/vasps/{vasp_id}/.
        kind:
          type: string
          enum:
            - directory
            - didit
          description: >-
            directory per una voce della directory condivisa; didit per un
            membro della rete Didit.
        name:
          type: string
        lei:
          type: string
        jurisdiction:
          type: string
          description: Codice paese ISO 3166, così come fornito dalla fonte.
        domains:
          type: array
          items:
            type: string
          description: I domini web del VASP. Sempre vuoto per i membri della rete Didit.
        reachable:
          type: boolean
          description: >-
            Indica se la tua applicazione dispone di una route disponibile verso
            questo VASP o verso una delle sue entità per un brand. Sempre true
            per un membro della rete Didit, tranne su un'applicazione sandbox,
            dove ogni riga è false.
        aliases:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              kind:
                type: string
                enum:
                  - trading_name
                  - other_legal_name
                  - network_name
                  - attribution
                  - merged
                  - staff
                description: >-
                  trading_name, other_legal_name (dal registro LEI globale),
                  network_name (il nome su una rete Travel Rule), attribution
                  (il nome dell'entità attribuito ai wallet del VASP dalle
                  analisi blockchain), merged (il nome di una voce duplicata
                  unita a questa) o staff.
          description: Altri nomi con cui viene individuato il VASP.
        networks:
          type: array
          items:
            type: object
            description: >-
              Un elenco corrente di questo VASP nella directory dei membri di
              una rete Travel Rule. Un elenco TRISA indica chi sia il VASP su
              TRISA; Didit non dispone di una via TRISA, quindi non costituisce
              mai un percorso.
            properties:
              network:
                type: string
                enum:
                  - GTR
                  - TRUST
                  - VERIFYVASP
                  - SYGNA
                  - TRISA
              code:
                type: string
                description: L'identificatore del VASP su tale rete.
              listed_name:
                type: string
                description: Il nome con cui la rete elenca il VASP.
              country:
                type: string
                description: Il paese indicato dalla rete, se disponibile.
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quando il personale di Didit ha verificato la voce. Null per
                  le voci lette da un elenco pubblico.
              last_seen_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quando la fonte ha mostrato la voce per l'ultima volta. Una
                  voce che la fonte non mostra per tre settimane viene rimossa.
              source:
                type: string
                enum:
                  - trisa_directory
                  - staff
                description: >-
                  L'origine dell'elenco: la directory pubblica TRISA o il
                  personale di Didit.
        routes:
          type: array
          items:
            type: object
            description: >-
              Una modalità con cui la tua applicazione può recapitare i dati
              della Travel Rule a questo VASP, nell'ordine in cui vengono
              provati dal dispatch. Un percorso di rete richiede un'adesione a
              tale rete: la tua (connessa nel Marketplace) o quella di Didit una
              volta che Didit ne dispone. Senza di essa, il percorso è indicato
              come non disponibile con la relativa motivazione, mai come
              modalità per raggiungere il VASP.
            properties:
              rail:
                type: string
                enum:
                  - INTERNAL
                  - TRP
                  - GTR
                  - TRUST
                  - VERIFYVASP
                  - SYGNA
                  - EMAIL
              status:
                type: string
                enum:
                  - available
                  - unavailable
              reason:
                type: string
                enum:
                  - ''
                  - no_membership
                  - network_switched_off
                  - sandbox_application
                description: >-
                  Il motivo per cui una rotta non disponibile non può essere
                  utilizzata: no_membership (né tu né Didit avete un'adesione a
                  quella rete), network_switched_off (hai disattivato quella
                  rete nelle tue impostazioni) o sandbox_application
                  (un'applicazione sandbox invia solo al VASP di test di Didit,
                  pertanto non è disponibile alcuna rotta verso di essa). Vuoto
                  quando la rotta è disponibile.
              via:
                type: string
                enum:
                  - ''
                  - own_membership
                  - didit_membership
                  - directory
                  - contact
                  - didit_network
                description: >-
                  Come viene raggiunto un percorso disponibile: own_membership o
                  didit_membership per un canale di rete, directory per un
                  endpoint TRP verificato dalla directory, contact per il canale
                  EMAIL, didit_network per un membro della rete Didit. Vuoto
                  quando il percorso non è disponibile.
        umbrella:
          type: object
          nullable: true
          description: >-
            Il brand di cui questa voce è un'entità regolamentata. Null quando
            non ne fa parte.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        entities:
          type: array
          items:
            type: object
            description: >-
              Un'entità regolamentata di un brand: la persona giuridica che
              riceve un trasferimento.
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              lei:
                type: string
              jurisdiction:
                type: string
              reachable:
                type: boolean
                description: >-
                  Indica se la tua applicazione dispone di una route disponibile
                  verso di essa.
          description: >-
            Per un brand, le entità regolamentate che ricevono i suoi
            trasferimenti. Un trasferimento che menziona il brand va all'entità
            raggiungibile nella giurisdizione dichiarata
            (beneficiary_data.counterparty_vasp_jurisdiction), altrimenti
            all'entità collegata al wallet di destinazione tramite
            l'attribuzione di analisi blockchain, altrimenti all'unica entità
            raggiungibile quando non è dichiarata alcuna giurisdizione. In caso
            di due entità ugualmente compatibili, non viene mai fatta un'ipotesi
            arbitraria.
        contacts:
          type: array
          items:
            type: object
            description: Un contatto di compliance a cui la via EMAIL può scrivere.
            properties:
              id:
                type: string
                format: uuid
              email:
                type: string
                format: email
              name:
                type: string
              source:
                type: string
                enum:
                  - staff
                  - application
                  - learned
                description: >-
                  staff: curato da Didit; application: aggiunto dalla tua
                  applicazione; learned: un indirizzo che ha risposto a una
                  richiesta Travel Rule tramite il relativo link di risposta.
              scope:
                type: string
                enum:
                  - platform
                  - application
                description: >-
                  I contatti della piattaforma sono utilizzati per i
                  trasferimenti di ogni cliente Didit; i contatti
                  dell'applicazione sono privati per la tua applicazione, che
                  vede solo i propri.
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quando qualcuno a questo indirizzo ha risposto a una
                  richiesta. Null se non è ancora successo.
          description: >-
            I contatti della piattaforma per questo VASP e quelli della tua
            applicazione.
        dd_status:
          type: string
          enum:
            - NOT_STARTED
            - IN_PROGRESS
            - COMPLETED
            - REJECTED
          description: >-
            Stato di verifica della voce secondo Didit, valutato dalla
            componente di verifica di dd_score. Sempre COMPLETED per un membro
            della rete Didit.
        dd_score:
          type: integer
          nullable: true
          minimum: 0
          maximum: 100
          description: >-
            Il punteggio di due diligence condiviso di una voce dell'elenco, da
            0 a 100, dove un valore più alto è più sicuro (vedi
            dd_score_semantic): la somma dei punti in dd_score_breakdown. Null
            per un membro della rete Didit, che non viene valutato. Una voce non
            ancora valutata (dd_assessed_at null) mostra 0 con un risk_level
            vuoto, quindi leggi risk_level anziché il punteggio grezzo.
        reachable_rails:
          type: array
          items:
            type: string
            enum:
              - INTERNAL
              - TRP
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
              - EMAIL
          description: >-
            Circuiti registrati nella voce. Consulta le route per sapere cosa
            può utilizzare oggi la tua applicazione.
        is_didit_customer:
          type: boolean
          description: >-
            true per un membro della rete Didit (per questi dd_status è sempre
            COMPLETED, dd_score è null e risk_level è vuoto) e per una voce
            della directory collegata a un cliente Didit.
        dd_score_breakdown:
          type: object
          description: >-
            Un oggetto per componente di dd_score. Componenti, il loro peso
            (max) e i relativi codici motivo: jurisdiction, 25
            (jurisdiction_not_high_risk, jurisdiction_high_risk,
            jurisdiction_unknown); verification, 15 (dd_status_completed,
            dd_status_in_progress, dd_status_not_started, dd_status_rejected);
            protocol, 15 (native_rail, email_only, no_rail); lei, 10 (lei_valid,
            lei_missing); history, 10 (history, no_history); essentials, 15
            (essential_checks, no_essential_checks); responsiveness, 10
            (responsive, unresponsive, responsiveness_unknown). Vuoto per un
            membro della rete Didit.
          additionalProperties:
            type: object
            properties:
              points:
                type: number
                description: >-
                  Punti con cui il componente contribuisce, arrotondati a un
                  decimale.
              max:
                type: integer
                description: 'Il peso del componente: i punti massimi con cui contribuisce.'
              reason:
                type: string
                description: Codice leggibile dalla macchina dell'esito del componente.
              detail:
                type: string
                description: Spiegazione su una riga in lingua inglese.
        dd_assessed_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Data e ora dell'ultimo calcolo di dd_score, risk_level e
            responsiveness: dopo che uno scambio con la voce viene completato,
            termina, scade, non corrisponde o viene rifiutato, quando Didit
            aggiorna o gestisce la voce e durante l'aggiornamento settimanale
            della directory. Null per un membro della rete Didit.
        dd_score_semantic:
          type: string
          enum:
            - higher_is_safer
          description: 'In quale direzione punta dd_score: sempre higher_is_safer.'
        risk_level:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - ''
          description: >-
            La fascia in cui ricade dd_score: LOW (70 o superiore), MEDIUM (da
            40 a 69) o HIGH (inferiore a 40). Vuoto per un membro della rete
            Didit e per una voce non ancora valutata. Puoi filtrarlo con risk.
            Uno screening contrassegnato da te non modifica mai questo valore
            condiviso: imposta invece counterparty_risk_level su HIGH nelle tue
            regole.
        responsiveness:
          type: object
          description: >-
            Indica se il VASP risponde alle richieste Travel Rule: la quota
            delle richieste avviate dai clienti Didit verso di esso negli ultimi
            90 giorni a cui ha risposto. Contano solo le richieste inviate
            tramite un canale di rete o di protocollo, oppure via email a un
            indirizzo condiviso (l'indirizzo di compliance della voce o un
            contatto della piattaforma); una richiesta inviata a un indirizzo
            digitato da un cliente, o al contatto privato di un cliente, non
            conta mai. Una richiesta scaduta è considerata senza risposta; uno
            scambio completato, un rifiuto o una mancata corrispondenza dei dati
            costituiscono una risposta; una richiesta annullata o un canale
            irraggiungibile non sono né l'uno né l'altro. Sempre UNKNOWN con
            conteggi a zero per un membro della rete Didit.
          properties:
            status:
              type: string
              enum:
                - RESPONSIVE
                - UNRESPONSIVE
                - UNKNOWN
              description: >-
                UNKNOWN con meno di 5 richieste decise nella finestra temporale;
                UNRESPONSIVE quando è stata data risposta a meno del 10 percento
                di esse; RESPONSIVE altrimenti.
            answered:
              type: integer
              description: Richieste decise nella finestra a cui il VASP ha risposto.
            total:
              type: integer
              description: 'Richieste decise nella finestra: con risposta più scadute.'
            computed_at:
              type: string
              format: date-time
              nullable: true
        essential_checks:
          type: object
          description: >-
            Il report dei controlli essenziali di una voce della directory,
            generato esclusivamente dalle fonti verificate della piattaforma:
            registrazione (un registro ufficiale include il VASP: il registro
            provvisorio MiCA dell'UE, la directory pubblica TRISA o il registro
            globale LEI), licenza (un'autorizzazione MiCA è registrata e in
            corso di validità), dominio (il dominio della voce corrisponde al
            relativo endpoint TRP o al sito web indicato nel registro) e lei (il
            record LEI è attivo, emesso e coerente con i nomi e il paese della
            voce). La componente essentials di dd_score rappresenta la
            percentuale dei controlli valutati che sono stati superati. Rimane
            vuoto finché l'aggiornamento settimanale della directory non
            controlla per la prima volta la voce, ed è sempre vuoto per i membri
            della rete Didit.
          properties:
            level:
              type: string
              enum:
                - essential
            checked_at:
              type: string
              format: date-time
            checks:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    enum:
                      - registration
                      - licence
                      - domain
                      - lei
                  status:
                    type: string
                    enum:
                      - pass
                      - fail
                      - unknown
                    description: >-
                      unknown quando nessuna fonte registrata è in grado di
                      determinare il controllo.
                  reason:
                    type: string
                    description: Codice leggibile dalla macchina dell'esito.
                  detail:
                    type: string
                    description: Spiegazione su una riga in lingua inglese.
            passed:
              type: integer
            failed:
              type: integer
            unknown:
              type: integer
            total:
              type: integer
        decision:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyDecision'
          nullable: true
          description: >-
            La decisione della tua applicazione su questo VASP oppure, per
            un'entità senza una propria decisione, quella del rispettivo brand
            (inherited_from indica il brand). Null se assente. Privata per la
            tua applicazione.
        entity_screening:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
          nullable: true
          description: >-
            Lo screening delle sanzioni e notizie negative più recente eseguito
            dalla tua applicazione su questo VASP. Null se non è mai stato
            sottoposto a screening. Privato per la tua applicazione.
        questionnaires:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleCounterpartyQuestionnaire'
          description: >-
            I questionari di due diligence della tua applicazione con questo
            VASP, dal più recente al meno recente. Privati per la tua
            applicazione.
      example:
        id: 0d6f3c2a-6a1e-4c55-9a39-1f2b0c7d8e91
        kind: directory
        name: Example Counterparty VASP
        lei: 529900EXAMPLECPTY001
        jurisdiction: DE
        domains:
          - counterparty.example
        reachable: true
        aliases:
          - name: Example Counterparty
            kind: trading_name
        networks:
          - network: GTR
            code: EXAMPLE01
            listed_name: Example Counterparty VASP
            country: DE
            verified_at: '2026-10-12T09:30:00Z'
            last_seen_at: '2026-10-12T09:30:00Z'
            source: staff
        routes:
          - rail: GTR
            status: unavailable
            reason: no_membership
            via: ''
          - rail: EMAIL
            status: available
            reason: ''
            via: contact
        umbrella: null
        entities: []
        contacts:
          - id: 6c1f9b8e-2d4a-4f7e-8b3c-5a9d0e1f2a3b
            email: travelrule@counterparty.example
            name: Travel Rule desk
            source: staff
            scope: platform
            verified_at: null
        dd_status: NOT_STARTED
        dd_score: 62
        dd_score_breakdown:
          jurisdiction:
            points: 25
            max: 25
            reason: jurisdiction_not_high_risk
            detail: DEU is not on the high-risk jurisdiction list
          verification:
            points: 3.8
            max: 15
            reason: dd_status_not_started
            detail: due diligence status NOT_STARTED
          protocol:
            points: 6
            max: 15
            reason: email_only
            detail: reachable over the email fallback only
          lei:
            points: 10
            max: 10
            reason: lei_valid
            detail: valid LEI on record
          history:
            points: 5
            max: 10
            reason: no_history
            detail: no exchange history
          essentials:
            points: 7.5
            max: 15
            reason: no_essential_checks
            detail: no decided essential check yet
          responsiveness:
            points: 5
            max: 10
            reason: responsiveness_unknown
            detail: 0 decided recent requests, too few to judge
        dd_assessed_at: '2026-10-12T09:30:00Z'
        dd_score_semantic: higher_is_safer
        risk_level: MEDIUM
        responsiveness:
          status: UNKNOWN
          answered: 0
          total: 0
          computed_at: '2026-10-12T09:30:00Z'
        essential_checks: {}
        reachable_rails:
          - GTR
          - EMAIL
        is_didit_customer: false
        decision:
          decision: APPROVED
          reason: Licensed in DE, questionnaire reviewed
          decided_by: ''
          updated_at: '2026-10-14T10:05:00Z'
          inherited_from: null
        entity_screening:
          id: 7a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d
          status: Approved
          total_hits: 0
          score: null
          screened_at: '2026-10-14T09:58:00Z'
          fresh: true
          flagged: false
        questionnaires:
          - id: 8b7a6c5d-4e3f-4a2b-9c1d-0e9f8a7b6c5d
            status: ANSWERED
            form_version: '1'
            sent_to: travelrule@counterparty.example
            sent_at: '2026-09-02T08:00:00Z'
            expires_at: '2026-10-02T08:00:00Z'
            answered_at: '2026-09-04T15:20:00Z'
            valid_until: '2027-09-04T15:20:00Z'
            current: true
            answers:
              legal_name: >-
                Example Counterparty VASP, incorporated in the example
                jurisdiction.
              licensing: >-
                Crypto-asset service provider authorised under MiCA by its
                national regulator, licence active.
              jurisdictions: EU and EEA. We do not serve the United States.
              aml_program: >-
                Written AML/CFT policy, annual independent review, last
                completed in March 2026.
              compliance_officer: >-
                Head of Compliance, reachable at
                compliance@counterparty.example.
              sanctions_screening: >-
                Customers at onboarding and daily; counterparties on every
                transfer.
              transaction_monitoring: >-
                Rule-based monitoring with analyst review; suspicious activity
                reports filed with the FIU.
              travel_rule: TRP and email; we answer requests within one business day.
              custody: >-
                Segregated customer wallets held with a qualified custodian,
                insured.
              ownership: >-
                No shareholder holds 25 percent or more; parent company Example
                Holding Group.
              record_keeping: >-
                Five-year record-keeping for Travel Rule and transaction data,
                as our regulator requires.
              data_protection: Encrypted at rest and in transit, stored in the EU.
    TravelRuleCounterpartyDecision:
      type: object
      description: >-
        La decisione della tua applicazione su un VASP di controparte. Privata
        per la tua applicazione: non modifica mai la voce condivisa della
        directory e gli altri clienti non la vedono mai. Agisce solo tramite le
        tue regole di transazione (il campo regola counterparty_dd_status e i
        preset travel-rule-counterparty-blocked e
        travel-rule-counterparty-restricted); non modifica mai la modalità di
        instradamento di un trasferimento.
      properties:
        decision:
          type: string
          enum:
            - APPROVED
            - RESTRICTED
            - BLOCKED
          description: >-
            APPROVED: il tuo team ha approvato la controparte. RESTRICTED: i
            trasferimenti verso di essa possono procedere previa revisione.
            BLOCKED: il tuo team l'ha rifiutata.
        reason:
          type: string
          maxLength: 255
          description: >-
            Motivo in formato testo libero fornito da te, vuoto se non
            specificato.
        decided_by:
          type: string
          description: >-
            L'utente della console che ha preso o modificato per ultimo la
            decisione. Vuoto se è stata presa tramite chiave API.
        updated_at:
          type: string
          format: date-time
        inherited_from:
          type: object
          nullable: true
          description: >-
            Il brand di cui questa entità segue la decisione perché non ne è
            stata presa alcuna sull'entità stessa. Null quando la decisione
            appartiene alla controparte stessa.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        Uno screening per sanzioni e notizie negative dell'entità della
        controparte, eseguito e fatturato per la tua applicazione. Riservato
        alla tua applicazione: nessun altro cliente potrà mai vederlo.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            Approvata: nessuna possibile corrispondenza richiede attenzione. In
            revisione o Rifiutata: una possibile corrispondenza con liste di
            sanzioni o notizie negative.
        total_hits:
          type: integer
          description: Quante corrispondenze potenziali ha restituito lo screening.
        score:
          type: number
          nullable: true
          description: >-
            Il punteggio di rischio più elevato tra le possibili corrispondenze.
            Null quando non c'è stata alcuna corrispondenza.
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: >-
            Indica se lo screening è più recente di fresh_days (30 giorni). Uno
            screening recente viene riutilizzato anziché fatturato nuovamente.
        flagged:
          type: boolean
          description: >-
            true mentre lo screening è recente e il suo stato è In Review o
            Declined. Quando l'ultimo screening è segnalato e lo screening della
            controparte rimane attivo, counterparty_risk_level è HIGH nelle tue
            regole.
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        Un questionario di due diligence inviato dalla tua applicazione alla
        controparte: il questionario standard di Didit, inviato via email a un
        indirizzo di compliance registrato con un link di risposta monouso.
        Riservato alla tua applicazione.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - SENT
            - ANSWERED
            - EXPIRED
          description: >-
            SENT: in attesa di risposte. ANSWERED: la controparte ha risposto a
            tutte le domande. EXPIRED: il link di risposta è stato chiuso senza
            risposta (il termine è scaduto oppure è stato sostituito da un
            questionario più recente), oppure le risposte hanno superato
            valid_until.
        form_version:
          type: string
          description: >-
            Versione del questionario standard di Didit a cui appartengono le
            risposte. Attualmente 1.
        sent_to:
          type: string
          format: email
        sent_at:
          type: string
          format: date-time
          nullable: true
        expires_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            La scadenza per la risposta, 30 giorni dopo l'invio. Il link smette
            di funzionare dopo tale termine.
        answered_at:
          type: string
          format: date-time
          nullable: true
        valid_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            Periodo di validità delle risposte: 365 giorni dopo la risposta.
            Null fino a quando non viene fornita una risposta.
        current:
          type: boolean
          description: >-
            true mentre il questionario è ANSWERED e valid_until non è
            trascorso.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            Le risposte associate all'ID della domanda: legal_name, licensing,
            jurisdictions, aml_program, compliance_officer, sanctions_screening,
            transaction_monitoring, travel_rule, custody, ownership,
            record_keeping, data_protection. Ciascuna risposta può contenere
            fino a 2.000 caratteri. Vuote finché non viene fornita una risposta.
  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.