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

# Выбор VASP-контрагента: API виджета Travel Rule

> Didit: публичный endpoint с токеном, где пользователь выбирает VASP-контрагента, которого не нашёл поиск; перевод Travel Rule уходит ему.



Промпт API выбора VASP для виджета
        Скопировать промпт в буфер обмена



      
      

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



      
      

Вставьте в



## OpenAPI

````yaml ru/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 верификации личности. Аутентификация выполняется с помощью заголовка
    x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/widget/{token}/vasps/:
    post:
      tags:
        - Travel Rule
      summary: Выбрать VASP контрагента в виджете кошелька
      description: >-
        Публичный endpoint на запись с доступом по токену сессии виджета,
        API-ключ не требуется: конечный пользователь выбрал VASP назначения,
        который не удалось определить автоматически. Принимается только для
        исходящего перевода в статусах COUNTERPARTY_VASP_NOT_FOUND,
        COUNTERPARTY_VASP_NOT_REACHABLE или NOT_ENOUGH_COUNTERPARTY_DATA.
        Перевод маршрутизируется выбранному VASP и отправляется повторно;
        автоматическое определение никогда не перезаписывает этот выбор.
      operationId: selectTravelRuleWidgetVasp
      parameters:
        - name: token
          in: path
          required: true
          description: Непрозрачный токен сессии, возвращённый при создании сессии виджета.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - vasp
              properties:
                vasp:
                  type: string
                  format: uuid
                  description: '`id` VASP из `GET /v3/travel-rule/widget/{token}/vasps/`.'
            example:
              vasp: 9f1c2b34-5d6e-4f70-8a91-b2c3d4e5f607
      responses:
        '200':
          description: Выбор зафиксирован, и перевод отправляется повторно.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  transfer_status:
                    type: string
                    description: Статус перевода после выбора.
                  counterparty_vasp:
                    type: string
                    description: Название VASP, выбранного конечным пользователем.
              example:
                detail: Counterparty VASP selected; the transfer is being resent.
                transfer_status: AWAITING_COUNTERPARTY
                counterparty_vasp: Northwind Exchange
        '400':
          description: >-
            `vasp` отсутствует, либо ни одна действующая запись в каталоге не
            имеет такого id.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              example:
                vasp:
                  - No directory entry has this id.
        '404':
          description: Неизвестный token.
        '409':
          description: >-
            Сессия виджета не связана с переводом Travel Rule, либо перевод не
            является исходящим в статусе, допускающем контрагента.
        '410':
          description: Срок действия сессии истек.
      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.