> ## 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 para obtener un trabajo de monitorización AML

> Consulta con la API de Didit el estado, contadores y resultados por registro de un trabajo de monitorización continua AML de usuarios o empresas.



Prompt para obtener un trabajo de monitorización AML
        Copiar el prompt al portapapeles



      
      

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



      
      

Pegar en

## Descripción generalDevuelve un trabajo de monitorización continua de AML iniciado desde [Activar o desactivar la monitorización AML de usuarios](https://docs.didit.me/es/management-api/aml-monitoring/toggle-users.md) o [Activar o desactivar la monitorización AML de empresas](https://docs.didit.me/es/management-api/aml-monitoring/toggle-businesses.md): su estado, los contadores por resultado y una entrada en `results` por cada usuario o empresa procesados.Las selecciones de más de 20 perfiles se ejecutan en segundo plano, y la llamada de activación devuelve `202` con un trabajo en estado `PENDING`. Consulta este endpoint cada pocos segundos hasta que `status` sea `COMPLETED` o `FAILED`. `results` se va completando a medida que se procesan los perfiles, en el orden de procesamiento, y queda completo cuando el trabajo está en `COMPLETED`. Los resultados por registro se guardan para los trabajos iniciados a través de la API; un trabajo iniciado desde la Business Console solo muestra los contadores.## Estado del trabajo| `status` | Significado |
| - | - |
| `PENDING` | Aceptado, aún no ha comenzado. |
| `PROCESSING` | En ejecución; `processed`, `outcomes` y `results` se están actualizando. |
| `COMPLETED` | Todos los perfiles tienen un resultado. |
| `FAILED` | El trabajo se detuvo antes de terminar. `error` contiene un mensaje genérico breve y se conservan los resultados registrados antes del fallo. Vuelve a enviar la solicitud de activación para los perfiles que aún no tienen resultado. |Los valores de `outcome` por registro están documentados en las páginas de activación.## PermisosCualquier clave de API activa de la aplicación puede invocar este endpoint. Un trabajo solo es visible para la aplicación que lo creó; cualquier otro `job_id` devuelve `404`.## Contenido relacionado- [Activar o desactivar la monitorización AML de usuarios](https://docs.didit.me/es/management-api/aml-monitoring/toggle-users.md)
- [Activar o desactivar la monitorización AML de empresas](https://docs.didit.me/es/management-api/aml-monitoring/toggle-businesses.md)
- [Monitorización AML continua](https://docs.didit.me/es/core-technology/aml-screening/continuous-monitoring-aml-screening.md)


## OpenAPI

````yaml es/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 verificación de identidad. Autentícate con el encabezado x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/aml-monitoring/jobs/{job_id}/:
    get:
      tags:
        - AML Ongoing Monitoring
      summary: Obtener un trabajo de monitorización AML continua
      description: >-
        Estado, contadores de resultados y resultados por registro de un trabajo
        de activación o desactivación de la monitorización iniciado desde `POST
        /v3/users/aml-monitoring/` o `POST /v3/businesses/aml-monitoring/`.
        Consulta cada par de segundos mientras `status` sea `PENDING` o
        `PROCESSING`; `results` está completo cuando pasa a `COMPLETED`.
      operationId: get_aml_monitoring_job
      parameters:
        - name: job_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: El `job_id` que devuelve el endpoint de activación.
      responses:
        '200':
          description: El trabajo.
          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 cuando el trabajo activa la monitorización, false
                      cuando la desactiva.
                  target_type:
                    type: string
                    enum:
                      - user
                      - business
                    description: Qué familia de perfiles activa o desactiva el trabajo.
                  total:
                    type: integer
                    description: Perfiles que procesa el trabajo.
                  processed:
                    type: integer
                    description: Perfiles procesados hasta el momento.
                  outcomes:
                    type: object
                    description: >-
                      Contadores de resultados por registro. Cada perfil
                      seleccionado corresponde exactamente a un contador; no se
                      omite nada de forma silenciosa.
                    properties:
                      enabled:
                        type: integer
                        description: Monitorización activada en un análisis AML existente.
                      screened_and_enabled:
                        type: integer
                        description: >-
                          Se creó un nuevo análisis AML (facturado) y se activó
                          la monitorización en él.
                      already_enabled:
                        type: integer
                        description: >-
                          La monitorización ya estaba activa; no se cambió nada
                          y no se facturó nada.
                      disabled:
                        type: integer
                        description: >-
                          Monitorización desactivada en todos los análisis AML
                          del perfil.
                      skipped_no_identity_data:
                        type: integer
                        description: >-
                          Omitido: al perfil le faltan el nombre completo, la
                          fecha de nacimiento y el país (usuarios) o un nombre
                          (empresas) necesarios para el análisis.
                      skipped_blocked:
                        type: integer
                        description: 'Omitido: el usuario está bloqueado.'
                      skipped_sandbox:
                        type: integer
                        description: >-
                          Omitido: aplicación de sandbox, no se crea ningún
                          análisis.
                      failed_provider:
                        type: integer
                        description: >-
                          No se pudo completar el análisis; reinténtalo más
                          tarde.
                      failed_insufficient_balance:
                        type: integer
                        description: El saldo se agotó mientras se ejecutaba el trabajo.
                  results:
                    type: array
                    description: >-
                      Una entrada por perfil procesado, en orden de
                      procesamiento. Crece mientras se ejecuta el trabajo; está
                      completa cuando el estado es COMPLETED. Se registra para
                      los trabajos iniciados a través de la API; un trabajo
                      iniciado desde la Business Console solo informa
                      contadores.
                    items:
                      type: object
                      properties:
                        didit_internal_id:
                          type: string
                          format: uuid
                          description: ID interno de Didit del perfil.
                        vendor_data:
                          type: string
                          nullable: true
                          description: Tu propio identificador del perfil.
                        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: >-
                      Mensaje de error genérico cuando el estado es FAILED; la
                      causa detallada se conserva en la plataforma.
                  created_at:
                    type: string
                    format: date-time
                  completed_at:
                    type: string
                    format: date-time
                    nullable: true
        '401':
          description: Clave de API ausente o no válida.
        '404':
          description: No existe ese trabajo para esta aplicación.
      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 clave de API de tu aplicación, que encontrarás en Developers -> API
        keys en la Business Console. La clave principal tiene acceso completo.
        Una clave con nombre puede tener un alcance limitado: ninguno, lectura o
        escritura por recurso, limitada a algunos flujos o a sesiones aprobadas,
        a una lista de direcciones IP y a una fecha de caducidad. 401 significa
        que la clave es incorrecta, se revocó o expiró; 403 significa que no se
        envió ninguna clave, que la clave no tiene acceso a este recurso o
        acción, o que la solicitud provino de una dirección fuera de su lista de
        IP; 404 en una ruta de sesión significa que la sesión está fuera de los
        flujos o estados de la clave. Una clave sin acceso a contenido
        multimedia recibe las URL de imágenes, videos y PDF como null, y una
        clave sin permiso de escritura en sesiones recibe los enlaces y tokens
        de sesión como null. Consulta https://docs.didit.me/console/api-keys.

````

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