> ## 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 d'actualització dels datasets AML

> Consulta l'actualitat dels datasets de sancions, PEP, advertències i mitjans adversos de Didit per família de fonts, com a evidència d'auditoria AML.



Prompt de l'API d'actualitat dels conjunts de dades AML
        Copia el prompt al porta-retalls



      
      

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



      
      

Enganxa a

Utilitza aquest endpoint per mostrar amb quines versions de les llistes va fer el seu cribratge el monitoratge continu. Combina'l amb l'historial de cribratge per subjecte descrit a [Demostrar que el monitoratge s'ha executat](https://docs.didit.me/ca/core-technology/aml-screening/continuous-monitoring-aml-screening.md#demostrar-que-el-monitoratge-s’ha-executat): l'historial indica quan es va cribrar cada subjecte, i aquest endpoint indica com d'actuals eren els conjunts de dades en què es basaven aquests cribratges.> [!NOTE]
>
> Una data que falta s'indica com a absent, mai no se substitueix per una altra. Comprova `availability` primer: quan no sigui `available`, `dataset_freshness` és `null` i no hi ha res a llegir.## Relacionats- [Monitoratge AML continu](https://docs.didit.me/ca/core-technology/aml-screening/continuous-monitoring-aml-screening.md)
- [API de cribratge AML](https://docs.didit.me/ca/standalone-apis/aml-screening.md)
- [Claus d'API i accés amb àmbits](https://docs.didit.me/ca/console/api-keys.md)


## OpenAPI

````yaml ca/openapi-25.json GET /v3/aml/dataset-freshness/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificació d'identitat. Autentica't amb la capçalera x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/aml/dataset-freshness/:
    get:
      tags:
        - Standalone APIs
      summary: Obtenir l'actualitat del conjunt de dades AML
      description: >-
        Informa de com estan d'actualitzats els conjunts de dades que hi ha
        darrere del cribratge AML, per família de fonts (`sanctions`, `pep`,
        `warnings`, `adverse_media`), com a prova d'auditoria per al
        [monitoratge AML
        continu](https://docs.didit.me/ca/core-technology/aml-screening/continuous-monitoring-aml-screening#demostrar-que-el-monitoratge-s’ha-executat).
        La resposta és d'àmbit de plataforma: sense sessió a la ruta, sense
        dades de clients al cos, la mateixa resposta per a cada aplicació.


        Sempre `200` per a una clau acceptada. Comprova primer `availability`:
        quan no és `available`, `dataset_freshness` és `null`. Les dates mai no
        s'estimen: una família els conjunts de dades de la qual no hagin
        informat de cap data no apareix a `sources`, i una família on només
        alguns conjunts de dades n'hagin informat té `oldest_updated_at: null`.
        Les lectures es prenen mentre s'executa el monitoratge continu, no a
        cada crida; `captured_at` n'indica el moment.


        Una clau d'API amb abast limitat necessita `sessions: read`; una clau
        limitada a determinats fluxos de treball o a sessions aprovades no pot
        cridar aquest endpoint. No es factura res.
      operationId: get_aml_dataset_freshness
      parameters: []
      responses:
        '200':
          description: >-
            L'última lectura de l'actualitat del conjunt de dades, o `null` amb
            el motiu.
          content:
            application/json:
              schema:
                type: object
                required:
                  - dataset_freshness
                  - availability
                properties:
                  dataset_freshness:
                    allOf:
                      - $ref: '#/components/schemas/AMLDatasetFreshness'
                    nullable: true
                    description: >-
                      L'última lectura, o `null` quan `availability` no és
                      `available`.
                  availability:
                    type: string
                    enum:
                      - available
                      - not_configured
                      - not_yet_collected
                    description: >-
                      `available` quan existeix una lectura; `not_configured`
                      quan les dates del conjunt de dades no es recullen en
                      aquest entorn; `not_yet_collected` quan la recollida està
                      configurada però encara no existeix cap lectura.
              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: >-
            La clau d'API ha caducat. Només pot caducar una clau creada amb data
            de caducitat; després d'aquesta data, cada sol·licitud que s'hi faci
            rep una resposta `401`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            La sol·licitud no està permesa. Si falta la clau, es rep el missatge
            genèric; una clau incorrecta, revocada o caducada rep un `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: >-
            Més de 600 sol·licituds GET per minut amb aquesta clau d'API. Espera
            el nombre de segons indicat a `Retry-After` i torna-ho a provar.
          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: Segons fins que es restableixi la finestra actual d'un minut.
              schema:
                type: integer
                example: 23
            X-RateLimit-Limit:
              description: Sol·licituds permeses per minut en aquest pressupost.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Sol·licituds restants a la finestra actual.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Temps Unix en què es reinicia la finestra.
              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: >-
        Com d'actualitzats estaven els conjunts de dades AML quan es va executar
        un cribratge. Les dates no s'estimen mai.
      required:
        - captured_at
        - provider
        - catalog_version
        - sources
      properties:
        captured_at:
          type: string
          format: date-time
          description: >-
            Quan Didit ha llegit el catàleg de conjunts de dades d'on prové
            aquesta frescor de les dades.
        provider:
          type: string
          description: >-
            Identificador opac de la font de dades d'AML. Tracta'l com una
            cadena opaca; no hi facis bifurcacions.
          example: aml_data_source
        catalog_version:
          type: string
          nullable: true
          description: >-
            Identificador de versió del catàleg de conjunts de dades, quan la
            font en reporta un.
        sources:
          type: object
          description: >-
            Grau d'actualització per família de conjunts de dades. Si els
            conjunts de dades d'una família no han informat de cap data
            d'actualització, s'omet en lloc d'omplir-se amb `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: Grau d'actualització d'una família de conjunts de dades d'AML.
      required:
        - last_updated_at
        - oldest_updated_at
        - dataset_count
        - dated_dataset_count
      properties:
        last_updated_at:
          type: string
          format: date-time
          description: >-
            Actualització més recent de qualsevol conjunt de dades de la
            família.
        oldest_updated_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Límit d'antiguitat: tots els conjunts de dades de la família estan
            com a mínim així d'actualitzats. `null` quan almenys un conjunt de
            dades de la família no ha informat de cap data d'actualització, ja
            que en aquest cas el límit és desconegut.
        dataset_count:
          type: integer
          description: Nombre de conjunts de dades a la família.
        dated_dataset_count:
          type: integer
          description: >-
            Nombre d'aquests conjunts de dades que han informat d'una data
            d'actualització.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

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