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

# Задача AML-мониторинга — API Didit

> Проверяйте в Didit статус, счётчики и результаты задачи постоянного AML-мониторинга, запущенной для пользователей или компаний.



Получить подсказку о задаче AML-мониторинга
        Скопировать промпт в буфер обмена



      
      

\<pre>

\`Goal: Read the status and the per-record results of an AML ongoing monitoring job started with POST /v3/users/aml-monitoring/ or POST /v3/businesses/aml-monitoring/. Needed whenever the toggle call returned 202 (more than 20 profiles); also works for jobs that already completed inline.

Endpoint: GET https://verification.didit.me/v3/aml-monitoring/jobs/{job_id}/
Auth header: x-api-key: <DIDIT_API_KEY>

Path param:
\- job_id: the job_id returned by the toggle endpoint.

curl:
curl 'https://verification.didit.me/v3/aml-monitoring/jobs/JOB_ID/' \
-H 'x-api-key: YOUR_API_KEY'

Response 200:
\{
"job_id": "<uuid>",
"status": "PROCESSING",            // PENDING | PROCESSING | COMPLETED | FAILED
"is_enabled": true,
"target_type": "user",             // user | business
"total": 120,
"processed": 40,
"outcomes": {"enabled": 12, "screened_and_enabled": 25, "already_enabled": 3, "disabled": 0, "skipped_no_identity_data": 0, "skipped_blocked": 0, "skipped_sandbox": 0, "failed_provider": 0, "failed_insufficient_balance": 0},
"results": [
\{"didit_internal_id": "<uuid>", "vendor_data": "user-123", "outcome": "enabled"},
...one entry per processed profile, in processing order...
],
"error": null,                     // generic message when status is FAILED
"created_at": "<datetime>",
"completed_at": null
}

Polling: request the job every couple of seconds while status is PENDING or PROCESSING. results grows as profiles are processed and is complete once status is COMPLETED. A FAILED job keeps the results recorded before the failure and carries a short generic message in error; re-send the toggle request for the profiles that have no result yet. Per-record results are recorded for jobs started through the API; a job started from the Business Console reports counters only.

Failure modes:
\- 401 - missing/invalid x-api-key.
\- 404 - no such job for this application (jobs are only visible to the application that created them).

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

Вставьте в

## ОбзорВозвращает задачу постоянного AML-мониторинга, запущенную с помощью [Включения постоянного AML-мониторинга для пользователей](https://docs.didit.me/ru/management-api/aml-monitoring/toggle-users.md) или [Включения постоянного AML-мониторинга для компаний](https://docs.didit.me/ru/management-api/aml-monitoring/toggle-businesses.md): её статус, счётчики по каждому результату и по одной записи в `results` для каждого обработанного пользователя или компании.Выборки из более чем 20 профилей выполняются в фоновом режиме, и вызов переключения возвращает `202` с задачей в статусе `PENDING`. Опрашивайте этот endpoint каждые пару секунд, пока `status` не станет `COMPLETED` или `FAILED`. Массив `results` заполняется по мере обработки профилей, в порядке их обработки, и становится полным, когда задача переходит в статус `COMPLETED`. Результаты по отдельным записям сохраняются для задач, запущенных через API; задача, запущенная из Business Console, сообщает только счётчики.## Статус задачи| `status` | Значение |
| - | - |
| `PENDING` | Принята, ещё не запущена. |
| `PROCESSING` | Выполняется; поля `processed`, `outcomes` и `results` обновляются. |
| `COMPLETED` | Для каждого профиля получен результат. |
| `FAILED` | Задача завершилась досрочно. Поле `error` содержит короткое общее сообщение, а результаты, зафиксированные до сбоя, сохраняются. Повторно отправьте запрос на включение для профилей, у которых ещё нет результата. |Значения `outcome` для отдельных записей описаны на страницах включения постоянного AML-мониторинга.## РазрешенияЛюбой активный API-ключ приложения может вызывать этот endpoint. Задача видна только тому приложению, которое её создало; любой другой `job_id` возвращает `404`.## Связанные разделы- [Включение постоянного AML-мониторинга для пользователей](https://docs.didit.me/ru/management-api/aml-monitoring/toggle-users.md)
- [Включение постоянного AML-мониторинга для компаний](https://docs.didit.me/ru/management-api/aml-monitoring/toggle-businesses.md)
- [Постоянный AML-мониторинг](https://docs.didit.me/ru/core-technology/aml-screening/continuous-monitoring-aml-screening.md)


## OpenAPI

````yaml ru/openapi-25.json GET /v3/aml-monitoring/jobs/{job_id}/
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/aml-monitoring/jobs/{job_id}/:
    get:
      tags:
        - AML Ongoing Monitoring
      summary: Получить задачу постоянного AML-мониторинга
      description: >-
        Статус, счётчики результатов и построчные результаты задачи переключения
        мониторинга, запущенной с помощью `POST /v3/users/aml-monitoring/` или
        `POST /v3/businesses/aml-monitoring/`. Опрашивайте каждые несколько
        секунд, пока `status` равен `PENDING` или `PROCESSING`; массив `results`
        заполняется полностью после перехода в `COMPLETED`.
      operationId: get_aml_monitoring_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Параметр `job_id`, возвращённый endpoint переключения.
      responses:
        '200':
          description: Задание.
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: string
                    format: uuid
                  status:
                    type: string
                    enum:
                      - PENDING
                      - PROCESSING
                      - COMPLETED
                      - FAILED
                  is_enabled:
                    type: boolean
                    description: >-
                      true, если задача включает мониторинг; false, если
                      отключает его.
                  target_type:
                    type: string
                    enum:
                      - user
                      - business
                    description: Какое семейство профилей переключает задача.
                  total:
                    type: integer
                    description: Профили, обрабатываемые задачей.
                  processed:
                    type: integer
                    description: Профили, обработанные к настоящему моменту.
                  outcomes:
                    type: object
                    description: >-
                      Счётчики результатов по записям. Каждый выбранный профиль
                      относится ровно к одному счётчику; ничто не пропускается
                      незаметно.
                    properties:
                      enabled:
                        type: integer
                        description: Мониторинг включен для существующего AML-скрининга.
                      screened_and_enabled:
                        type: integer
                        description: >-
                          Новый AML-скрининг был создан (списана оплата) и на
                          нём включён мониторинг.
                      already_enabled:
                        type: integer
                        description: >-
                          Мониторинг уже был активен; ничего не изменилось,
                          средства не списывались.
                      disabled:
                        type: integer
                        description: Мониторинг отключен для каждого AML-скрининга профиля.
                      skipped_no_identity_data:
                        type: integer
                        description: >-
                          Пропущено: в профиле отсутствуют полное имя, дата
                          рождения и страна (для пользователей) или наименование
                          (для компаний), необходимые для проведения проверки.
                      skipped_blocked:
                        type: integer
                        description: 'Пропущено: пользователь заблокирован.'
                      skipped_sandbox:
                        type: integer
                        description: >-
                          Пропущено: приложение песочницы, скрининг не
                          создается.
                      failed_provider:
                        type: integer
                        description: >-
                          Скрининг не удалось завершить; повторите попытку
                          позже.
                      failed_insufficient_balance:
                        type: integer
                        description: Баланс исчерпан во время выполнения задания.
                  results:
                    type: array
                    description: >-
                      Одна запись на каждый обработанный профиль в порядке
                      обработки. Пополняется во время выполнения задания;
                      заполняется полностью после перехода статуса в COMPLETED.
                      Фиксируется для заданий, запущенных через API; задание,
                      запущенное из Business Console, возвращает только
                      счётчики.
                    items:
                      type: object
                      properties:
                        didit_internal_id:
                          type: string
                          format: uuid
                          description: Внутренний идентификатор профиля в Didit.
                        vendor_data:
                          type: string
                          nullable: true
                          description: Ваш собственный идентификатор профиля.
                        outcome:
                          type: string
                          enum:
                            - enabled
                            - screened_and_enabled
                            - already_enabled
                            - disabled
                            - skipped_no_identity_data
                            - skipped_blocked
                            - skipped_sandbox
                            - failed_provider
                            - failed_insufficient_balance
                  error:
                    type: string
                    nullable: true
                    description: >-
                      Общее сообщение об ошибке, когда статус FAILED; подробная
                      причина сохраняется на стороне платформы.
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: string
                    format: date-time
                    nullable: true
        '401':
          description: Отсутствует или недействителен API-ключ.
        '404':
          description: Такая задача отсутствует для этого приложения.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl 'https://verification.didit.me/v3/aml-monitoring/jobs/JOB_ID/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.aml_monitoring.retrieve_job(
                "11111111-2222-3333-4444-555555555555",
            )
            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.amlMonitoring.retrieveJob("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.AMLMonitoring.RetrieveJob(ctx, \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.amlMonitoring().retrieveJob("11111111-2222-3333-4444-555555555555");

            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->amlMonitoring->retrieveJob('11111111-2222-3333-4444-555555555555');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.aml_monitoring.retrieve_job("11111111-2222-3333-4444-555555555555")

            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.AmlMonitoring.RetrieveJobAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  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.