> ## 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 de filtrage VASP des contreparties : Travel Rule

> Consultez si le filtrage des contreparties est activé, le coût d'un filtrage et votre dernier filtrage de sanctions d'un VASP avec Didit.

Obtenir une invite pour l'API de filtrage des VASP
Copier le prompt dans le presse-papiers

<pre>
  \`Read my application's sanctions and adverse-media screening of a Travel Rule counterparty VASP, and whether I can run one.

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

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

  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:

  * enabled - my counterparty\_screening\_enabled Travel Rule setting. Off by default: nothing is screened or billed while it is off.
  * price - decimal string in USD: what one screening costs my organization (the Company AML Screening price).
  * fresh\_days - how long a screening stays fresh and is reused instead of billed again (30).
  * screening - null when I never screened this counterparty; otherwise {id, status, total_hits, score, screened_at, fresh, flagged}.
  * screening.status - Approved (no possible match needs attention), In Review or Declined (a possible sanctions or adverse-media match).
  * screening.flagged - true while the screening is fresh and In Review or Declined. While my latest screening is flagged and screening stays on, my rules read counterparty\_risk\_level as HIGH for this counterparty.

  The screening is private to my application: no other Didit customer sees it, and it never changes the shared directory entry.

  Failure modes:

  * 403 - my organization's contract has no rate configured for counterparty screening.
  * 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#counterparty-screening.\`
</pre>

Coller dans


## OpenAPI

````yaml fr/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/screening/
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}/screening/:
    get:
      tags:
        - Travel Rule
      summary: Obtenir le filtrage d'entité d'un VASP
      description: >-
        Indique si le filtrage de contrepartie est activé pour votre
        application, ce qu'un filtrage coûte à votre organisation, la durée de
        validité d'un résultat, ainsi que votre dernier filtrage de sanctions et
        de presse négative de la contrepartie. La lecture est gratuite.
      operationId: getTravelRuleVaspScreening
      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: Votre paramètre de filtrage, son prix et votre dernier filtrage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyScreeningStatus'
              example:
                enabled: true
                price: '0.20'
                fresh_days: 30
                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
        '403':
          description: >-
            Le contrat de votre organisation ne comporte aucun tarif configuré
            pour le filtrage des contreparties.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No contract rate is configured for this usage type.
        '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}/screening/
            \
              -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_screening(
                "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.retrieveVaspScreening("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.RetrieveVASPScreening(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().retrieveVaspScreening("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->retrieveVaspScreening('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_screening("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.RetrieveVaspScreeningAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleCounterpartyScreeningStatus:
      type: object
      properties:
        enabled:
          type: boolean
          description: >-
            Votre paramètre Travel Rule counterparty_screening_enabled.
            Désactivé par défaut ; rien n'est filtré ni facturé tant qu'il est
            désactivé.
        price:
          type: string
          description: >-
            Chaîne décimale, en USD : coût d'un filtrage pour votre
            organisation, le prix du Filtrage AML d'entreprise.
        fresh_days:
          type: integer
          description: >-
            Nombre de jours pendant lesquels un filtrage reste valide et est
            réutilisé.
        screening:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
          nullable: true
          description: >-
            Votre dernier filtrage de la contrepartie. Vaut null si vous ne
            l'avez jamais filtrée.
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        Un filtrage des sanctions et de la presse négative de l'entité
        contrepartie, exécuté pour votre application et facturé à celle-ci.
        Réservé à votre application : un autre client ne le verra jamais.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            Approuvé : aucune correspondance possible ne nécessite d'attention.
            En cours d'examen ou refusé : une correspondance possible avec des
            sanctions ou de la presse négative.
        total_hits:
          type: integer
          description: Nombre de correspondances possibles renvoyées par le filtrage.
        score:
          type: number
          nullable: true
          description: >-
            Le score de risque le plus élevé parmi les correspondances
            possibles. Null si rien ne correspondait.
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: >-
            Indique si le filtrage est plus récent que fresh_days (30 jours). Un
            filtrage récent est réutilisé au lieu d'être à nouveau facturé.
        flagged:
          type: boolean
          description: >-
            true tant que le filtrage est récent et que son statut est In Review
            ou Declined. Tant que votre dernier filtrage est signalé et que le
            filtrage de la contrepartie reste activé, counterparty_risk_level
            est HIGH dans vos règles.
  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.