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

# Ottieni job di monitoraggio AML API

> Controlla stato, contatori degli esiti e risultati per record di un job di monitoraggio AML continuo avviato dall'endpoint utenti o aziende di Didit.



Prompt per ottenere il job di monitoraggio AML
        Copia il prompt negli appunti



      
      

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



      
      

Incolla in

## PanoramicaRestituisce un job di monitoraggio AML continuo avviato da [Attiva il monitoraggio AML per gli utenti](https://docs.didit.me/it/management-api/aml-monitoring/toggle-users.md) o da [Attiva il monitoraggio AML per le aziende](https://docs.didit.me/it/management-api/aml-monitoring/toggle-businesses.md): il suo stato, i contatori per esito e una voce `results` per ogni utente o azienda elaborata.Le selezioni di oltre 20 profili vengono eseguite in background e la chiamata di attivazione restituisce `202` con un job `PENDING`. Interroga questo endpoint ogni due secondi circa finché `status` non diventa `COMPLETED` o `FAILED`. `results` si riempie man mano che i profili vengono elaborati, nell'ordine di elaborazione, ed è completo quando il job è `COMPLETED`. I risultati per singolo record vengono registrati per i job avviati tramite API; un job avviato dalla Business Console riporta solo i contatori.## Stato del job| `status` | Significato |
| - | - |
| `PENDING` | Accettato, non ancora avviato. |
| `PROCESSING` | In esecuzione; `processed`, `outcomes` e `results` sono in aggiornamento. |
| `COMPLETED` | Ogni profilo ha un risultato. |
| `FAILED` | Il job si è interrotto prima del previsto. `error` contiene un breve messaggio generico e i risultati registrati prima dell'errore vengono conservati. Invia di nuovo la richiesta di attivazione per i profili che non hanno ancora un risultato. |I valori `outcome` per singolo record sono documentati nelle pagine di attivazione.## AutorizzazioniQualsiasi chiave API attiva dell'applicazione può chiamare questo endpoint. Un job è visibile solo all'applicazione che lo ha creato; qualsiasi altro `job_id` restituisce `404`.## Correlati- [Attiva il monitoraggio AML per gli utenti](https://docs.didit.me/it/management-api/aml-monitoring/toggle-users.md)
- [Attiva il monitoraggio AML per le aziende](https://docs.didit.me/it/management-api/aml-monitoring/toggle-businesses.md)
- [Monitoraggio AML continuo](https://docs.didit.me/it/core-technology/aml-screening/continuous-monitoring-aml-screening.md)


## OpenAPI

````yaml it/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 di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/aml-monitoring/jobs/{job_id}/:
    get:
      tags:
        - AML Ongoing Monitoring
      summary: Recupera un job di monitoraggio AML continuo
      description: >-
        Stato, contatori dei risultati ed esiti per record di un job di
        attivazione/disattivazione del monitoraggio avviato da `POST
        /v3/users/aml-monitoring/` o `POST /v3/businesses/aml-monitoring/`.
        Esegui il polling ogni paio di secondi mentre `status` è `PENDING` o
        `PROCESSING`; `results` è completo quando diventa `COMPLETED`.
      operationId: get_aml_monitoring_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Il `job_id` restituito dall'endpoint di attivazione/disattivazione.
      responses:
        '200':
          description: Il job.
          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 quando il job abilita il monitoraggio, false quando
                      lo disabilita.
                  target_type:
                    type: string
                    enum:
                      - user
                      - business
                    description: >-
                      Quale famiglia di profili viene attivata o disattivata dal
                      job.
                  total:
                    type: integer
                    description: Profili elaborati dal job.
                  processed:
                    type: integer
                    description: Profili elaborati finora.
                  outcomes:
                    type: object
                    description: >-
                      Contatori di esito per singolo record. Ogni profilo
                      selezionato corrisponde esattamente a un contatore; nulla
                      viene ignorato silenziosamente.
                    properties:
                      enabled:
                        type: integer
                        description: Monitoraggio abilitato su uno screening AML esistente.
                      screened_and_enabled:
                        type: integer
                        description: >-
                          È stato creato un nuovo screening AML (fatturato) e il
                          relativo monitoraggio è stato abilitato.
                      already_enabled:
                        type: integer
                        description: >-
                          Il monitoraggio era già attivo; non è cambiato nulla e
                          non è stato fatturato nulla.
                      disabled:
                        type: integer
                        description: >-
                          Monitoraggio disattivato su tutti gli screening AML
                          del profilo.
                      skipped_no_identity_data:
                        type: integer
                        description: >-
                          Saltato: il profilo è privo di nome completo, data di
                          nascita e paese (utenti) o di un nome (aziende)
                          necessari per lo screening.
                      skipped_blocked:
                        type: integer
                        description: 'Saltato: l''utente è bloccato.'
                      skipped_sandbox:
                        type: integer
                        description: >-
                          Saltato: applicazione sandbox, non viene creato alcuno
                          screening.
                      failed_provider:
                        type: integer
                        description: >-
                          Impossibile completare lo screening; riprova più
                          tardi.
                      failed_insufficient_balance:
                        type: integer
                        description: >-
                          Il saldo si è esaurito mentre il processo era in
                          esecuzione.
                  results:
                    type: array
                    description: >-
                      Una voce per ogni profilo elaborato, nell'ordine di
                      elaborazione. Aumenta durante l'esecuzione del job;
                      completa una volta che lo stato è COMPLETED. Registrata
                      per i job avviati tramite API; un job avviato dalla
                      Business Console riporta solo i conteggi.
                    items:
                      type: object
                      properties:
                        didit_internal_id:
                          type: string
                          format: uuid
                          description: ID interno Didit del profilo.
                        vendor_data:
                          type: string
                          nullable: true
                          description: Il tuo identificatore per il profilo.
                        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: >-
                      Messaggio di errore generico quando lo stato è FAILED; la
                      causa dettagliata viene conservata lato piattaforma.
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: string
                    format: date-time
                    nullable: true
        '401':
          description: Chiave API mancante o non valida.
        '404':
          description: Nessun job del genere per questa applicazione.
      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 chiave API della tua applicazione, da Developers -> API keys nella
        Business Console. La chiave primaria ha accesso completo. Una chiave con
        nome può avere un ambito definito: nessuno, lettura o scrittura per
        risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco
        di indirizzi IP e a una data di scadenza. 401 indica che la chiave è
        errata, revocata o scaduta; 403 indica che non è stata inviata alcuna
        chiave, che la chiave non ha accesso a questa risorsa o azione, oppure
        che la richiesta proviene da un indirizzo non incluso nel suo elenco IP;
        404 su una route di sessione indica che la sessione non rientra nei
        workflow o negli stati previsti dalla chiave. Una chiave senza accesso
        ai media riceve gli URL di immagini, video e PDF come null, e una chiave
        senza permessi di scrittura sulle sessioni riceve link e token di
        sessione come null. Consulta https://docs.didit.me/console/api-keys.

````

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