> ## 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 актуальности AML-датасетов

> Актуальность датасетов Didit: санкции, PEP, предупреждения и негативные публикации в СМИ по источникам — доказательство для AML-аудита.



Промпт для AML Dataset Freshness API
        Скопировать промпт в буфер обмена



      
      

\<pre>

\`Read how current Didit's AML screening datasets are, so I can attach it to an audit of ongoing AML monitoring.

Endpoint:
GET https://verification.didit.me/v3/aml/dataset-freshness/

Authentication:
Use the x-api-key header with my Didit API key. A scoped key needs sessions: read. A key limited to some workflows or to approved sessions can't call this endpoint.

Goal:
\- Get, per AML source family (sanctions, pep, warnings, adverse_media), the most recent dataset update and the staleness bound, and store it next to the AML screening history I hand to an auditor.

Behavior:
\- Platform-wide: no session in the path, no customer data in the answer, the same answer for every application.
\- Always 200. When no reading exists, dataset_freshness is null and availability says why: "not_configured" (dataset dates are not collected in this environment) or "not_yet_collected" (collection is set up, no reading yet).
\- Dates are never estimated. A family whose datasets reported no date is absent from sources. A family where only some datasets reported a date has oldest_updated_at: null.
\- captured_at is when the dates were read. Readings are taken while ongoing monitoring runs, not on each call.

Example call:
curl -X GET "https://verification.didit.me/v3/aml/dataset-freshness/" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- availability - "available", "not_configured" or "not_yet_collected". Check it before reading dataset_freshness.
\- dataset_freshness.captured_at - when the reading was taken.
\- dataset_freshness.sources.<family>.last_updated_at - the most recent update in that family.
\- dataset_freshness.sources.<family>.oldest_updated_at - every dataset in the family is at least this current; null when some dates are missing.
\- dataset_freshness.sources.<family>.dataset_count and dated_dataset_count - how many datasets the family has and how many reported a date.
\- dataset_freshness.catalog_version - the data source's own catalog version, when reported.

Failure modes:
\- 401 - the API key has expired.
\- 403 - missing key (a wrong, revoked or expired key gets 401) ({"detail": "You do not have permission to perform this action."}), a scoped key without sessions: read, a key limited to workflows or approved sessions, or a request from outside the key's IP list.
\- 429 - more than 600 GET requests per minute with this key; wait Retry-After seconds.

Side effects: none. Not billed.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

Вставьте в

Используйте этот endpoint, чтобы увидеть, по каким версиям списков проводился постоянный мониторинг. Сочетайте его с историей скрининга по каждому субъекту, которая описана в разделе [Подтверждение работы мониторинга](https://docs.didit.me/ru/core-technology/aml-screening/continuous-monitoring-aml-screening.md#подтверждение-выполнения-мониторинга): история показывает, когда проверялся каждый субъект, а этот endpoint показывает, насколько актуальными были наборы данных, на которых основаны эти проверки.> [!NOTE]
>
> Отсутствующая дата возвращается как отсутствующая и никогда не заменяется другим значением. Сначала проверьте `availability`: если значение не `available`, `dataset_freshness` равно `null`, и читать нечего.## Связанные материалы- [Постоянный AML-мониторинг](https://docs.didit.me/ru/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [API AML-скрининга](https://docs.didit.me/ru/standalone-apis/aml-screening.md)
- [API-ключи и доступ с ограничением прав](https://docs.didit.me/ru/console/api-keys.md)


## OpenAPI

````yaml ru/openapi-25.json GET /v3/aml/dataset-freshness/
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/dataset-freshness/:
    get:
      tags:
        - Standalone APIs
      summary: Получить актуальность набора данных AML
      description: >-
        Предоставить отчёт об актуальности наборов данных, используемых для
        AML-скрининга, по семействам источников (`sanctions`, `pep`, `warnings`,
        `adverse_media`), в качестве аудиторских доказательств для [постоянного
        AML-мониторинга](https://docs.didit.me/ru/core-technology/aml-screening/continuous-monitoring-aml-screening#подтверждение-выполнения-мониторинга).
        Ответ относится ко всей платформе: пути не содержат сессии, тело не
        содержит данных клиентов, ответ одинаков для каждого приложения.


        Всегда возвращает `200` при валидном ключе. Сначала проверьте
        `availability`: если значение не `available`, то `dataset_freshness`
        равен `null`. Даты никогда не оцениваются приблизительно: семейство,
        наборы данных которого не сообщили дату, отсутствует в `sources`, а для
        семейства, где дату сообщили лишь некоторые наборы данных, установлено
        `oldest_updated_at: null`. Показатели фиксируются во время работы
        постоянного мониторинга, а не при каждом вызове; `captured_at` указывает
        время фиксации.


        API-ключу с ограниченной областью действия требуется разрешение
        `sessions: read`; ключ, ограниченный определёнными сценариями или
        одобренными сессиями, не может вызывать этот endpoint. Плата не
        взимается.
      operationId: get_aml_dataset_freshness
      parameters: []
      responses:
        '200':
          description: >-
            Последнее значение актуальности набора данных или `null` с указанием
            причины.
          content:
            application/json:
              schema:
                type: object
                required:
                  - dataset_freshness
                  - availability
                properties:
                  dataset_freshness:
                    allOf:
                      - $ref: '#/components/schemas/AMLDatasetFreshness'
                    nullable: true
                    description: >-
                      Последнее значение или `null`, если `availability` не
                      равно `available`.
                  availability:
                    type: string
                    enum:
                      - available
                      - not_configured
                      - not_yet_collected
                    description: >-
                      `available`, если показание существует; `not_configured`,
                      если даты наборов данных не собираются в этой среде;
                      `not_yet_collected`, если сбор настроен, но показаний пока
                      нет.
              examples:
                Available:
                  value:
                    dataset_freshness:
                      captured_at: '2026-10-17T06:00:12.345678+00:00'
                      provider: aml_data_source
                      catalog_version: 20261017054500-abc
                      sources:
                        sanctions:
                          last_updated_at: '2026-10-17T04:10:00+00:00'
                          oldest_updated_at: '2026-10-15T22:30:00+00:00'
                          dataset_count: 48
                          dated_dataset_count: 48
                        pep:
                          last_updated_at: '2026-10-16T23:05:00+00:00'
                          oldest_updated_at: null
                          dataset_count: 12
                          dated_dataset_count: 11
                    availability: available
                Not collected yet:
                  value:
                    dataset_freshness: null
                    availability: not_yet_collected
        '401':
          description: >-
            Срок действия API-ключа истёк. Истечь может только ключ, созданный
            со сроком действия; после этой даты каждый запрос с ним возвращает
            `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Запрос запрещён. При отсутствии ключа возвращается стандартное
            сообщение; при неверном, отозванном или истёкшем ключе возвращается
            `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Missing or invalid key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without sessions read:
                  value:
                    detail: This API key has no read access to sessions.
                Key limited to workflows or approved sessions:
                  value:
                    detail: >-
                      This API key only reaches sessions inside its workflow or
                      status limits, so it can't use this endpoint.
                Outside the key's IP list:
                  value:
                    detail: This API key can't be used from this IP address.
        '429':
          description: >-
            Более 600 GET-запросов в минуту с этим API-ключом. Подождите
            указанное в `Retry-After` количество секунд, затем повторите
            попытку.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Throttled:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
          headers:
            Retry-After:
              description: Количество секунд до сброса текущего минутного окна.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Количество разрешённых запросов в минуту в рамках этого бюджета.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Количество оставшихся запросов в текущем окне.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Unix-время, когда окно сбрасывается.
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/aml/dataset-freshness/' \
              -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.retrieve_dataset_freshness()
            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.aml.retrieveDatasetFreshness();
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.AML.RetrieveDatasetFreshness(ctx)\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.aml().retrieveDatasetFreshness();
            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->aml->retrieveDatasetFreshness();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.aml.retrieve_dataset_freshness
            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.Aml.RetrieveDatasetFreshnessAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    AMLDatasetFreshness:
      type: object
      description: >-
        Насколько актуальными были наборы данных AML на момент проведения
        скрининга. Даты никогда не являются приблизительными.
      required:
        - captured_at
        - provider
        - catalog_version
        - sources
      properties:
        captured_at:
          type: string
          format: date-time
          description: >-
            Когда Didit прочитал каталог наборов данных, на основе которого
            определяется эта свежесть.
        provider:
          type: string
          description: >-
            Непрозрачный идентификатор источника данных AML. Обрабатывайте его
            как непрозрачную строку; не создавайте ветвление логики на его
            основе.
          example: aml_data_source
        catalog_version:
          type: string
          nullable: true
          description: >-
            Идентификатор версии каталога наборов данных, если источник его
            сообщает.
        sources:
          type: object
          description: >-
            Актуальность по семействам наборов данных. Семейство, чьи наборы
            данных не сообщили дату обновления, отсутствует в ответе, а не
            заполняется значением `null`.
          properties:
            sanctions:
              $ref: '#/components/schemas/AMLDatasetSourceFreshness'
            pep:
              $ref: '#/components/schemas/AMLDatasetSourceFreshness'
            warnings:
              $ref: '#/components/schemas/AMLDatasetSourceFreshness'
            adverse_media:
              $ref: '#/components/schemas/AMLDatasetSourceFreshness'
    AMLDatasetSourceFreshness:
      type: object
      description: Актуальность одного семейства наборов данных AML.
      required:
        - last_updated_at
        - oldest_updated_at
        - dataset_count
        - dated_dataset_count
      properties:
        last_updated_at:
          type: string
          format: date-time
          description: Самое последнее обновление любого набора данных в семействе.
        oldest_updated_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Граница актуальности: каждый набор данных в семействе актуален как
            минимум на этот момент. `null`, если хотя бы один набор данных в
            семействе не сообщил дату обновления, так как в этом случае граница
            неизвестна.
        dataset_count:
          type: integer
          description: Количество наборов данных в семействе.
        dated_dataset_count:
          type: integer
          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.