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

# Obtenir une tâche de surveillance AML : API

> Consultez via Didit le statut, les compteurs et les résultats par enregistrement d'une tâche de surveillance AML continue.



Prompt : récupérer une tâche de surveillance AML
        Copier le prompt dans le presse-papiers



      
      

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



      
      

Coller dans

## Vue d'ensembleRenvoie une tâche de surveillance AML continue lancée depuis [Activer ou désactiver la surveillance AML des utilisateurs](https://docs.didit.me/fr/management-api/aml-monitoring/toggle-users.md) ou [Activer ou désactiver la surveillance AML des entreprises](https://docs.didit.me/fr/management-api/aml-monitoring/toggle-businesses.md) : son statut, les compteurs par résultat et une entrée `results` pour chaque utilisateur ou entreprise traité.Les sélections de plus de 20 profils sont traitées en arrière-plan, et l'appel d'activation ou de désactivation renvoie `202` avec une tâche `PENDING`. Interrogez cet endpoint toutes les deux secondes environ, jusqu'à ce que `status` soit `COMPLETED` ou `FAILED`. `results` se remplit au fur et à mesure du traitement des profils, dans l'ordre de traitement, et est complet une fois que la tâche est `COMPLETED`. Les résultats par enregistrement sont conservés pour les tâches lancées via l'API ; une tâche lancée depuis la Business Console ne fournit que des compteurs.## Statut de la tâche| `status` | Signification |
| - | - |
| `PENDING` | Acceptée, pas encore démarrée. |
| `PROCESSING` | En cours d'exécution ; `processed`, `outcomes` et `results` sont en cours de mise à jour. |
| `COMPLETED` | Chaque profil a un résultat. |
| `FAILED` | La tâche s'est arrêtée prématurément. `error` contient un court message générique, et les résultats enregistrés avant l'échec sont conservés. Renvoyez la requête d'activation ou de désactivation pour les profils qui n'ont pas encore de résultat. |Les valeurs de `outcome` par enregistrement sont documentées sur les pages d'activation ou de désactivation.## AutorisationsToute clé API active de l'application peut appeler cet endpoint. Une tâche n'est visible que par l'application qui l'a créée ; tout autre `job_id` renvoie `404`.## Pages associées- [Activer ou désactiver la surveillance AML des utilisateurs](https://docs.didit.me/fr/management-api/aml-monitoring/toggle-users.md)
- [Activer ou désactiver la surveillance AML des entreprises](https://docs.didit.me/fr/management-api/aml-monitoring/toggle-businesses.md)
- [Surveillance AML continue](https://docs.didit.me/fr/core-technology/aml-screening/continuous-monitoring-aml-screening.md)


## OpenAPI

````yaml fr/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 de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/aml-monitoring/jobs/{job_id}/:
    get:
      tags:
        - AML Ongoing Monitoring
      summary: Obtenir une tâche de surveillance AML continue
      description: >-
        Statut, compteurs de résultats et résultats par enregistrement d'une
        tâche de basculement de surveillance initiée depuis `POST
        /v3/users/aml-monitoring/` ou `POST /v3/businesses/aml-monitoring/`.
        Interrogez toutes les deux secondes tant que `status` est à `PENDING` ou
        `PROCESSING` ; `results` est complet dès qu'il passe à `COMPLETED`.
      operationId: get_aml_monitoring_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Le `job_id` renvoyé par l'endpoint de basculement.
      responses:
        '200':
          description: La tâche.
          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 lorsque le traitement active la surveillance, false
                      lorsqu'il la désactive.
                  target_type:
                    type: string
                    enum:
                      - user
                      - business
                    description: Quelle famille de profils la tâche active ou désactive.
                  total:
                    type: integer
                    description: Profils traités par la tâche.
                  processed:
                    type: integer
                    description: Profils traités jusqu'à présent.
                  outcomes:
                    type: object
                    description: >-
                      Compteurs de résultats par enregistrement. Chaque profil
                      sélectionné est associé à exactement un compteur ; rien
                      n'est ignoré silencieusement.
                    properties:
                      enabled:
                        type: integer
                        description: Surveillance activée sur un filtrage AML existant.
                      screened_and_enabled:
                        type: integer
                        description: >-
                          Un nouveau filtrage AML a été créé (facturé) et la
                          surveillance y a été activée.
                      already_enabled:
                        type: integer
                        description: >-
                          La surveillance était déjà active ; rien n'a changé et
                          rien n'a été facturé.
                      disabled:
                        type: integer
                        description: >-
                          Surveillance désactivée sur l'ensemble des filtrages
                          AML du profil.
                      skipped_no_identity_data:
                        type: integer
                        description: >-
                          Ignoré : le profil ne contient pas le nom complet, la
                          date de naissance et le pays (utilisateurs) ou un nom
                          (entreprises) nécessaires pour le filtrage.
                      skipped_blocked:
                        type: integer
                        description: 'Ignoré : l''utilisateur est bloqué.'
                      skipped_sandbox:
                        type: integer
                        description: >-
                          Ignoré : application en sandbox, aucun filtrage n'est
                          créé.
                      failed_provider:
                        type: integer
                        description: >-
                          Le filtrage n'a pas pu être effectué ; réessayez plus
                          tard.
                      failed_insufficient_balance:
                        type: integer
                        description: Le solde a été épuisé pendant l'exécution de la tâche.
                  results:
                    type: array
                    description: >-
                      Une entrée par profil traité, dans l'ordre de traitement.
                      La liste s'allonge pendant l'exécution de la tâche ;
                      complète une fois que le statut est COMPLETED. Enregistré
                      pour les tâches démarrées via l'API ; une tâche démarrée
                      depuis la Business Console ne renvoie que des compteurs.
                    items:
                      type: object
                      properties:
                        didit_internal_id:
                          type: string
                          format: uuid
                          description: Identifiant interne Didit du profil.
                        vendor_data:
                          type: string
                          nullable: true
                          description: Votre propre identifiant pour le profil.
                        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: >-
                      Message d'échec générique lorsque le statut est FAILED ;
                      la cause détaillée est conservée côté plateforme.
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: string
                    format: date-time
                    nullable: true
        '401':
          description: Clé API manquante ou invalide.
        '404':
          description: Aucune tâche de ce type pour cette application.
      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: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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