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

# Обновление настроек Travel Rule через API

> Включите Travel Rule и настройте профиль VASP, политику согласования, методы подтверждения и отключение сетей Didit частичным обновлением.



Промпт API для обновления настроек Travel Rule
        Скопировать промпт в буфер обмена



      
      

\<pre>

\`Enable Travel Rule and configure the application's VASP profile and negotiation policy.

Endpoint:
PUT https://verification.didit.me/v3/travel-rule/settings/

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

Behavior:
\- PUT is a PARTIAL update - send only the fields you want to change.
\- Setting is_enabled: true requires a non-blank legal_name (already stored, or in the same request) - otherwise 400.

Example call:
curl -X PUT "https://verification.didit.me/v3/travel-rule/settings/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{
"is_enabled": true,
"legal_name": "Origin CASP SL",
"jurisdiction": "EU",
"name_matching_strictness": "DEFAULT",
"confirmation_timeout_hours": 48,
"timeout_outcome": "HOLD",
"is_discoverable": true
}'

Writable fields:
\- is_enabled, legal_name, lei, jurisdiction (up to 8 chars, default "EU"), compliance_email, is_discoverable.
\- Changing compliance_email makes it unconfirmed until someone opens the link POST /v3/travel-rule/settings/compliance-email/confirmation/ emails to it; the Didit network lists the profile only with a confirmed address.
\- name_matching_strictness: NONE | STRICT | CONTAINS | DEFAULT | FUZZY.
\- ownership_validation_mode: FULL | SIMPLIFIED | AUTOMATED (default AUTOMATED), and simplified_validation_threshold (decimal, default 0): below it SIMPLIFIED accepts a self-declaration.
\- data_sharing_fields: {"individual": [...], "company": [...]} - the fields sent about your users (name, wallet_address, address, national_id, customer_identification, date_of_birth, place_of_birth; companies use the first five). name and wallet_address are always sent. Merged per entity type.
\- matching_rules: {"individual": {name, date_of_birth, address, account}, "company": {name, address, account}}, each NONE | STRICT | CONTAINS | DEFAULT | FUZZY. A field left out keeps its default.
\- confirmation_timeout_hours (min 1, default 48), timeout_outcome (HOLD | REJECT | PROCEED), inbound_auto_accept (default true).
\- threshold_amount - decimal string, default "0.00" (every transfer in scope, matching the EU TFR).
Didit compares it with the amount converted to the application's default currency (or the amount_in_default_currency you send), and a transfer below it becomes NOT_APPLICABLE with nothing exchanged.
A transfer whose amount cannot be converted stays in scope.
\- allow_self_declaration, allow_screenshot_proof - which fallback proof methods the wallet-ownership widget offers (both default true).
\- auto_wallet_verification - auto-mint a wallet-ownership widget session when a transfer needs end-user proof (default true).
\- vasp_attribution_enabled - resolve unroutable destination wallets through blockchain analytics (default true).
\- disabled_networks - array of GTR | TRUST | VERIFYVASP | SYGNA to opt out of Didit's platform memberships.
It only affects platform membership, which Didit does not offer on any network yet (Didit is onboarding as a provider), so today it has no routing effect.
Networks you connected your own membership for (console Marketplace) are never affected.
\- counterparty_screening_enabled - opt in to sanctions and adverse-media screening of counterparty VASPs (default false).
Each screening is billed at the Company AML Screening price; with it on, Didit screens the counterparty an outbound exchange reaches when the exchange starts, reusing a screening younger than 30 days.
\- sunrise_policy - HOLD | REJECT | PROCEED, or "" (default) to follow timeout_outcome: what an expired transfer does when the counterparty is a directory entry in a jurisdiction listed in sunrise_jurisdictions.
\- non_responsive_policy - HOLD | REJECT | PROCEED, or "" (default) to follow timeout_outcome: what an expired transfer does when the counterparty is a directory entry whose responsiveness is UNRESPONSIVE.
sunrise_policy applies first when both fit.

Read-only fields (returned, never written): networks, travel_address, didit_network, sunrise_jurisdictions.

Network rails today:
\- A network rail (GTR, TRUST, VerifyVASP, Sygna) routes only through your own membership connected in Marketplace.
\- networks.<name>.mode reports own, off or unavailable; production does not report didit yet.
\- With your own membership, Didit reads the counterparty's answer over GTR, VerifyVASP and Sygna from the network's response or by polling it every 5 minutes. TRUST only sends: a transfer sent over it stays AWAITING_COUNTERPARTY until it expires (then timeout_outcome applies).
If the message cannot be delivered, the transfer moves to COUNTERPARTY_VASP_NOT_REACHABLE instead.

Failure modes:
\- 400 - is_enabled without a legal_name, invalid enum value (including a disabled_networks entry, or a sunrise_policy or non_responsive_policy other than HOLD, REJECT, PROCEED or empty), invalid compliance_email, negative threshold_amount, confirmation_timeout_hours below 1, an unknown field in matching_rules, or a data_sharing_fields choice that cannot meet your jurisdiction's originator obligations (EU TFR or FATF Recommendation 16).
\- 403 - missing x-api-key (a wrong, revoked or expired key gets 401).

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

\</pre>



      
      

Вставьте в



## OpenAPI

````yaml ru/openapi-25.json PUT /v3/travel-rule/settings/
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/settings/:
    put:
      tags:
        - Travel Rule
      summary: Обновить настройки Travel Rule
      description: >-
        Создать или обновить настройки Travel Rule и профиль VASP для
        приложения. Частичное обновление: отправляйте только те поля, которые
        хотите изменить. Для установки `is_enabled: true` требуется непустое
        поле `legal_name` (уже сохранённое или переданное в том же запросе),
        иначе возвращается 400.
      operationId: updateTravelRuleSettings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleSettingsUpdate'
            example:
              is_enabled: true
              legal_name: Origin CASP SL
              jurisdiction: EU
              name_matching_strictness: DEFAULT
              confirmation_timeout_hours: 48
              timeout_outcome: HOLD
              is_discoverable: true
      responses:
        '200':
          description: >-
            Обновлённые настройки и профиль, в том же формате, что и в ответе
            GET.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleSettingsDetail'
        '400':
          description: >-
            Ошибка валидации, например, включение без legal_name, sunrise_policy
            или non_responsive_policy, отличные от HOLD, REJECT, PROCEED или
            пустой строки, неизвестное поле в `matching_rules` или выбор в
            `data_sharing_fields`, не позволяющий выполнить обязательства
            отправителя по регуляторному режиму вашей юрисдикции (ошибки
            распределены по типам сущностей под `data_sharing_fields`).
          content:
            application/json:
              schema:
                type: object
              example:
                legal_name:
                  - legal_name is required to enable travel rule.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X PUT https://verification.didit.me/v3/travel-rule/settings/ \
              -H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
              -d '{"is_enabled": true, "legal_name": "Origin CASP SL", "jurisdiction": "EU"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.update_settings(
                is_enabled=True,
                legal_name="Origin CASP SL",
                jurisdiction="EU",
                name_matching_strictness="DEFAULT",
                confirmation_timeout_hours=48,
                timeout_outcome="HOLD",
                is_discoverable=True,
            )
            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.updateSettings({
              is_enabled: true,
              legal_name: "Origin CASP SL",
              jurisdiction: "EU",
              name_matching_strictness: "DEFAULT",
              confirmation_timeout_hours: 48,
              timeout_outcome: "HOLD",
              is_discoverable: true,
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.TravelRule.UpdateSettings(ctx, didit.TravelRuleSettingsUpdate{\n\tIsEnabled:                didit.Bool(true),\n\tLegalName:                didit.String(\"Origin CASP SL\"),\n\tJurisdiction:             didit.String(\"EU\"),\n\tNameMatchingStrictness:   didit.Some(didit.TravelRuleSettingsUpdateNameMatchingStrictness(\"DEFAULT\")),\n\tConfirmationTimeoutHours: didit.Int(48),\n\tTimeoutOutcome:           didit.Some(didit.TravelRuleSettingsUpdateTimeoutOutcome(\"HOLD\")),\n\tIsDiscoverable:           didit.Bool(true),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.TravelRuleSettingsUpdate;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.travelRule().updateSettings(TravelRuleSettingsUpdate.builder()
                    .isEnabled(true)
                    .legalName("Origin CASP SL")
                    .jurisdiction("EU")
                    .nameMatchingStrictness(TravelRuleSettingsUpdate.NameMatchingStrictness.of("DEFAULT"))
                    .confirmationTimeoutHours(48L)
                    .timeoutOutcome(TravelRuleSettingsUpdate.TimeoutOutcome.of("HOLD"))
                    .isDiscoverable(true)
                    .build());
            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->updateSettings([
                'is_enabled' => true,
                'legal_name' => 'Origin CASP SL',
                'jurisdiction' => 'EU',
                'name_matching_strictness' => 'DEFAULT',
                'confirmation_timeout_hours' => 48,
                'timeout_outcome' => 'HOLD',
                'is_discoverable' => true,
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            result = didit.travel_rule.update_settings(
              is_enabled: true,
              legal_name: "Origin CASP SL",
              jurisdiction: "EU",
              name_matching_strictness: "DEFAULT",
              confirmation_timeout_hours: 48,
              timeout_outcome: "HOLD",
              is_discoverable: true
            )
            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.UpdateSettingsAsync(new
            TravelRuleSettingsUpdate

            {
                IsEnabled = true,
                LegalName = "Origin CASP SL",
                Jurisdiction = "EU",
                NameMatchingStrictness = new TravelRuleSettingsUpdateNameMatchingStrictness("DEFAULT"),
                ConfirmationTimeoutHours = 48,
                TimeoutOutcome = new TravelRuleSettingsUpdateTimeoutOutcome("HOLD"),
                IsDiscoverable = true,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleSettingsUpdate:
      type: object
      properties:
        is_enabled:
          type: boolean
        legal_name:
          type: string
          maxLength: 255
        lei:
          type: string
          maxLength: 20
        jurisdiction:
          type: string
          maxLength: 8
        name_matching_strictness:
          type: string
          enum:
            - NONE
            - STRICT
            - CONTAINS
            - DEFAULT
            - FUZZY
          description: >-
            `CONTAINS` принимает имя, все слова которого присутствуют в другом
            имени.
        confirmation_timeout_hours:
          type: integer
          minimum: 1
        timeout_outcome:
          type: string
          enum:
            - HOLD
            - REJECT
            - PROCEED
        compliance_email:
          type: string
          format: email
          description: >-
            Контактный адрес электронной почты комплаенс-службы для вашего
            VASP-профиля. Сеть Didit отобразит ваш профиль только после
            подтверждения этого адреса по ссылке из электронного письма (POST
            /v3/travel-rule/settings/compliance-email/confirmation/); при его
            изменении потребуется повторное подтверждение.
        is_discoverable:
          type: boolean
          description: >-
            Может ли ваш профиль VASP отображаться в сети Didit: доступен для
            поиска через GET /v3/travel-rule/vasps/ другими клиентами Didit и
            достижим по каналу INTERNAL. Для включения в список также требуется
            приложение в продакшн-среде, включённый Travel Rule, юридическое
            наименование и подтверждённый email комплаенс-отдела; didit_network
            указывает, какие из них отсутствуют. По умолчанию true.
        threshold_amount:
          type: string
          description: >-
            Десятичная строка, ноль или больше, в валюте по умолчанию вашего
            приложения. Минимальная сумма перевода, запускающая управляемый
            обмен.
        ownership_validation_mode:
          type: string
          enum:
            - FULL
            - SIMPLIFIED
            - AUTOMATED
          description: См. одноимённое поле ответа.
        simplified_validation_threshold:
          type: string
          description: Десятичная строка, 0 или больше.
        data_sharing_fields:
          allOf:
            - $ref: '#/components/schemas/TravelRuleDataSharingFields'
          description: >-
            Объединяется по типу сущности: пропущенный тип сущности сохраняет
            текущий выбор. Выбор, который не удовлетворяет обязательствам
            отправителя в рамках режима вашей `jurisdiction` (EU TFR или
            Рекомендация 16 ФАТФ), включая пустой список, отклоняется с кодом
            `400`.
        matching_rules:
          allOf:
            - $ref: '#/components/schemas/TravelRuleMatchingRules'
          description: >-
            Объединяется по типу сущности и по полям внутри него. Поле, которое
            данный тип сущности не сравнивает (например, `date_of_birth` для
            `company`), отклоняется с кодом `400`.
        inbound_auto_accept:
          type: boolean
        allow_self_declaration:
          type: boolean
        allow_screenshot_proof:
          type: boolean
          description: >-
            Если true, виджет подтверждения владения кошельком предлагает
            загрузку скриншота в качестве метода подтверждения владения. По
            умолчанию true.
        auto_wallet_verification:
          type: boolean
        vasp_attribution_enabled:
          type: boolean
        counterparty_screening_enabled:
          type: boolean
          description: >-
            Подключаемый скрининг контрагентов VASP на санкции и негативные
            публикации в СМИ, тарифицируемый за каждый скрининг по цене
            AML-скрининга компаний. При включении Didit выполняет скрининг
            контрагента, к которому обращается исходящий обмен (повторно
            используя скрининг давностью менее 30 дней), и вы можете проверить
            контрагента с помощью POST
            /v3/travel-rule/vasps/{vasp_id}/screening/. По умолчанию false:
            скрининг и списание средств не производятся.
        sunrise_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            HOLD, REJECT, PROCEED или пустое значение, чтобы следовать
            timeout_outcome. См. одноимённое поле ответа.
        non_responsive_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            HOLD, REJECT, PROCEED или пустое значение, чтобы следовать
            timeout_outcome. См. одноимённое поле ответа.
        disabled_networks:
          type: array
          items:
            type: string
            enum:
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
          description: >-
            Сети, отказавшиеся от участия в платформе. Не отключает ваши
            собственные подключённые членства и не предоставляет недоступные
            сети.
          default: []
      description: Все поля опциональны; PUT применяет частичное обновление.
    TravelRuleSettingsDetail:
      type: object
      properties:
        is_enabled:
          type: boolean
          description: >-
            Активен ли управляемый сценарий согласования Travel Rule для
            исходящих транзакций `travelRule` в этом приложении.
        jurisdiction:
          type: string
          maxLength: 8
          description: >-
            Код юрисдикции деятельности вашего VASP. По умолчанию `"EU"`. Didit
            сопоставляет его с режимом, который указывается в ваших транзакциях
            Travel Rule как `travel_rule_regime` (например, `EU` или код
            страны-участницы ЕС преобразуется в `eu`), на основе которого могут
            срабатывать правила транзакций. Другие клиенты Didit видят его как
            вашу юрисдикцию в каталоге VASP после того, как сеть Didit
            опубликует ваш профиль.
        name_matching_strictness:
          type: string
          enum:
            - NONE
            - STRICT
            - CONTAINS
            - DEFAULT
            - FUZZY
          description: >-
            Насколько строго должны совпадать имена получателей, чтобы перевод
            мог перейти в статус COMPLETED. `CONTAINS` принимает имя, все слова
            которого содержатся в другом имени.
        confirmation_timeout_hours:
          type: integer
          minimum: 1
          description: >-
            Количество часов, в течение которых перевод со статусом
            AWAITING_COUNTERPARTY может оставаться неподтверждённым, прежде чем
            периодический процесс очистки переведёт его в статус истекшего. По
            умолчанию 48.
        timeout_outcome:
          type: string
          enum:
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Что происходит с базовой транзакцией, когда срок действия перевода
            истекает. По умолчанию HOLD. sunrise_policy и non_responsive_policy
            имеют приоритет, если они применимы и заданы.
        threshold_amount:
          type: string
          description: >-
            Десятичная строка в валюте по умолчанию вашего приложения.
            Минимальная сумма перевода, запускающая управляемый обмен; переводы
            ниже этой суммы сразу получают статус NOT_APPLICABLE. Didit
            сравнивает сумму транзакции, конвертированную в вашу валюту по
            умолчанию, или переданное вами значение
            `amount_in_default_currency`; если конвертированная сумма
            недоступна, порог не применяется. По умолчанию "0.00" (EU TFR не
            устанавливает минимальную сумму).
        ownership_validation_mode:
          type: string
          enum:
            - FULL
            - SIMPLIFIED
            - AUTOMATED
          description: >-
            Требуемый объём подтверждения владения кошельком. `FULL` всегда
            требует подтверждения (подписанное сообщение, тестовый депозит или
            проверенный скриншот), но никогда не слов конечного пользователя.
            `SIMPLIFIED` принимает самостоятельное декларирование ниже
            `simplified_validation_threshold` и подтверждение выше него.
            `AUTOMATED` позволяет адресной книге и более ранним подтверждениям
            отвечать автоматически, включая самостоятельные декларации при
            значении `allow_self_declaration`, равном true. По умолчанию
            `AUTOMATED`.
        simplified_validation_threshold:
          type: string
          description: >-
            Десятичная строка, по умолчанию "0.00". В режиме `SIMPLIFIED` для
            перевода ниже этой суммы (в валюте порога) принимается
            самостоятельное заявление. Перевод без указания суммы в этой валюте
            считается превышающим её.
        data_sharing_fields:
          $ref: '#/components/schemas/TravelRuleDataSharingFields'
        matching_rules:
          $ref: '#/components/schemas/TravelRuleMatchingRules'
        legal_name:
          type: string
          description: >-
            Юридическое наименование вашего VASP. Обязательно (не пустое) для
            установки is_enabled в true.
        lei:
          type: string
          description: Ваш идентификатор юридического лица, отображаемый в каталоге VASP.
        compliance_email:
          type: string
          format: email
          description: >-
            Контактный адрес электронной почты комплаенс-службы для вашего
            VASP-профиля. Сеть Didit отобразит ваш профиль только после
            подтверждения этого адреса по ссылке из электронного письма (POST
            /v3/travel-rule/settings/compliance-email/confirmation/); при его
            изменении потребуется повторное подтверждение.
        is_discoverable:
          type: boolean
          description: >-
            Может ли ваш профиль VASP отображаться в сети Didit: доступен для
            поиска через GET /v3/travel-rule/vasps/ другими клиентами Didit и
            достижим по каналу INTERNAL. Для включения в список также требуется
            приложение в продакшн-среде, включённый Travel Rule, юридическое
            наименование и подтверждённый email комплаенс-отдела; didit_network
            указывает, какие из них отсутствуют. По умолчанию true.
        inbound_auto_accept:
          type: boolean
          description: >-
            Если true, входящий запрос TRP, в котором кошелек получателя
            является подтвержденной записью адресной книги с совпадающим именем,
            одобряется автоматически. Если false, такой запрос остается в
            статусе ON_HOLD до тех пор, пока вы не одобрите или не отклоните его
            с помощью endpoint проверки владения. Не влияет на переводы по
            каналу INTERNAL и переводы после депозита. По умолчанию true.
        allow_self_declaration:
          type: boolean
          description: >-
            Если true, виджет подтверждения владения кошельком предлагает
            самостоятельное декларирование в качестве резервного метода
            подтверждения. По умолчанию true.
        allow_screenshot_proof:
          type: boolean
          description: >-
            Если true, виджет подтверждения владения кошельком предлагает
            загрузку скриншота в качестве метода подтверждения владения. По
            умолчанию true.
        auto_wallet_verification:
          type: boolean
          description: >-
            Если true, отправка исходящего перевода по Travel Rule, требующего
            подтверждения контроля над кошельком конечным пользователем,
            автоматически создает привязанную к транзакции сессию виджета
            подтверждения владения кошельком и отображает ее в блоке
            action_required транзакции. По умолчанию true.
        vasp_attribution_enabled:
          type: boolean
          description: >-
            Если true, исходящий перевод по Travel Rule, который не может
            маршрутизировать ни один канал, атрибутируется с помощью
            блокчейн-аналитики: для кошелька назначения определяется владеющий
            им VASP, организация фиксируется в переводе и в каталоге VASP, а
            каналы запускаются повторно один раз с именем, определенным при
            атрибуции. По умолчанию true.
        counterparty_screening_enabled:
          type: boolean
          description: >-
            Подключаемый скрининг контрагентов VASP на санкции и негативные
            публикации в СМИ, тарифицируемый за каждый скрининг по цене
            AML-скрининга компаний. При включении Didit выполняет скрининг
            контрагента, к которому обращается исходящий обмен (повторно
            используя скрининг давностью менее 30 дней), и вы можете проверить
            контрагента с помощью POST
            /v3/travel-rule/vasps/{vasp_id}/screening/. По умолчанию false:
            скрининг и списание средств не производятся.
        sunrise_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Действие с транзакцией при истечении срока перевода, когда
            контрагент является записью каталога в юрисдикции из
            sunrise_jurisdictions, которая ещё не применяет Travel Rule: HOLD
            переводит её на проверку, REJECT отклоняет её, PROCEED оставляет
            статус без изменений. Пустое значение (по умолчанию) следует
            timeout_outcome. Применяется перед non_responsive_policy.
        sunrise_jurisdictions:
          type: array
          items:
            type: string
          readOnly: true
          description: >-
            Только для чтения. Страны (ISO 3166 alpha-2), которые Didit относит
            к переходному периоду Travel Rule, где применяется sunrise_policy. В
            настоящее время это CO, KH и VN. Любая другая юрисдикция, а также
            пустая или неизвестная, использует timeout_outcome.
        non_responsive_policy:
          type: string
          enum:
            - ''
            - HOLD
            - REJECT
            - PROCEED
          description: >-
            Действие с транзакцией при истечении срока перевода, когда
            контрагент является записью каталога со статусом отклика
            UNRESPONSIVE: HOLD, REJECT или PROCEED, аналогично timeout_outcome.
            Пустое значение (по умолчанию) следует timeout_outcome. Если
            подходят оба правила, сначала применяется sunrise_policy.
        travel_address:
          type: string
          description: >-
            Только для чтения. Собственный Travel Address вашего VASP -
            закодированный endpoint входящих запросов TRP, который другие VASP
            используют для связи с вами. Пусто, пока `is_enabled` имеет значение
            false.
        disabled_networks:
          type: array
          items:
            type: string
            enum:
              - GTR
              - TRUST
              - VERIFYVASP
              - SYGNA
          description: >-
            Сети, отказавшиеся от участия в платформе. Не отключает ваши
            собственные подключённые членства и не предоставляет недоступные
            сети.
          default: []
        networks:
          type: object
          readOnly: true
          description: >-
            По каждой сети: как это приложение будет отправлять данные и почему
            оно не может этого сделать. Ни одна сеть, включая GTR, не подключена
            по умолчанию: сеть доступна через ваше собственное подключённое
            членство или через членство Didit, когда членство Didit в этой сети
            активировано и ваш собственный участник в ней активен. Не является
            проверкой состояния или доставки в реальном времени.
          properties:
            gtr:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            trust:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            verifyvasp:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            sygna:
              $ref: '#/components/schemas/TravelRuleNetworkState'
        didit_network:
          type: object
          readOnly: true
          description: >-
            Включён ли ваш профиль VASP в сеть Didit, чтобы другие клиенты Didit
            могли найти его в каталоге и связаться с ним по каналу INTERNAL, а
            также каждое условие, которое всё ещё не выполнено.
          properties:
            listed:
              type: boolean
            missing:
              type: array
              items:
                type: string
                enum:
                  - travel_rule_off
                  - sandbox_application
                  - not_discoverable
                  - legal_name_missing
                  - compliance_email_missing
                  - compliance_email_unconfirmed
                  - excluded_by_staff
                  - internal_organization
              description: >-
                Пусто, если включено в список. compliance_email_unconfirmed:
                отправьте подтверждение с помощью POST
                /v3/travel-rule/settings/compliance-email/confirmation/ и
                перейдите по ссылке из письма. excluded_by_staff: Didit пометил
                приложение как тестовое, демонстрационное или внутреннее.
            compliance_email_confirmed:
              type: boolean
              description: >-
                Был ли текущий compliance_email подтверждён по ссылке из
                электронного письма.
    TravelRuleDataSharingFields:
      type: object
      description: >-
        Поля, которые Didit отправляет VASP контрагента о ваших пользователях,
        для каждого типа сущности. Поля `name` и `wallet_address` отправляются
        всегда, независимо от содержимого списка. Для типа сущности, который вы
        не настроили, передаются все поля. Пустой список тоже является выбором:
        в этом случае передаются только имя и кошелёк.
      properties:
        individual:
          type: array
          items:
            type: string
            enum:
              - name
              - wallet_address
              - address
              - national_id
              - customer_identification
              - date_of_birth
              - place_of_birth
          description: Переданные поля физического лица.
        company:
          type: array
          items:
            type: string
            enum:
              - name
              - wallet_address
              - address
              - national_id
              - customer_identification
          description: Переданные поля юридического лица.
    TravelRuleMatchingRules:
      type: object
      description: >-
        Насколько строго сравнивается каждое поле данных контрагента с
        имеющимися у вас данными в зависимости от типа субъекта. Поле, которое
        вы пропускаете, сохраняет значение по умолчанию. `NONE` пропускает
        сравнение, `STRICT` требует абсолютно одинаковых слов, `CONTAINS`
        допускает значение, все слова которого присутствуют в другом, `DEFAULT`
        выполняет стандартное сопоставление подмножеств, а `FUZZY` допускает
        близкое написание (а для дат рождения допускает перестановку дня и
        месяца).
      properties:
        individual:
          type: object
          description: Правила для физического лица.
          properties:
            name:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: 'По умолчанию: соответствует `name_matching_strictness`.'
            date_of_birth:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: По умолчанию `NONE`.
            address:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: По умолчанию `NONE`.
            account:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: >-
                Кошелёк, через который был маршрутизирован обмен. По умолчанию
                `STRICT`.
        company:
          type: object
          description: Правила для юридического лица.
          properties:
            name:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: 'По умолчанию: соответствует `name_matching_strictness`.'
            address:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: По умолчанию `NONE`.
            account:
              type: string
              enum:
                - NONE
                - STRICT
                - CONTAINS
                - DEFAULT
                - FUZZY
              description: >-
                Кошелёк, через который был маршрутизирован обмен. По умолчанию
                `STRICT`.
    TravelRuleNetworkState:
      type: object
      description: >-
        Каким образом сообщения Travel Rule в одной сети отправлялись бы для
        этого приложения и почему они не могут быть отправлены. Статус
        конфигурации, а не проверка состояния или доставки в реальном времени.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: используется подключённое членство приложения; didit: членство
            Didit представляет приложение как своего собственного активного
            участника; off: маршрутизация платформы отключена в
            disabled_networks при отсутствии собственного членства; unavailable:
            в этой сети пока ничего нельзя отправить (см. state и reason).
        state:
          type: string
          enum:
            - own_membership
            - live_through_didit
            - 'off'
            - didit_onboarding
            - questionnaire_needed
            - questionnaire_in_review
            - request_access
            - request_sent
            - unavailable
            - error
          description: >-
            own_membership: отправка выполняется через ваше подключённое
            членство; live_through_didit: отправка выполняется через вашего
            собственного участника в рамках членства Didit; off: вы отключили
            маршрутизацию платформы; didit_onboarding: собственное членство
            Didit в этой сети ещё не активно, поэтому оно пока не может
            принимать участников; questionnaire_needed /
            questionnaire_in_review: анкету комплексной проверки необходимо
            отправить или она уже передана Didit; request_access: анкета
            одобрена, запросите доступ к сети; request_sent: выполняется
            онбординг вашего участника; unavailable: см. reason; error: см.
            reason.
        reason:
          type: string
          enum:
            - own_membership_connected
            - platform_network_switched_off
            - own_membership_only
            - sandbox_application
            - didit_membership_not_live
            - participant_suspended
            - participant_rejected
            - questionnaire_not_submitted
            - questionnaire_submitted
            - questionnaire_changes_requested
            - questionnaire_rejected
            - participant_not_requested
            - participant_active
            - participant_key_missing
            - participant_key_unresolved
            - provisioning_failed
            - questionnaire_pending
            - submitted_to_network
          description: >-
            Машиночитаемые подробности состояния. own_membership_only: Didit не
            размещает приложения в этой сети (TRUST), подключите собственное
            членство; sandbox_application: переводы в песочнице никогда не
            поступают в сеть; provisioning_failed: сеть отклонила регистрацию,
            last_error участника содержит причину, а повторный запрос к сети
            запускает новую попытку.
        platform_available:
          type: boolean
          description: >-
            Настроено ли собственное участие Didit в этой сети; не является
            проверкой состояния в реальном времени.
        connected:
          type: boolean
          description: >-
            Существует ли членство у подключённого клиента. Учётные данные
            проверяются локально; проверка в сети происходит на действующей
            бирже.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: VASP из каталога, доступные в этой сети.
        routed_30d:
          type: integer
          description: >-
            Переводы этого приложения, проведённые в этой сети за последние 30
            дней.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: Собственный участник этого приложения в сети или null, если его нет.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: передаётся через членство Didit; own: онбординг выполнен в
            рамках собственного членства приложения.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: запрос никогда не отправлялся или сеть отклонила
            первый запрос (см. last_error); questionnaire_pending: ожидание
            одобрения анкеты комплексной проверки; submitted_to_network:
            передано на онбординг сети; active: сеть присвоила этому приложению
            собственный код участника; suspended / rejected: Didit приостановил
            или отклонил его.
        participant_code:
          type: string
          description: >-
            Код, присвоенный сетью этому приложению (для GTR, его VASP-код).
            Исходящие сообщения содержат этот код, а не собственный код Didit.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: Ответ сети в случае отказа в регистрации; в остальных случаях пусто.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в
        Business Console. Основной ключ имеет полный доступ. Именованный ключ
        может иметь ограниченную область действия: без доступа, чтение или
        запись для каждого ресурса, ограничение определенными сценариями или
        одобренными сессиями, списком IP-адресов и сроком действия. 401
        означает, что ключ неверен, отозван или его срок действия истек; 403
        означает, что ключ не был передан, у ключа нет доступа к этому ресурсу
        или действию, либо запрос поступил с адреса вне его списка IP-адресов;
        404 на маршруте сессии означает, что сессия не входит в сценарии или
        статусы ключа. Ключ без доступа к медиа получает URL изображений, видео
        и PDF как null, а ключ без прав на запись сессий получает ссылки на
        сессии и токены как null. См. https://docs.didit.me/console/api-keys.

````

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