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

# Décision sur un VASP contrepartie : API Travel Rule

> Consultez la décision de votre application (approuvée, restreinte ou bloquée) sur un VASP contrepartie Travel Rule, avec Didit.

Obtenir un prompt pour l'API de décision VASP
Copier le prompt dans le presse-papiers

<pre>
  \`Read my application's decision on a Travel Rule counterparty VASP.

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

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

  vasp\_id is the id GET /v3/travel-rule/vasps/ returns for a directory entry or a Didit network member.

  What to read from the response:

  * decision - null when no decision applies; otherwise {decision, reason, decided_by, updated_at, inherited_from}.
  * decision.decision - APPROVED, RESTRICTED or BLOCKED.
  * decision.inherited\_from - {id, name} of the brand whose decision this entity follows, because I made none on the entity itself. Null when the decision is the counterparty's own.
  * decision.decided\_by - the console user who made or last changed it; empty when an API key did.

  The decision is private to my application: no other Didit customer sees it, and it never changes the shared directory entry or how a transfer is routed. It acts only through my transaction rules (rule field counterparty\_dd\_status).

  Failure modes:

  * 404 - no directory entry or listed Didit network member has this id, or the id is my own VASP profile.

  Full guide: /transaction-monitoring/travel-rule#your-decision-on-a-counterparty.\`
</pre>

Coller dans


## OpenAPI

````yaml fr/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/decision/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/vasps/{vasp_id}/decision/:
    get:
      tags:
        - Travel Rule
      summary: Obtenir votre décision sur un VASP
      description: >-
        La décision de votre application sur une contrepartie (une entrée de
        l'annuaire ou un membre du réseau Didit) : approuvé, restreint ou
        bloqué. Une entité d'une marque sans décision propre suit la décision de
        la marque, désignée dans inherited_from. Privée pour votre application.
      operationId: getTravelRuleVaspDecision
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            L'identifiant d'une ligne de GET /v3/travel-rule/vasps/ : une entrée
            de l'annuaire ou un membre du réseau Didit.
      responses:
        '200':
          description: La décision qui s'applique, ou null.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyDecisionResponse'
              examples:
                Own decision:
                  value:
                    decision:
                      decision: APPROVED
                      reason: Licensed in DE, questionnaire reviewed
                      decided_by: ''
                      updated_at: '2026-10-14T10:05:00Z'
                      inherited_from: null
                Inherited from the brand:
                  value:
                    decision:
                      decision: BLOCKED
                      reason: Group refused after review
                      decided_by: ''
                      updated_at: '2026-10-14T10:05:00Z'
                      inherited_from:
                        id: 5e4d3c2b-1a0f-4e9d-8c7b-6a5f4e3d2c1b
                        name: Example Group
                No decision:
                  value:
                    decision: null
        '404':
          description: >-
            Aucune entrée d'annuaire ou aucun membre répertorié du réseau Didit
            ne possède cet identifiant. Votre propre profil VASP n'est jamais
            une contrepartie pour vous.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No directory entry or Didit network member 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}/decision/
            \
              -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_decision(
                "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.retrieveVaspDecision("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.RetrieveVASPDecision(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().retrieveVaspDecision("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->retrieveVaspDecision('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_decision("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.RetrieveVaspDecisionAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleCounterpartyDecisionResponse:
      type: object
      properties:
        decision:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyDecision'
          nullable: true
          description: >-
            La décision qui s'applique à la contrepartie pour votre application
            : la sienne, sinon (pour une entité d'une marque) celle de la
            marque. Null lorsqu'il n'y en a aucune.
    TravelRuleCounterpartyDecision:
      type: object
      description: >-
        La décision de votre application sur un VASP de la contrepartie. Privée
        pour votre application : elle ne modifie jamais l'entrée partagée de
        l'annuaire et aucun autre client ne la voit. Elle agit uniquement à
        travers vos règles de transaction (le champ de règle
        counterparty_dd_status et les préconfigurations
        travel-rule-counterparty-blocked et travel-rule-counterparty-restricted)
        ; elle ne modifie jamais la manière dont un transfert est acheminé.
      properties:
        decision:
          type: string
          enum:
            - APPROVED
            - RESTRICTED
            - BLOCKED
          description: >-
            APPROVED : votre équipe a validé la contrepartie. RESTRICTED : les
            transferts vers celle-ci peuvent être effectués après examen.
            BLOCKED : votre équipe l'a refusée.
        reason:
          type: string
          maxLength: 255
          description: >-
            Motif en texte libre que vous avez indiqué, vide s'il n'y en a
            aucun.
        decided_by:
          type: string
          description: >-
            L'utilisateur de la console qui a pris ou modifié pour la dernière
            fois la décision. Vide lorsqu'une clé API l'a prise.
        updated_at:
          type: string
          format: date-time
        inherited_from:
          type: object
          nullable: true
          description: >-
            La marque dont cette entité suit la décision parce que vous n'en
            avez pris aucune sur l'entité elle-même. Null lorsque la décision
            est propre à la contrepartie.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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