> ## Documentation Index
> Fetch the complete documentation index at: https://wallet-docs.iexexchanger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Запустить AML-скрин адреса или транзакции

> Скринит адрес (по умолчанию) или транзакцию через подключённого AML-провайдера и возвращает риск-скор/уровень. Результат может быть `pending` — тогда опрашивайте GET /v1/public/aml/checks/{uuid}. Идемпотентно по X-Idempotency-Key (повтор не тратит лишнюю квоту провайдера).



## OpenAPI

````yaml /openapi-public.json post /v1/public/aml/checks
openapi: 3.0.0
info:
  title: Wallet Platform — Public API
  description: >-
    API для интеграции CMS обменника: создание депозитов и выплат, отслеживание
    статусов, справочники активов и сетей.


    ## Аутентификация

    Каждый запрос подписывается HMAC-SHA256. Обязательные заголовки:

    - `X-Api-Id` — публичный идентификатор ключа (выдаётся в админке).

    - `X-Api-Key` — публичный ключ.

    - `X-Timestamp` — Unix-секунды; сервер принимает ±300 сек от своего времени.

    - `X-Signature` — `HMAC_SHA256_Hex( X-Timestamp + "." + raw_body, api_secret
    )`. Для GET тело пустое.

    - `X-Idempotency-Key` — опционально (UUID). Гарантирует, что повторный POST
    не создаст дубликат.


    Дополнительно: IP-вызывающего должен быть в whitelist сайта (настраивается в
    админке). Секрет (`api_secret`) показывается один раз при создании ключа и
    хранится только у вас.


    ## Формат ответа

    Все ответы — единый envelope: `{ "ok": true, "data": ... }` при успехе либо
    `{ "ok": false, "error": { "code": "...", "message": "..." } }` при ошибке.


    ## Идемпотентность

    Создание депозита/выплаты идемпотентно по вашему `order_id` (уникален в
    рамках сайта и актива) и/или по `X-Idempotency-Key`. Повторный вызов с тем
    же ключом вернёт исходный объект, а не создаст новый.


    ## Webhooks (исходящие)

    При смене статуса платформа шлёт POST на ваш `callback_url`. Заголовки:
    `X-Event-Type`, `X-Event-Id` (uuid, идемпотентность на вашей стороне),
    `X-Timestamp`, `X-Signature` = `HMAC_SHA256_Hex(raw_body, callback_secret)`.
    Проверяйте подпись перед обработкой.

    События: `deposit.tx_detected`, `deposit.finalized`, `deposit.failed`,
    `deposit.refunded`, `payout.broadcasted`, `payout.confirmed`,
    `payout.failed`.

    Доставка считается успешной при HTTP 2xx за 10 секунд. Ретраи: 30s, 2m, 10m,
    1h, 6h, 24h (до 8 попыток).
  version: '1'
  contact: {}
servers: []
security:
  - X-Api-Id: []
    X-Api-Key: []
    hmac: []
    X-Timestamp: []
tags: []
paths:
  /v1/public/aml/checks:
    post:
      tags:
        - public · aml
      summary: Запустить AML-скрин адреса или транзакции
      description: >-
        Скринит адрес (по умолчанию) или транзакцию через подключённого
        AML-провайдера и возвращает риск-скор/уровень. Результат может быть
        `pending` — тогда опрашивайте GET /v1/public/aml/checks/{uuid}.
        Идемпотентно по X-Idempotency-Key (повтор не тратит лишнюю квоту
        провайдера).
      operationId: AmlPublicController_screen
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePublicAmlCheckDto'
      responses:
        '201':
          description: Проверка создана (pending или готовый результат).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicAmlCheckResponseDto'
      security:
        - hmac: []
components:
  schemas:
    CreatePublicAmlCheckDto:
      type: object
      properties:
        network:
          type: string
          enum:
            - TRON
            - TON
            - ETHEREUM
            - BSC
            - POLYGON
            - BITCOIN
            - LITECOIN
            - XRP
            - SOLANA
          example: TRON
          description: Сеть адреса/транзакции.
        address:
          type: string
          example: TXYZ...abcd
          description: Адрес для скрина (обязателен для method=address/both).
        assetCode:
          type: string
          example: USDT_TRC20
          description: >-
            Код актива (как в /v1/public/aml/currencies или /v1/public/assets).
            Если не указан — берётся нативная валюта сети. Влияет на token-скрин
            (контракт токена).
        txHash:
          type: string
          example: 0xabc…
          description: Хэш транзакции (для method=transaction/both).
        checkMethod:
          type: string
          enum:
            - address
            - transaction
            - both
          description: >-
            Метод: address (по умолчанию), transaction или both. По умолчанию —
            transaction если задан txHash, иначе address.
      required:
        - network
        - address
    PublicAmlCheckResponseDto:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 0f1c…
          description: ID проверки. Опрашивайте GET /v1/public/aml/checks/{uuid}.
        status:
          type: string
          enum:
            - pending
            - success
            - failed
            - error
            - skipped
          example: success
          description: >-
            Жизненный цикл проверки: pending → success | failed | error |
            skipped.
        network:
          type: string
          enum:
            - TRON
            - TON
            - ETHEREUM
            - BSC
            - POLYGON
            - BITCOIN
            - LITECOIN
            - XRP
            - SOLANA
          example: TRON
        assetCode:
          type: string
          example: USDT_TRC20
        address:
          type: string
          example: TXYZ...abcd
        txHash:
          type: string
          nullable: true
          example: null
        checkMethod:
          type: string
          enum:
            - address
            - transaction
            - both
          example: address
        riskScore:
          type: string
          nullable: true
          example: '12.50'
          description: Риск-скор 0–100 (string). null если не success.
        riskLevel:
          type: string
          enum:
            - low
            - medium
            - high
            - severe
          nullable: true
          example: low
          description: >-
            low<50, medium 50–79, high ≥80, severe — санкции/терроризм/кража и
            т.п.
        topSignal:
          type: string
          nullable: true
          example: exchange
          description: Топ-сигнал риска (категория).
        signals:
          type: object
          additionalProperties:
            type: number
          nullable: true
          description: Карта сигналов риска → вес (0–1).
          example:
            exchange: 0.8
            gambling: 0.1
        reportUrl:
          type: string
          nullable: true
          description: Ссылка на отчёт провайдера (если есть).
        shareUrl:
          type: string
          nullable: true
          description: Публичная share-ссылка отчёта (если есть).
        reason:
          type: string
          nullable: true
          description: >-
            Причина для skipped/error/failed (валюта не поддерживается, сбой
            провайдера и т.п.).
        createdAt:
          type: string
          format: date-time
          example: '2026-06-18T12:00:00.000Z'
        completedAt:
          type: object
          format: date-time
          nullable: true
          example: '2026-06-18T12:00:03.000Z'
      required:
        - uuid
        - status
        - network
        - assetCode
        - address
        - txHash
        - checkMethod
        - riskScore
        - riskLevel
        - topSignal
        - signals
        - reportUrl
        - shareUrl
        - reason
        - createdAt
        - completedAt
  securitySchemes:
    X-Api-Id:
      type: apiKey
      in: header
      name: X-Api-Id
      description: Публичный идентификатор API-ключа
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Публичный API-ключ
    hmac:
      type: apiKey
      in: header
      name: X-Signature
      description: HMAC-SHA256-Hex(timestamp + "." + raw_body, api_secret)
    X-Timestamp:
      type: apiKey
      in: header
      name: X-Timestamp
      description: Unix-секунды, ±300с

````