> ## 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 entrada de directori VASP: API Travel Rule

> Llegeix un VASP del directori de Travel Rule o de la xarxa de Didit pel seu id, amb les rutes que la teva aplicació té cap a ell.

Prompt de l'API per obtenir una entrada del directori de VASP
Copia el prompt al porta-retalls

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

Enganxa a


## OpenAPI

````yaml ca/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 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/vasps/{vasp_id}/:
    get:
      tags:
        - Travel Rule
      summary: Obtenir una entrada del directori de VASP
      description: >-
        Una entrada del directori o membre de la xarxa de Didit segons
        l'identificador que ha retornat la cerca, amb els mateixos camps i les
        rutes que la teva aplicació hi té.
      operationId: getTravelRuleVasp
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: L'id d'una fila de GET /v3/travel-rule/vasps/.
      responses:
        '200':
          description: L'entrada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VaspDirectoryEntry'
        '404':
          description: Cap entrada ni membre llistat de la xarxa Didit té aquest 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 del directori o un membre de la xarxa Didit, amb les rutes que
        la teva aplicació hi té. Un client només és membre de la xarxa Didit
        mentre la seva aplicació està en producció, té la Travel Rule activada,
        el seu perfil es pot trobar, té un nom legal i un correu electrònic de
        compliment confirmat, i Didit no ha marcat l'aplicació com de prova,
        demo o interna. Cada fila també inclou l'avaluació de diligència deguda
        compartida (dd_score, risk_level, responsiveness, essential_checks) i la
        decisió, el cribratge d'entitats i els qüestionaris propis de la teva
        aplicació, que cap altre client pot veure.
      properties:
        id:
          type: string
          format: uuid
          description: >-
            L'identificador de l'entrada, per a GET
            /v3/travel-rule/vasps/{vasp_id}/.
        kind:
          type: string
          enum:
            - directory
            - didit
          description: >-
            directory per a una entrada del directori compartit; didit per a un
            membre de la xarxa Didit.
        name:
          type: string
        lei:
          type: string
        jurisdiction:
          type: string
          description: Codi de país ISO 3166, tal com el proporciona la font.
        domains:
          type: array
          items:
            type: string
          description: >-
            Els dominis web del VASP. Sempre buits per als membres de la xarxa
            de Didit.
        reachable:
          type: boolean
          description: >-
            Indica si la teva aplicació té una ruta disponible cap a aquest
            VASP, o cap a una de les seves entitats per a una marca. Sempre true
            per a un membre de la xarxa de Didit, excepte en una aplicació de
            sandbox, on cada fila és 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 (del registre global de LEI),
                  network_name (el nom en una xarxa de Travel Rule), attribution
                  (el nom de l'entitat que l'anàlisi de blockchain assigna a les
                  carteres del VASP), merged (el nom d'una entrada duplicada
                  fusionada en aquesta) o staff.
          description: Altres noms amb els quals es pot trobar el VASP.
        networks:
          type: array
          items:
            type: object
            description: >-
              Un registre actual d'aquest VASP al directori de membres d'una
              xarxa de Travel Rule. Un registre de TRISA indica qui és el VASP a
              TRISA; Didit no té cap rail de TRISA, de manera que mai és una
              ruta.
            properties:
              network:
                type: string
                enum:
                  - GTR
                  - TRUST
                  - VERIFYVASP
                  - SYGNA
                  - TRISA
              code:
                type: string
                description: L'identificador del VASP en aquesta xarxa.
              listed_name:
                type: string
                description: El nom sota el qual la xarxa llista el VASP.
              country:
                type: string
                description: El país que indica la xarxa, quan en proporciona un.
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quan el personal de Didit ha verificat el registre. Nul per
                  als registres llegits d'un directori públic.
              last_seen_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quan la font va mostrar el registre per darrera vegada. Un
                  registre que la font no hagi mostrat durant tres setmanes
                  s'elimina.
              source:
                type: string
                enum:
                  - trisa_directory
                  - staff
                description: >-
                  D'on prové l'entrada: el directori públic de TRISA o el
                  personal de Didit.
        routes:
          type: array
          items:
            type: object
            description: >-
              Una via per la qual la teva aplicació pot lliurar dades de Travel
              Rule a aquest VASP, en l'ordre en què l'enviament les prova. Una
              ruta de xarxa necessita ser membre d'aquesta xarxa: la teva pròpia
              (connectada al Marketplace) o la de Didit un cop Didit en tingui
              una. Sense ella, la ruta apareix com a no disponible amb el motiu,
              mai com una via per arribar al 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: >-
                  Per què no es pot utilitzar una ruta no disponible:
                  no_membership (ni tu ni Didit sou membres d'aquesta xarxa),
                  network_switched_off (has desactivat aquesta xarxa a la teva
                  configuració) o sandbox_application (una aplicació de sandbox
                  només envia al VASP de prova de Didit, per la qual cosa no té
                  cap ruta disponible). Buit quan la ruta està disponible.
              via:
                type: string
                enum:
                  - ''
                  - own_membership
                  - didit_membership
                  - directory
                  - contact
                  - didit_network
                description: >-
                  Com s'arriba a una ruta disponible: own_membership o
                  didit_membership per a una via de xarxa, directory per a un
                  endpoint TRP que el directori ha verificat, contact per a la
                  via EMAIL, didit_network per a un membre de la xarxa de Didit.
                  Buit quan la ruta no està disponible.
        umbrella:
          type: object
          nullable: true
          description: >-
            La marca de la qual aquesta entrada és una entitat regulada. Null
            quan no forma part de cap.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
        entities:
          type: array
          items:
            type: object
            description: >-
              Una entitat regulada d'una marca: l'entitat jurídica que rep una
              transferència.
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              lei:
                type: string
              jurisdiction:
                type: string
              reachable:
                type: boolean
                description: >-
                  Indica si la teva aplicació té una ruta disponible cap a
                  aquesta aplicació.
          description: >-
            Per a una marca, les entitats regulades que reben les seves
            transferències. Una transferència que anomena la marca va a
            l'entitat accessible a la jurisdicció que indica
            (beneficiary_data.counterparty_vasp_jurisdiction); si no, a
            l'entitat que l'atribució analítica de blockchain ha vinculat a la
            cartera de destinació; si no, a l'única entitat accessible quan no
            s'indica cap jurisdicció. Si dues entitats són igualment adequades,
            mai no se'n tria una per conjectura.
        contacts:
          type: array
          items:
            type: object
            description: Un contacte de compliment on el rail EMAIL pot escriure.
            properties:
              id:
                type: string
                format: uuid
              email:
                type: string
                format: email
              name:
                type: string
              source:
                type: string
                enum:
                  - staff
                  - application
                  - learned
                description: >-
                  staff: seleccionat per Didit; application: afegit per la teva
                  aplicació; learned: una adreça que ha respost a una
                  sol·licitud de Travel Rule a través del seu enllaç de
                  resposta.
              scope:
                type: string
                enum:
                  - platform
                  - application
                description: >-
                  els contactes de plataforma s'utilitzen per a les
                  transferències de tots els clients de Didit; els contactes
                  d'aplicació són privats per a la teva aplicació, que només veu
                  els seus propis.
              verified_at:
                type: string
                format: date-time
                nullable: true
                description: >-
                  Quan algú en aquesta adreça va respondre a una sol·licitud.
                  Null quan encara no ho ha fet.
          description: >-
            Els contactes de la plataforma per a aquest VASP i els propis de la
            teva aplicació.
        dd_status:
          type: string
          enum:
            - NOT_STARTED
            - IN_PROGRESS
            - COMPLETED
            - REJECTED
          description: >-
            Estat de verificació de Didit de l'entrada, puntuat pel component de
            verificació de dd_score. Sempre COMPLETED per a un membre de la
            xarxa de Didit.
        dd_score:
          type: integer
          nullable: true
          minimum: 0
          maximum: 100
          description: >-
            La puntuació compartida de diligència deguda d'una entrada del
            directori, de 0 a 100, on un valor més alt és més segur (consulta
            dd_score_semantic): la suma dels punts a dd_score_breakdown. Null
            per a un membre de la xarxa Didit, que no es puntua. Una entrada que
            encara no s'ha avaluat (dd_assessed_at null) mostra 0 amb un
            risk_level buit, així que consulta risk_level en lloc de la
            puntuació en brut.
        reachable_rails:
          type: array
          items:
            type: string
            enum:
              - INTERNAL
              - TRP
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
              - EMAIL
          description: >-
            Canals registrats a l'entrada. Consulta les rutes per veure què pot
            utilitzar la teva aplicació avui.
        is_didit_customer:
          type: boolean
          description: >-
            true per a un membre de la xarxa Didit (dd_status sempre és
            COMPLETED, dd_score null i risk_level buit en aquests casos) i per a
            una entrada del directori vinculada a un client de Didit.
        dd_score_breakdown:
          type: object
          description: >-
            Un objecte per component de dd_score. Components, el seu pes (màx.)
            i els seus codis de motiu: 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). Buit per a un
            membre de la xarxa de Didit.
          additionalProperties:
            type: object
            properties:
              points:
                type: number
                description: Punts que aporta el component, arrodonits a una xifra decimal.
              max:
                type: integer
                description: 'El pes del component: els punts que aporta com a màxim.'
              reason:
                type: string
                description: Codi llegible per màquina del veredicte del component.
              detail:
                type: string
                description: Explicació d'una línia en anglès.
        dd_assessed_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Quan es van calcular per darrera vegada dd_score, risk_level i
            responsiveness: després que un intercanvi amb l'entrada es completi,
            finalitzi, caduqui, no coincideixi o es rebutgi, quan Didit
            actualitza o gestiona l'entrada, i en l'actualització setmanal del
            directori. Null per a un membre de la xarxa Didit.
        dd_score_semantic:
          type: string
          enum:
            - higher_is_safer
          description: 'En quin sentit apunta dd_score: sempre higher_is_safer.'
        risk_level:
          type: string
          enum:
            - LOW
            - MEDIUM
            - HIGH
            - ''
          description: >-
            La franja en què cau dd_score: LOW (70 o més), MEDIUM (de 40 a 69) o
            HIGH (per sota de 40). Buit per a un membre de la xarxa de Didit i
            per a una entrada encara no avaluada. Filtra per aquest valor amb
            risk. El cribratge que has marcat mai no canvia aquest valor
            compartit: en comptes d'això, fa que counterparty_risk_level sigui
            HIGH a les teves regles.
        responsiveness:
          type: object
          description: >-
            Indica si el VASP respon a les sol·licituds de Travel Rule: la
            proporció de sol·licituds iniciades pels clients de Didit cap a ell
            en els darrers 90 dies a les quals ha respost. Només compten les
            sol·licituds enviades a través d'una xarxa o via de protocol, o per
            correu electrònic a una adreça compartida (l'adreça de compliment de
            l'entrada o un contacte de la plataforma); una sol·licitud enviada a
            una adreça que hagi escrit un client, o al contacte privat d'un
            client, no compta mai. Una sol·licitud caducada es considera no
            contestada; un intercanvi completat, un rebuig o una discrepància de
            dades és una resposta; una sol·licitud cancel·lada o una via
            inaccessible no és cap de les dues coses. Sempre és UNKNOWN amb
            recomptes a zero per a un membre de la xarxa de Didit.
          properties:
            status:
              type: string
              enum:
                - RESPONSIVE
                - UNRESPONSIVE
                - UNKNOWN
              description: >-
                UNKNOWN amb menys de 5 sol·licituds decidides a la finestra
                temporal; UNRESPONSIVE quan se n'han respost menys del 10 per
                cent; altrament, RESPONSIVE.
            answered:
              type: integer
              description: Sol·licituds decidides a la finestra que el VASP ha respost.
            total:
              type: integer
              description: >-
                Sol·licituds decidides a la finestra: respostes més les
                caducades.
            computed_at:
              type: string
              format: date-time
              nullable: true
        essential_checks:
          type: object
          description: >-
            L'informe de comprovacions essencials d'una entrada de directori,
            elaborat exclusivament a partir de les fonts verificades de la
            plataforma: registre (un registre oficial llista el VASP: el
            registre provisional de MiCA de la UE, el directori públic de TRISA
            o el registre global de LEI), llicència (hi ha una autorització MiCA
            registrada i vigent), domini (el domini de l'entrada coincideix amb
            el seu endpoint de TRP o amb el lloc web que indica el seu registre)
            i lei (el seu registre LEI està actiu, emès i és coherent amb els
            noms i el país de l'entrada). El component essentials de dd_score és
            la proporció de comprovacions resoltes que resulten favorables. Està
            buit fins que l'actualització setmanal del directori comprova
            l'entrada per primera vegada, i sempre està buit per a un membre de
            la xarxa de 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 quan cap font registrada pot determinar la
                      comprovació.
                  reason:
                    type: string
                    description: Codi llegible per màquina del veredicte.
                  detail:
                    type: string
                    description: Explicació d'una línia en anglès.
            passed:
              type: integer
            failed:
              type: integer
            unknown:
              type: integer
            total:
              type: integer
        decision:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyDecision'
          nullable: true
          description: >-
            La decisió de la teva aplicació sobre aquest VASP, o per a una
            entitat sense decisió pròpia, la de la seva marca (inherited_from
            indica la marca). Null quan no n'hi ha cap. Privada per a la teva
            aplicació.
        entity_screening:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
          nullable: true
          description: >-
            L'últim cribratge de sancions i mitjans adversos de la teva
            aplicació sobre aquest VASP. Null si mai no n'has fet el cribratge.
            Privat per a la teva aplicació.
        questionnaires:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleCounterpartyQuestionnaire'
          description: >-
            Els qüestionaris de diligència deguda de la teva aplicació amb
            aquest VASP, els més recents primer. Privats per a la teva
            aplicació.
      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 decisió de la teva aplicació sobre un VASP de contrapart. Privada per
        a la teva aplicació: mai canvia l'entrada compartida del directori i cap
        altre client no la veu. Només actua mitjançant les teves regles de
        transacció (el camp de regla counterparty_dd_status i els valors
        predefinits travel-rule-counterparty-blocked i
        travel-rule-counterparty-restricted); mai canvia com s'enruta una
        transferència.
      properties:
        decision:
          type: string
          enum:
            - APPROVED
            - RESTRICTED
            - BLOCKED
          description: >-
            APPROVED: el teu equip ha autoritzat la contrapart. RESTRICTED: les
            transferències cap a ella poden tirar endavant després de la
            revisió. BLOCKED: el teu equip l'ha rebutjat.
        reason:
          type: string
          maxLength: 255
          description: Motiu de text lliure que has indicat; buit si no n'hi ha cap.
        decided_by:
          type: string
          description: >-
            L'usuari de la consola que ha pres o ha modificat per darrera vegada
            la decisió. Buit quan l'ha pres una clau d'API.
        updated_at:
          type: string
          format: date-time
        inherited_from:
          type: object
          nullable: true
          description: >-
            La marca la decisió de la qual segueix aquesta entitat perquè no
            n'has pres cap sobre la pròpia entitat. Null quan la decisió és
            pròpia de la contrapart.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        Un cribratge de sancions i mitjans adversos de l'entitat contrapart,
        executat per a la teva aplicació i facturat a aquesta. Privat per a la
        teva aplicació: un altre client mai no el veu.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            Aprovada: cap coincidència possible requereix atenció. En revisió o
            Rebutjada: possible coincidència amb sancions o mitjans adversos.
        total_hits:
          type: integer
          description: Quantes possibles coincidències ha retornat el cribratge.
        score:
          type: number
          nullable: true
          description: >-
            La puntuació de risc més alta d'entre les possibles coincidències.
            Null quan no hi ha hagut cap coincidència.
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: >-
            Si el cribratge és més recent que fresh_days (30 dies). Un cribratge
            recent es reutilitza en lloc de facturar-se de nou.
        flagged:
          type: boolean
          description: >-
            true mentre el cribratge sigui recent i el seu estat sigui In Review
            o Declined. Mentre el teu últim cribratge estigui marcat i el
            cribratge de contraparts es mantingui actiu, counterparty_risk_level
            serà HIGH a les teves regles.
    TravelRuleCounterpartyQuestionnaire:
      type: object
      description: >-
        Un qüestionari de diligència deguda que la teva aplicació ha enviat a la
        contrapart: el qüestionari estàndard de Didit, enviat per correu
        electrònic a una adreça de compliment registrada amb un enllaç de
        resposta d'un sol ús. Privat per a la teva aplicació.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - SENT
            - ANSWERED
            - EXPIRED
          description: >-
            SENT: esperant respostes. ANSWERED: la contrapart ha respost a totes
            les preguntes. EXPIRED: l'enllaç de resposta s'ha tancat sense
            respondre (ha vençut el termini o l'ha substituït un qüestionari més
            recent), o les respostes han superat valid_until.
        form_version:
          type: string
          description: >-
            Versió del qüestionari estàndard de Didit al qual pertanyen les
            respostes. Actualment 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 data límit per respondre, 30 dies després de l'enviament.
            L'enllaç deixa de funcionar a partir d'aquesta data.
        answered_at:
          type: string
          format: date-time
          nullable: true
        valid_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            Quant de temps es mantenen vigents les respostes: 365 dies després
            de respondre. Null fins que es respon.
        current:
          type: boolean
          description: >-
            true mentre el qüestionari estigui en estat ANSWERED i no hagi
            superat valid_until.
        answers:
          type: object
          additionalProperties:
            type: string
          description: >-
            Les respostes indexades per id de pregunta: legal_name, licensing,
            jurisdictions, aml_program, compliance_officer, sanctions_screening,
            transaction_monitoring, travel_rule, custody, ownership,
            record_keeping, data_protection. Cada resposta té fins a 2.000
            caràcters. Buit fins que es respongui.
  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.