> ## 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 seleção de VASP no widget: contraparte Travel Rule

> Endpoint público da Didit, via token, onde o usuário final escolhe o VASP de destino não identificado para rotear a transferência Travel Rule.



Prompt da API de seleção de VASP do widget
        Copiar o prompt para a área de transferência



      
      

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



      
      

Colar em



## OpenAPI

````yaml pt-br/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 verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/widget/{token}/vasps/:
    post:
      tags:
        - Travel Rule
      summary: Selecione o VASP da contraparte no widget da carteira
      description: >-
        Endpoint público de escrita identificado pelo token de sessão do widget,
        sem necessidade de chave de API: o usuário final escolheu o VASP de
        destino que a descoberta automática não conseguiu identificar. Somente
        uma transferência de saída em COUNTERPARTY_VASP_NOT_FOUND,
        COUNTERPARTY_VASP_NOT_REACHABLE ou NOT_ENOUGH_COUNTERPARTY_DATA aceita
        essa escolha. A transferência é encaminhada para esse VASP e enviada
        novamente; a descoberta automática nunca substitui a escolha.
      operationId: selectTravelRuleWidgetVasp
      parameters:
        - name: token
          in: path
          required: true
          description: >-
            Token de sessão opaco retornado quando a sessão do widget foi
            criada.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vasp
              properties:
                vasp:
                  type: string
                  format: uuid
                  description: >-
                    O `id` de um VASP retornado por `GET
                    /v3/travel-rule/widget/{token}/vasps/`.
            example:
              vasp: 9f1c2b34-5d6e-4f70-8a91-b2c3d4e5f607
      responses:
        '200':
          description: >-
            A escolha foi registrada e a transferência está sendo enviada
            novamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  transfer_status:
                    type: string
                    description: O status da transferência após a escolha.
                  counterparty_vasp:
                    type: string
                    description: O nome do VASP que o usuário final escolheu.
              example:
                detail: Counterparty VASP selected; the transfer is being resent.
                transfer_status: AWAITING_COUNTERPARTY
                counterparty_vasp: Northwind Exchange
        '400':
          description: >-
            `vasp` está ausente, ou nenhuma entrada ativa do diretório tem esse
            id.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              example:
                vasp:
                  - No directory entry has this id.
        '404':
          description: Token desconhecido.
        '409':
          description: >-
            A sessão do widget não está vinculada a uma transferência da Travel
            Rule, ou a transferência não é de saída em um status que aceite uma
            contraparte.
        '410':
          description: A sessão expirou.
      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.