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

> تحقّق من مدى حداثة قوائم العقوبات والأشخاص المعرّضين سياسياً والتحذيرات والأخبار السلبية في Didit، لكل عائلة مصادر، كدليل تدقيق لمراقبة AML.



موجّه API لحداثة مجموعة بيانات AML
        نسخ الموجّه إلى الحافظة



      
      

\<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/ar/core-technology/aml-screening/continuous-monitoring-aml-screening.md#إثبات-تشغيل-المراقبة): يوضح السجل متى فُحص كل كيان، وهذا endpoint يوضح مدى حداثة مجموعات البيانات التي استندت إليها عمليات الفحص تلك.> [!NOTE]
>
> يُبلَّغ عن التاريخ المفقود على أنه مفقود، ولا يُستبدل أبدًا بتاريخ بديل. تحقّق من `availability` أولًا: عندما لا تكون القيمة `available`، تكون قيمة `dataset_freshness` هي `null` ولا يوجد ما يُقرأ.## ذات صلة- [مراقبة AML المستمرة](https://docs.didit.me/ar/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [واجهة برمجة فحص AML](https://docs.didit.me/ar/standalone-apis/aml-screening.md)
- [مفاتيح API والوصول المحدد النطاق](https://docs.didit.me/ar/console/api-keys.md)


## OpenAPI

````yaml ar/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/ar/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 الخاص بتطبيقك، من Developers -> API keys في Business Console.
        يمتلك المفتاح الأساسي وصولاً كاملاً. يمكن تحديد نطاق المفتاح المسمى: لا
        شيء، أو قراءة، أو كتابة لكل مورد، ومحدوداً ببعض مسارات العمل أو بالجلسات
        المقبولة، وبقائمة من عناوين IP، وبتاريخ انتهاء الصلاحية. يشير 401 إلى أن
        المفتاح غير صحيح أو ملغى أو منتهي الصلاحية؛ ويشير 403 إلى أنه لم يتم
        إرسال أي مفتاح، أو أن المفتاح ليس لديه حق الوصول إلى هذا المورد أو
        الإجراء، أو أن الطلب جاء من عنوان خارج قائمة عناوين IP الخاصة به؛ ويشير
        404 في مسار جلسة إلى أن الجلسة خارج مسارات العمل أو الحالات الخاصة
        بالمفتاح. يتلقى المفتاح الذي لا يمتلك حق الوصول إلى الوسائط عناوين URL
        للصور ومقاطع الفيديو وملفات PDF كـ null، ويتلقى المفتاح الذي لا يمتلك
        إذن كتابة للجلسات روابط الجلسة وtoken كـ null. راجع
        https://docs.didit.me/console/api-keys.

````

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