> ## 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-Datensatz-Aktualität API

> Mit Didit prüfen Sie die Aktualität von Sanktions-, PEP-, Warn- und Negativmedien-Datensätzen je Quellfamilie als AML-Audit-Nachweis.



Prompt für die AML Dataset Freshness API
        Prompt in die Zwischenablage kopieren



      
      

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



      
      

Einfügen in

Verwenden Sie diesen Endpoint, um anzuzeigen, gegen welche Listenversionen die laufende Überwachung geprüft hat. Kombinieren Sie ihn mit dem Verlauf der Screenings pro Subjekt, der unter [Nachweis, dass die Überwachung ausgeführt wurde](https://docs.didit.me/de/core-technology/aml-screening/continuous-monitoring-aml-screening.md#nachweis-über-die-durchführung-der-überwachung) beschrieben ist: Der Verlauf zeigt, wann jedes Subjekt geprüft wurde, und dieser Endpoint zeigt, wie aktuell die Datensätze hinter diesen Screenings waren.> [!NOTE]
>
> Ein fehlendes Datum wird als fehlend ausgewiesen und niemals durch einen Ersatzwert ersetzt. Prüfen Sie zuerst `availability`: Wenn der Wert nicht `available` ist, ist `dataset_freshness` gleich `null`, und es gibt nichts auszulesen.## Verwandte Themen- [Laufende AML-Überwachung](https://docs.didit.me/de/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [AML-Screening-API](https://docs.didit.me/de/standalone-apis/aml-screening.md)
- [API-Schlüssel und bereichsbezogener Zugriff](https://docs.didit.me/de/console/api-keys.md)


## OpenAPI

````yaml de/openapi-25.json GET /v3/aml/dataset-freshness/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/aml/dataset-freshness/:
    get:
      tags:
        - Standalone APIs
      summary: Aktualität des AML-Datensatzes abrufen
      description: >-
        Geben Sie an, wie aktuell die Datensätze hinter dem AML-Screening pro
        Quellenfamilie (`sanctions`, `pep`, `warnings`, `adverse_media`) sind,
        als Audit-Nachweis für die [laufende
        AML-Überwachung](https://docs.didit.me/de/core-technology/aml-screening/continuous-monitoring-aml-screening#nachweis-über-die-durchführung-der-überwachung).
        Die Antwort gilt plattformweit: keine Sitzung im Pfad, keine Kundendaten
        im Body, dieselbe Antwort für jede Anwendung.


        Immer `200` für einen akzeptierten Schlüssel. Prüfen Sie zuerst
        `availability`: Wenn sie nicht `available` ist, ist `dataset_freshness`
        gleich `null`. Datumsangaben werden niemals geschätzt: Eine Familie,
        deren Datensätze kein Datum gemeldet haben, fehlt in `sources`, und eine
        Familie, bei der nur einige Datensätze eines gemeldet haben, weist
        `oldest_updated_at: null` auf. Messungen werden während der laufenden
        Überwachung erfasst, nicht bei jedem Aufruf; `captured_at` gibt den
        Zeitpunkt an.


        Ein berechtigungsbeschränkter API-Schlüssel benötigt `sessions: read`;
        ein Schlüssel, der auf bestimmte Workflows oder genehmigte Sitzungen
        beschränkt ist, kann diesen Endpoint nicht aufrufen. Es wird nichts in
        Rechnung gestellt.
      operationId: get_aml_dataset_freshness
      parameters: []
      responses:
        '200':
          description: >-
            Der neueste Messwert zur Aktualität des Datensatzes oder `null` mit
            der Begründung.
          content:
            application/json:
              schema:
                type: object
                required:
                  - dataset_freshness
                  - availability
                properties:
                  dataset_freshness:
                    allOf:
                      - $ref: '#/components/schemas/AMLDatasetFreshness'
                    nullable: true
                    description: >-
                      Der neueste Messwert oder `null`, wenn `availability`
                      nicht `available` ist.
                  availability:
                    type: string
                    enum:
                      - available
                      - not_configured
                      - not_yet_collected
                    description: >-
                      `available`, wenn ein Messwert vorhanden ist;
                      `not_configured`, wenn Datumsangaben der Datensätze in
                      dieser Umgebung nicht erfasst werden; `not_yet_collected`,
                      wenn die Erfassung eingerichtet ist, aber noch kein
                      Messwert vorliegt.
              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: >-
            Der API-Schlüssel ist abgelaufen. Nur ein Schlüssel, der mit einem
            Ablaufdatum erstellt wurde, kann ablaufen; nach diesem Datum
            antwortet jede Anfrage damit mit `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Die Anfrage ist nicht zulässig. Bei einem fehlenden Schlüssel wird
            die generische Nachricht zurückgegeben; ein falscher, widerrufener
            oder abgelaufener Schlüssel erhält `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: >-
            Mehr als 600 GET-Anfragen pro Minute mit diesem API-Schlüssel.
            Warten Sie die Anzahl der Sekunden in `Retry-After` ab und führen
            Sie dann einen Wiederholungsversuch durch.
          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: >-
                Sekunden bis zum Zurücksetzen des aktuellen
                Ein-Minuten-Fensters.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Pro Minute in diesem Budget zulässige Anfragen.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Im aktuellen Zeitfenster verbleibende Anfragen.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Unix-Zeit, zu der das Zeitfenster zurückgesetzt wird.
              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: >-
        Wie aktuell die AML-Datensätze bei der Durchführung eines Screenings
        waren. Datumsangaben werden niemals geschätzt.
      required:
        - captured_at
        - provider
        - catalog_version
        - sources
      properties:
        captured_at:
          type: string
          format: date-time
          description: >-
            Wann Didit den Datensatzkatalog gelesen hat, aus dem diese
            Aktualität stammt.
        provider:
          type: string
          description: >-
            Opake Kennung der AML-Datenquelle. Als opaken String behandeln;
            nicht danach verzweigen.
          example: aml_data_source
        catalog_version:
          type: string
          nullable: true
          description: >-
            Versionskennung des Datensatzkatalogs, sofern die Quelle eine
            meldet.
        sources:
          type: object
          description: >-
            Aktualität pro Datensatzfamilie. Eine Familie, deren Datensätze kein
            Aktualisierungsdatum gemeldet haben, fehlt, anstatt mit `null`
            gefüllt zu werden.
          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: Aktualität einer Familie von AML-Datensätzen.
      required:
        - last_updated_at
        - oldest_updated_at
        - dataset_count
        - dated_dataset_count
      properties:
        last_updated_at:
          type: string
          format: date-time
          description: Neueste Aktualisierung eines beliebigen Datensatzes in der Familie.
        oldest_updated_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Aktualitätsgrenze: Jeder Datensatz in der Familie ist mindestens so
            aktuell. `null`, wenn mindestens ein Datensatz in der Familie kein
            Aktualisierungsdatum gemeldet hat, da die Grenze dann unbekannt ist.
        dataset_count:
          type: integer
          description: Anzahl der Datensätze in der Familie.
        dated_dataset_count:
          type: integer
          description: Anzahl der Datensätze, die ein Aktualisierungsdatum gemeldet haben.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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