> ## 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 sélection du VASP contrepartie (Travel Rule)

> Endpoint public à token où l'utilisateur final choisit le VASP de destination, puis Didit achemine le transfert Travel Rule vers lui.



Prompt de l'API de sélection de VASP du widget
        Copier le prompt dans le presse-papiers



      
      

\<pre>

\`Record the destination VASP an end user picked in the wallet widget, for an outbound Travel Rule transfer whose counterparty discovery could not name.

Endpoint:
POST https://verification.didit.me/v3/travel-rule/widget/{token}/vasps/

Authentication:
None - the widget token in the URL path is the credential. Treat the token as a secret.

Body:
\{"vasp": "id from GET /v3/travel-rule/widget/{token}/vasps/"}

What happens:
\- The transfer is routed to that VASP and sent again. Automatic discovery never overrides the pick.
\- Allowed only for an outbound transfer in COUNTERPARTY_VASP_NOT_FOUND, COUNTERPARTY_VASP_NOT_REACHABLE, or NOT_ENOUGH_COUNTERPARTY_DATA.

What to read from the response:
\- transfer_status - the transfer status after the pick.
\- counterparty_vasp - the name of the VASP that was picked.

Failure modes:
\- 400 - vasp is missing, or no live directory entry has that id.
\- 404 - unknown token.
\- 409 - the widget session is not linked to a transfer, or the transfer is not in a status that accepts a counterparty.
\- 410 - the session expired.

Full guide: /transaction-monitoring/travel-rule#counterparty-discovery.`

\</pre>



      
      

Coller dans



## OpenAPI

````yaml fr/openapi-25.json POST /v3/travel-rule/widget/{token}/vasps/
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/widget/{token}/vasps/:
    post:
      tags:
        - Travel Rule
      summary: Sélectionner le VASP de la contrepartie dans le widget de portefeuille
      description: >-
        Endpoint public d'écriture indexé par le token de session du widget,
        aucune clé API requise : l'utilisateur final a choisi le VASP de
        destination que la détection automatique n'a pas pu identifier. Seul un
        transfert sortant avec le statut COUNTERPARTY_VASP_NOT_FOUND,
        COUNTERPARTY_VASP_NOT_REACHABLE ou NOT_ENOUGH_COUNTERPARTY_DATA est
        accepté. Le transfert est acheminé vers ce VASP et envoyé à nouveau ; la
        détection automatique ne remplace jamais ce choix.
      operationId: selectTravelRuleWidgetVasp
      parameters:
        - name: token
          in: path
          required: true
          description: >-
            Token de session opaque renvoyé lors de la création de la session du
            widget.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vasp
              properties:
                vasp:
                  type: string
                  format: uuid
                  description: >-
                    L'`id` d'un VASP provenant de `GET
                    /v3/travel-rule/widget/{token}/vasps/`.
            example:
              vasp: 9f1c2b34-5d6e-4f70-8a91-b2c3d4e5f607
      responses:
        '200':
          description: Le choix a été enregistré et le transfert est renvoyé.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  transfer_status:
                    type: string
                    description: Le statut du transfert après la sélection.
                  counterparty_vasp:
                    type: string
                    description: Le nom du VASP choisi par l'utilisateur final.
              example:
                detail: Counterparty VASP selected; the transfer is being resent.
                transfer_status: AWAITING_COUNTERPARTY
                counterparty_vasp: Northwind Exchange
        '400':
          description: >-
            `vasp` est manquant, ou aucune entrée de répertoire active ne
            possède cet identifiant.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              example:
                vasp:
                  - No directory entry has this id.
        '404':
          description: Token inconnu.
        '409':
          description: >-
            La session du widget n'est pas liée à un transfert Travel Rule, ou
            le transfert n'est pas un transfert sortant dans un statut qui
            accepte une contrepartie.
        '410':
          description: La session a expiré.
      security:
        - {}
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/widget/{token}/vasps/ \
              -H 'Content-Type: application/json' \
              -d '{"vasp": "9f1c2b34-5d6e-4f70-8a91-b2c3d4e5f607"}'

````

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