> ## 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 listar sesiones: filtrar sesiones KYC y KYB

> GET /v3/sessions/ de Didit lista sesiones de verificación filtrando por tipo, estado, workflow y vendor data. API unificada KYC + KYB, pago por uso.



Prompt para listar sesiones
        Copiar el prompt al portapapeles



      
      

\<pre>

\`List Didit verification sessions for your application with filters and pagination.

Endpoint:
GET https://verification.didit.me/v3/sessions

Authentication:
Use the x-api-key header with your Didit API key. The key must hold read:sessions.

Query parameters:
\- session_kind ("user" | "business" | "all", default "user") — chooses which kind to list. "user" returns only KYC sessions (backward-compatible default). "business" returns only KYB. "all" concatenates both (KYB rows are appended; not interleaved by timestamp).
\- vendor_data (string) — exact match on your stable identifier.
\- didit_internal_id (UUID) — matches vendor_user_id.
\- status (one or more, comma-separated) — Approved, Declined, In Review, In Progress, Not Started, Expired, Abandoned, Kyc Expired, Resubmitted, Awaiting User.
\- workflow_id (one or more UUIDs, comma-separated).
\- country (one or more ISO-3 codes, comma-separated) — issuing-state for KYC, country_code for KYB.
\- region (one or more, comma-separated).
\- document_type (one or more, comma-separated).
\- date_from, date_to (ISO 8601 date) — inclusive on created_at.
\- search (string) - a complete displayed reference such as S-0001 (user) or B-0001 (business) matches only that session number and kind, ignoring leading zeros and letter case.
Other input searches the existing name, contact, document, registration-number and vendor_data fields.
\- tags (comma-separated tag ids) — sessions that carry any of them.
\- decided_from, decided_to (ISO 8601 datetimes) — sessions whose status last changed at or after / before the value.
\- limit (int, default 50), offset (int, default 0) — limit/offset pagination. Both accept values up to 1000000; larger values return 400.

Per-kind filters (silently ignored on the other kind): is_kyc_to_be_reviewed, status_initialized_as_in_review, session_type, api_service, screened_full_name, document_name, warning.

curl example:
curl -G https://verification.didit.me/v3/sessions/ \
-H "x-api-key: <API_KEY>" \
\--data-urlencode "session_kind=all" \
\--data-urlencode "status=Approved,In Review" \
\--data-urlencode "date_from=2026-01-01" \
\--data-urlencode "limit=50"

Response envelope:
\{
"count": <int>,   // exact up to 100, capped at 100 beyond that: paginate with next
"next": "<url|null>",
"previous": "<url|null>",
"results": [ ...rows ]
}

Every row has:
\- session_id (UUID), session_kind ("user" | "business"), session_number, status, vendor_data, created_at.

KYC row extras: portrait_image, document_type, full_name, country (issuing state), phone_number, email_address, features, didit_internal_id, assignee, waiting_since, sla_due_at, top_warnings, warnings_count.

KYB row extras: workflow_type, workflow_label, company_name, registration_number, country (incorporation).

Each row is a LIGHT projection. For the full feature payload of a row, call GET /v3/session/{session_id}/decision/ — see /sessions-api/retrieve-session.

Failure modes:
\- 401 — invalid API key.
\- 403 — { "detail": "You do not have permission to perform this action." } when the key lacks read:sessions.
\- 400 — malformed UUIDs in filters are silently dropped (no error); malformed ISO dates return { "date_from": ["..."] }.

Common patterns:
\- Build a dashboard: paginate with limit + offset, sort newest-first (server orders by -session_number within each kind).
\- Find pending review queue: status=In Review.
\- Find a specific entity's sessions: vendor_data=<your-id>.
\- Refresh ongoing AML hits: filter by workflow_id of your AML workflow.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

Pegar en

## Filtro por tipo de sesiónUsa el parámetro de consulta `session_kind` para elegir qué tipo de sesiones devolver:| Valor | Devuelve |
| - | - |
| `user` (predeterminado) | Solo sesiones de Verificación de usuarios (KYC). **Comportamiento compatible con versiones anteriores**: omite `session_kind` para obtener este comportamiento. |
| `business` | Solo sesiones de Verificación de empresas (KYB). |
| `all` | Sesiones de Verificación de usuarios y de Verificación de empresas, concatenadas. |Cada fila de la respuesta incluye `session_kind: "user" | "business"` para que tu cliente pueda elegir la estructura fila por fila.## Filtros comunesEstos filtros se aplican a ambos tipos (los filtros exclusivos de usuarios se ignoran cuando `session_kind=business`, y viceversa):| Parámetro de consulta | Descripción |
| - | - |
| `session_kind` | `user`, `business` o `all`. Valor predeterminado: `user`. |
| `vendor_data` | Coincidencia exacta con tu identificador. |
| `status` | Uno o varios estados, separados por comas, escritos exactamente como los devuelve la API: `Approved`, `Declined`, `In Review`, etc. (consulta [Estados de verificación](https://docs.didit.me/es/integration/verification-statuses.md)). |
| `workflow_id` | Filtra por el flujo de verificación (workflow) utilizado. |
| `country` | Filtro por código de país (usuario: `issuing_states`, empresa: `country_code`). |
| `date_from`, `date_to` | Intervalo de fecha de creación (ISO 8601). |
| `tags` | IDs de etiquetas separados por comas. Devuelve las sesiones que tengan cualquiera de ellas. |
| `decided_from`, `decided_to` | Fechas y horas en ISO 8601. Devuelve las sesiones cuyo estado cambió por última vez en ese intervalo (inicio incluido, fin excluido). Estos filtros usan la hora del último cambio de estado, no la hora de creación. |
| `search` | Una referencia mostrada completa, como `S-0001` o `B-0001`, coincide solo con ese número y tipo de sesión, sin tener en cuenta los ceros iniciales ni las mayúsculas y minúsculas. Cualquier otra entrada busca en los campos existentes de nombre, contacto, documento, número de registro y `vendor_data`. |## Ejemplos> [tab] Listar sesiones de Verificación de usuarios (KYC) (predeterminado)
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "vendor_data=user-42"
> ```
>
> **Respuesta (truncada):**
>
> ```json theme={null}
> {
>   "count": 3,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "user",
>       "session_number": 1024,
>       "session_url": "...",
>       "portrait_image": "...",
>       "document_type": "Passport",
>       "full_name": "John Doe",
>       "country": "GBR",
>       "status": "Approved",
>       "vendor_data": "user-42",
>       "didit_internal_id": "...",
>       "created_at": "2026-04-10T09:00:00Z",
>       "features": "ID_VERIFICATION,LIVENESS,FACE_MATCH,AML",
>       "phone_number": "+14155550123",
>       "email_address": "jane@example.com",
>       "additional_details": null
>     }
>   ]
> }
> ```> [tab] Listar sesiones de Verificación de empresas (KYB)
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=business" \
>   --data-urlencode "status=Approved"
> ```
>
> **Respuesta (truncada):**
>
> ```json theme={null}
> {
>   "count": 1,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "business",
>       "session_number": 89,
>       "status": "Approved",
>       "vendor_data": "biz-acme-001",
>       "created_at": "2026-04-01T09:00:00Z",
>       "workflow_id": "wf_kyb_standard",
>       "workflow_type": "business",
>       "workflow_label": "Standard KYB",
>       "company_name": "Acme Corporation Limited",
>       "registration_number": "12345678",
>       "country": "GBR"
>     }
>   ]
> }
> ```> [tab] Listar ambos tipos
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=all" \
>   --data-urlencode "date_from=2026-04-01T00:00:00Z"
> ```
>
> Devuelve filas de Verificación de usuarios y de Verificación de empresas en un único array `results`. Los consumidores deben distinguir cada fila según `session_kind`.
>
> > [!NOTE]
> >
> > El modo `all` concatena los resultados en lugar de intercalarlos por marca de tiempo. Para recorridos mixtos de gran volumen, consulta cada tipo por separado y combínalos en el cliente.## La estructura de las filas varía según el tipoLas filas de Verificación de usuarios (KYC) incluyen: `portrait_image`, `document_type`, `full_name`, `country` (estado emisor), `phone_number`, `email_address` y algunos campos de revisión: `assignee` (el revisor de la Console que tiene asignada la sesión, o `null`), `waiting_since` y `sla_due_at` (solo se rellenan mientras la sesión está en `In Review`), `top_warnings` (las advertencias más importantes, cada una con `risk`, `feature`, `log_type` y `short_description`) y `warnings_count`.Las filas de Verificación de empresas (KYB) incluyen: `workflow_type`, `workflow_label`, `company_name`, `registration_number`, `country` (país de constitución).Ambas contienen: `session_id`, `session_kind`, `session_number`, `status`, `vendor_data`, `created_at`.Consulta la [visión general de sesiones](https://docs.didit.me/es/sessions-api/overview.md) para ver la matriz completa de funciones.## PaginaciónLa paginación usa `limit` (valor predeterminado `50`) y `offset` (valor predeterminado `0`), con URL absolutas `next` y `previous` en la respuesta. Ambos parámetros aceptan valores de hasta `1000000`; un valor mayor devuelve `400`.`count` es exacto hasta `100` y se queda en `100` a partir de ahí, así que no lo uses como total. Sigue solicitando la URL `next` hasta que sea `null`. Con `session_kind=all`, `count` es la suma de ambos tipos, cada uno limitado a `100`.## Relacionado- [Visión general de sesiones](https://docs.didit.me/es/sessions-api/overview.md)
- [Obtener sesión](https://docs.didit.me/es/sessions-api/retrieve-session.md): decisión completa de una sola fila
- [Visión general de empresas](https://docs.didit.me/es/entities/businesses/overview.md): la entidad Business agregada a lo largo de las sesiones
- [Visión general de usuarios](https://docs.didit.me/es/entities/users/overview.md): la entidad User agregada a lo largo de las sesiones


## OpenAPI

````yaml es/openapi-25.json GET /v3/sessions/
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/sessions/:
    get:
      tags:
        - Sessions
      summary: Lista sesiones de verificación (KYC y/o KYB) con filtros y paginación
      description: >-
        Devuelve una lista paginada de las sesiones de verificación de la
        aplicación identificada por tu clave de API, de la más reciente a la más
        antigua (`session_number` en orden descendente).


        **URL canónica:** la ruta es `/v3/sessions/` (con barra final). Las
        solicitudes a `/v3/sessions` sin la barra reciben una redirección `301`
        a la URL con barra, conservando la cadena de consulta; la mayoría de los
        clientes HTTP la siguen de forma transparente en GET.


        **Cuándo usar este endpoint y cuándo los webhooks.** Usa este endpoint
        para paneles, búsquedas de back-office, conciliación y exportaciones por
        lotes. No lo consultes periódicamente para seguir el progreso de
        verificaciones individuales: configura
        [webhooks](/es/integration/webhooks) en su lugar, que envían eventos
        `status.updated` en el momento en que una sesión cambia. Para obtener el
        resultado completo de una sesión, llama a `GET
        /v3/session/{sessionId}/decision/`.


        **Sesiones KYC y KYB.** `session_kind` selecciona qué tipos se listan:

        - `user` (predeterminado): solo sesiones de Verificación de usuarios
        (KYC). Comportamiento compatible con versiones anteriores.

        - `business`: solo sesiones de Verificación de empresas (KYB). Las filas
        tienen una estructura distinta y más reducida (consulta el esquema de la
        respuesta).

        - `all`: ambos tipos en una sola respuesta: la página de KYC y la página
        de KYB para los mismos `limit`/`offset` se concatenan en `results`
        (primero las filas KYC), por lo que una página puede contener hasta `2 x
        limit` filas. `count` es la suma de ambos tipos y `next`/`previous`
        reflejan la paginación del lado KYC. Para una paginación estricta de
        datos mixtos, llama a `user` y `business` por separado.


        Cada fila incluye un discriminador `session_kind` (`"user"` o
        `"business"`).


        **Paginación.** Paginación estándar por limit/offset: `limit` (50 por
        defecto) y `offset` (0 por defecto), con `next`/`previous` como URLs de
        página ya construidas. Para las filas KYC, `count` es exacto. Para las
        filas KYB, `count` se calcula con un recorrido acotado y tiene un máximo
        de 100: cuando hay más de 100 coincidencias se queda en 100, así que
        itera usando `next` (o comprobando si se devolvió una página completa)
        en lugar de calcular el total de páginas a partir de `count`.


        **Semántica de los filtros.** Todos los filtros se combinan con AND y se
        aplican a las filas KYC. Cuando `session_kind` es `business` o `all`, el
        lado KYB respeta los parámetros compartidos `vendor_data`, `status`,
        `workflow_id`, `country` (código de país de la empresa en el registro),
        `date_from`, `date_to`, `search` (nombre de la empresa, número de
        registro —escribe los números de registro sin separadores, por ejemplo
        `DPC001` y no `DPC-001`—, vendor_data, número de sesión o UUID de la
        sesión), `warning` y `organization_name`; los demás filtros exclusivos
        de KYC se ignoran para las filas KYB. Los parámetros separados por comas
        (`status`, `country`, `document_type`, `region`, `workflow_id`,
        `document_name`, `warning`, `organization_name`, `session_type`)
        coinciden con cualquiera de los valores indicados (OR dentro del
        parámetro). `vendor_data` es una coincidencia exacta: usa `search` para
        coincidencias parciales. Los valores desconocidos en los filtros de
        lista simplemente no devuelven filas (sin error); los valores con tipo
        mal formados (`date_from`, `date_to`, `didit_internal_id`,
        `api_service`, `session_kind`) devuelven `400` con un objeto de error
        por campo.


        **Búsqueda.** `search` se adapta a la entrada: un UUID completo busca
        por `session_id`; los dígitos (con `+ - . space` opcionales, es decir,
        signo más, guion, punto o espacio) coinciden con el prefijo del número
        de sesión, números de documento o personales, el prefijo del número de
        teléfono o `vendor_data`; los valores que contienen `@` coinciden con
        prefijos de correo electrónico; cualquier otro texto coincide con
        nombres (sin distinguir acentos) y con `vendor_data`.


        No se aplica un límite de solicitudes fijo por endpoint, pero consulta
        la lista con poca frecuencia y usa los webhooks para las actualizaciones
        en tiempo real.
      operationId: get_v3_sessions
      parameters:
        - name: session_kind
          in: query
          required: false
          description: >-
            Qué tipo de sesiones listar: `user` (solo KYC, valor
            predeterminado), `business` (solo KYB) o `all` (ambas, concatenadas;
            consulta la descripción para conocer la semántica de la paginación
            combinada). La coincidencia no distingue mayúsculas de minúsculas
            (`BUSINESS` funciona); cualquier valor que no sea una variante en
            mayúsculas o minúsculas de `user`/`business`/`all` devuelve `400`.
          schema:
            type: string
            enum:
              - user
              - business
              - all
            default: user
          example: all
        - name: limit
          in: query
          required: false
          description: >-
            Número máximo de filas por página (por tipo cuando
            `session_kind=all`). El valor predeterminado es 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 20
        - name: offset
          in: query
          required: false
          description: >-
            Número de filas que se omiten antes de la primera fila devuelta. El
            valor predeterminado es 0. Es preferible seguir las URL
            `next`/`previous` de la respuesta.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 20
        - name: status
          in: query
          required: false
          description: >-
            Lista separada por comas de los estados de sesión que se incluirán,
            por ejemplo, `Approved,In Review`. Los valores distinguen mayúsculas
            de minúsculas; consulta [Estados de
            verificación](/es/integration/verification-statuses). Los valores
            desconocidos no coinciden con nada.
          schema:
            type: string
          example: Approved,In Review
        - name: vendor_data
          in: query
          required: false
          description: >-
            Filtro de coincidencia exacta sobre el `vendor_data` que enviaste al
            crear la sesión (tu propio identificador de usuario o empresa). Para
            coincidencias parciales, usa `search`.
          schema:
            type: string
          example: your-user-id-123
        - name: search
          in: query
          required: false
          description: >-
            Una referencia completa tal como se muestra, como `S-0001` (usuario)
            o `B-0001` (empresa), coincide solo con ese número y tipo de sesión;
            los ceros iniciales y las mayúsculas o minúsculas no afectan a la
            coincidencia. Búsqueda inteligente de texto libre. Un UUID completo
            coincide con `session_id`; una entrada numérica coincide con el
            prefijo del número de sesión, números de documento o personales, el
            prefijo de teléfono o `vendor_data`; una entrada que contiene `@`
            coincide con prefijos de correo electrónico; el resto del texto
            coincide con nombres (sin distinguir acentos) y `vendor_data`. El
            texto libre que contiene dígitos también coincide con los campos de
            búsqueda de números de documento o personales y con los prefijos del
            número de sesión.
          schema:
            type: string
          example: jane doe
        - name: workflow_id
          in: query
          required: false
          description: >-
            UUID de flujos separados por comas (los encontrarás en la página
            Workflows de la Console). Los UUID mal formados de la lista se
            ignoran; si ninguno es válido, el resultado queda vacío.
          schema:
            type: string
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        - name: date_from
          in: query
          required: false
          description: >-
            Solo sesiones creadas en esta fecha o después (UTC), con formato
            `YYYY-MM-DD`. Las fechas mal formadas devuelven `400`.
          schema:
            type: string
            format: date
          example: '2026-06-01'
        - name: date_to
          in: query
          required: false
          description: >-
            Solo sesiones creadas hasta esta fecha (UTC), con formato
            `YYYY-MM-DD`. En las filas de KYC se incluye el día completo; en las
            filas de KYB la comparación es `created_at <= date_to` (medianoche),
            así que usa la fecha del día siguiente para incluir un día completo
            de sesiones de KYB.
          schema:
            type: string
            format: date
          example: '2026-06-30'
        - name: tags
          in: query
          required: false
          schema:
            type: string
          description: >-
            IDs de etiquetas separados por comas (`tags` de tu aplicación).
            Devuelve las sesiones que tengan cualquiera de ellas. Los IDs que no
            son UUID válidos se ignoran y, si ninguno es válido, la lista queda
            vacía.
        - name: decided_from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            Fecha y hora ISO 8601. Devuelve las sesiones cuyo estado cambió por
            última vez en ese momento o después. Filtra por la hora del último
            cambio de estado, no por la hora de creación.
        - name: decided_to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            Fecha y hora ISO 8601. Devuelve las sesiones cuyo estado cambió por
            última vez antes de ese momento. Combínalo con `decided_from` para
            obtener un intervalo semiabierto.
        - name: country
          in: query
          required: false
          description: >-
            Filtro de país separado por comas. Para las filas de KYC: códigos
            ISO 3166-1 alfa-3 del Estado emisor del documento de identidad (por
            ejemplo, `ESP,USA`), que puede diferir de la nacionalidad. Para las
            filas de KYB: el código de país de la empresa en el registro.
          schema:
            type: string
          example: ESP,USA
        - name: document_type
          in: query
          required: false
          description: >-
            Códigos de tipo de documento de identidad verificados en la sesión,
            separados por comas (solo filas de KYC): `P` (pasaporte), `ID`
            (documento de identidad), `DL` (licencia de conducir), `RP` (permiso
            de residencia), `SSC` (tarjeta de seguridad social), `HIC` (tarjeta
            de seguro médico), `WP` (permiso de trabajo), `TC` (tarjeta fiscal),
            `VISA`, `PSC` (tarjeta de servicios públicos), `BC` (certificado de
            nacimiento), `OTHER`. Ten en cuenta que el campo `document_type` de
            la respuesta contiene el nombre visible, no el código.
          schema:
            type: string
          example: P,ID
        - name: document_name
          in: query
          required: false
          description: >-
            Nombres exactos de documentos; se pueden pasar varios nombres
            separados por comas, pero el valor solo se divide por comas cuando
            contiene más de un separador ` - ` (un nombre único con una coma
            interna se compara completo). Los nombres son los que reconoce la
            verificación de documentos (anverso o reverso), por ejemplo `Spain -
            Id Card (2021)`. Solo filas de KYC.
          schema:
            type: string
          example: Spain - Id Card (2021)
        - name: region
          in: query
          required: false
          description: >-
            Valores de región o estado del documento separados por comas (para
            documentos emitidos por región, como las licencias de conducir de
            EE. UU.). Solo filas de KYC.
          schema:
            type: string
          example: CA,TX
        - name: didit_internal_id
          in: query
          required: false
          description: >-
            Filtra por el identificador interno de usuario de Didit (el campo de
            respuesta `didit_internal_id`) para listar todas las sesiones de un
            usuario verificado. Debe ser un UUID válido; los valores mal
            formados devuelven `400`. Solo filas de KYC.
          schema:
            type: string
            format: uuid
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        - name: session_type
          in: query
          required: false
          description: >-
            Canales de creación de sesión separados por comas: `API`, `HOSTED`,
            `MIGRATED`. El valor especial `ALL` (u omitir el parámetro)
            desactiva el filtro. Solo filas de KYC.
          schema:
            type: string
          example: HOSTED
        - name: api_service
          in: query
          required: false
          description: >-
            Filtrar las sesiones de API independientes por servicio. Los valores
            no válidos devuelven `400`. Solo filas KYC.
          schema:
            type: string
            enum:
              - ID_VERIFICATION
              - FACE_MATCH
              - AGE_ESTIMATION
              - FACE_SEARCH
              - POA
              - AML
              - KYB_REGISTRY
              - PASSIVE_LIVENESS
              - DATABASE_VALIDATION
              - PHONE_VERIFICATION
              - EMAIL_VERIFICATION
          example: AML
        - name: screened_full_name
          in: query
          required: false
          description: >-
            Búsqueda por nombre, sin distinguir acentos, en los datos analizados
            por AML y por la validación de base de datos. Si se combina con
            `api_service=AML` o `api_service=DATABASE_VALIDATION`, la búsqueda
            se limita a los datos analizados por esa función. Solo filas de KYC.
          schema:
            type: string
          example: Jane Doe
        - name: warning
          in: query
          required: false
          description: >-
            Códigos de riesgo de advertencias separados por comas. Devuelve las
            sesiones que generaron cualquiera de ellos (p. ej.,
            `POSSIBLE_FRAUD`). Los códigos de riesgo de cada función aparecen en
            la [documentación de advertencias](/es/integration/webhooks). Se
            aplica a las filas de KYC y, con códigos de advertencia de empresa,
            a las filas de KYB.
          schema:
            type: string
          example: POSSIBLE_FRAUD
        - name: status_initialized_as_in_review
          in: query
          required: false
          description: >-
            Si es `true`, solo las sesiones cuya decisión quedó inicialmente en
            `In Review` (útil para auditar el volumen de revisión manual). Solo
            filas de KYC.
          schema:
            type: boolean
          example: true
        - name: is_kyc_to_be_reviewed
          in: query
          required: false
          description: >-
            `true` devuelve las sesiones cuya verificación de documentos está
            marcada para revisión manual; `false` devuelve las sesiones cuya
            verificación de documentos explícitamente no está marcada. Omítelo
            para desactivar el filtro. Solo filas de KYC.
          schema:
            type: boolean
          example: true
        - name: euuid
          in: query
          required: false
          description: >-
            Filtrar por el euuid del usuario final (UUID asignado al usuario que
            se verifica, usado por los enlaces directos de la Console). Debe ser
            un UUID válido; los valores mal formados devuelven un error de campo
            400. Solo filas KYC.
          schema:
            type: string
            format: uuid
          example: 0f8fad5b-d9cb-469f-a165-70867728950e
        - name: organization_name
          in: query
          required: false
          description: >-
            Nombres de organización separados por comas. Orientado a la consola;
            con una clave de API (ya limitada a una aplicación) solo coincide
            con el nombre de tu propia organización.
          schema:
            type: string
          example: Acme Inc
      responses:
        '200':
          description: >-
            Lista paginada de sesiones. Los elementos de `results` son filas de
            KYC, de KYB o de ambos tipos según `session_kind`; distínguelos con
            el campo `session_kind` de cada fila.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      Número de sesiones que coinciden con los filtros: exacto
                      hasta 100 y limitado a 100 por encima de esa cifra, así
                      que no lo uses como total. Usa `next` para saber si hay
                      más páginas. Con `session_kind=all` es la suma de ambos
                      tipos, cada uno limitado a 100.
                    example: 2
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluta de la página siguiente, o `null` en la última
                      página.
                    example: >-
                      https://verification.didit.me/v3/sessions/?limit=20&offset=20
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluta de la página anterior, o `null` en la primera
                      página.
                    example: null
                  results:
                    type: array
                    description: >-
                      Filas de sesiones, de la más reciente a la más antigua.
                      Con `session_kind=all`, primero van las filas KYC y
                      después las KYB.
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/UserSessionListItem'
                        - $ref: '#/components/schemas/BusinessSessionListItem'
                      discriminator:
                        propertyName: session_kind
                        mapping:
                          user: '#/components/schemas/UserSessionListItem'
                          business: '#/components/schemas/BusinessSessionListItem'
              examples:
                KYC sessions (default):
                  summary: 'session_kind=user: una sesión completada y otra sin iniciar'
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: >-
                          https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
                        document_type: Passport
                        full_name: Jane Marie Doe
                        country: ESP
                        status: Approved
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Approved
                          - feature: LIVENESS
                            status: Approved
                          - feature: FACE_MATCH
                            status: Approved
                          - feature: AML
                            status: Approved
                          - feature: IP_ANALYSIS
                            status: Approved
                        phone_number:
                          number: '+14155552671'
                          is_verified: true
                        email_address:
                          email: jane@example.com
                          is_verified: true
                        additional_details:
                          aml:
                            total_hits: 0
                            entity_type: person
                            is_adverse_media_fetched: false
                          liveness:
                            method: PASSIVE
                            score: 0.98
                          face_match:
                            score: 0.95
                      - session_id: 038ad62f-5ebd-46c2-afe9-4b2956bf687f
                        session_kind: user
                        session_number: 719
                        session_url: https://verify.didit.me/session/7RGKiO6ioGH6
                        portrait_image: null
                        document_type: null
                        full_name: null
                        country: null
                        status: Not Started
                        vendor_data: your-user-id-124
                        didit_internal_id: eb4e679d-ca4b-461f-9685-687bac29ebdb
                        created_at: '2026-06-09T08:02:23.343053Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Not Finished
                          - feature: LIVENESS
                            status: Not Finished
                          - feature: FACE_MATCH
                            status: Not Finished
                          - feature: AML
                            status: Not Finished
                          - feature: IP_ANALYSIS
                            status: Not Finished
                        phone_number: null
                        email_address: null
                        additional_details: null
                Mixed KYC + KYB (session_kind=all):
                  summary: 'session_kind=all: una fila de KYC seguida de una fila de KYB'
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: null
                        document_type: Identity Card
                        full_name: Jane Marie Doe
                        country: ESP
                        status: In Review
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: In Review
                          - feature: LIVENESS
                            status: Approved
                        phone_number: null
                        email_address: null
                        additional_details:
                          liveness:
                            method: PASSIVE
                            score: 0.98
                      - session_id: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
                        session_kind: business
                        session_number: 42
                        status: Approved
                        vendor_data: your-company-id-77
                        created_at: '2026-06-08T09:14:02.118450Z'
                        workflow_id: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
                        workflow_type: kyb
                        workflow_label: Standard KYB
                        company_name: Acme Holdings S.L.
                        registration_number: B12345678
                        country: ES
        '301':
          description: >-
            Redirección a la URL canónica con barra final. Se devuelve cuando la
            ruta de la solicitud es `/v3/sessions` (sin barra final); el
            encabezado `Location` apunta a `/v3/sessions/` y conserva la cadena
            de consulta. Los clientes GET normalmente la siguen de forma
            automática.
        '400':
          description: >-
            Parámetro de consulta no válido. El cuerpo es un objeto cuyas claves
            son los parámetros erróneos.
          content:
            application/json:
              examples:
                Invalid session_kind:
                  summary: session_kind no es user/business/all
                  value:
                    session_kind: Must be "user", "business", or "all".
                Invalid date:
                  summary: date_from/date_to con formato incorrecto
                  value:
                    date_from:
                      - Enter a valid date.
                Invalid didit_internal_id:
                  summary: didit_internal_id no es un UUID
                  value:
                    didit_internal_id:
                      - Enter a valid UUID.
                Invalid api_service:
                  summary: api_service no está entre los valores permitidos
                  value:
                    api_service:
                      - >-
                        Select a valid choice. FOO is not one of the available
                        choices.
        '403':
          description: >-
            Falta la clave de API, tiene un formato incorrecto o fue revocada.
            Si falta la clave, se devuelve `403`; si es incorrecta, fue revocada
            o expiró, se devuelve `401`.


            **Aplicación eliminada:** durante unos minutos después de eliminar
            una aplicación, una solicitud hecha con una de sus claves de API
            puede responder `{"detail": "This application was deleted.", "code":
            "application_deleted"}`. No vuelvas a intentarlo: la aplicación y
            sus claves de API ya no existen. Pasados esos minutos, la clave se
            rechaza como cualquier otra clave no válida.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: You do not have permission to perform this action.
                  code:
                    type: string
                    description: >-
                      Motivo legible por máquina, presente solo en algunos
                      fallos. `application_deleted`: la clave de API pertenece a
                      una aplicación que se eliminó.
                    example: application_deleted
                required:
                  - detail
              examples:
                Forbidden:
                  summary: x-api-key ausente o no válido
                  value:
                    detail: You do not have permission to perform this action.
                ApplicationDeleted:
                  summary: Clave de API de una aplicación eliminada
                  value:
                    detail: This application was deleted.
                    code: application_deleted
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -s
            'https://verification.didit.me/v3/sessions/?status=Approved,In%20Review&date_from=2026-06-01&limit=20'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.sessions.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.sessions.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Sessions.ListAutoPaging(ctx, didit.SessionsListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.sessions().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->sessions->list() as $item) {
                print_r($item);
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.sessions.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Sessions.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    UserSessionListItem:
      title: 'KYC session row (session_kind: user)'
      type: object
      description: >-
        Fila de resumen de una sesión de Verificación de usuarios (KYC). Los
        campos de identidad (`full_name`, `country`, `document_type`,
        `portrait_image`, campos de contacto) se rellenan progresivamente a
        medida que el usuario completa los pasos de verificación y son `null`
        hasta que finaliza el paso correspondiente. Los campos restringidos por
        la configuración de atributos de respuesta del flujo también se
        devuelven como `null`.
      required:
        - session_id
        - session_kind
        - session_number
        - session_url
        - portrait_image
        - document_type
        - full_name
        - country
        - status
        - vendor_data
        - didit_internal_id
        - created_at
        - features
        - phone_number
        - email_address
        - additional_details
      properties:
        session_id:
          type: string
          format: uuid
          description: >-
            Identificador único de la sesión de verificación. Úsalo con `GET
            /v3/session/{sessionId}/decision/` para obtener el payload completo
            de la decisión.
          example: 5b3720ed-d429-42ef-b67f-37ea805f48ee
        session_kind:
          type: string
          enum:
            - user
          description: >-
            Discriminador de fila. Siempre `"user"` en las filas KYC; las filas
            de Verificación de empresas (KYB) tienen `"business"` y una
            estructura diferente.
          example: user
        session_number:
          type: integer
          description: >-
            Número secuencial legible de la sesión dentro de tu aplicación. El
            parámetro `search` también lo busca.
          example: 720
        session_url:
          type: string
          nullable: true
          description: >-
            URL de verificación alojada que el usuario final abre para completar
            el flujo. `null` cuando la sesión no tiene URL alojada.
          example: https://verify.didit.me/session/CuXoBYCYVO5Y
        portrait_image:
          type: string
          nullable: true
          description: >-
            URL temporal (prefirmada) del mejor retrato disponible: la foto del
            chip NFC cuando está disponible; si no, el retrato del documento de
            identidad; y si no, la imagen de referencia de la prueba de vida.
            `null` hasta que exista alguna de ellas. Descárgala cuanto antes; el
            enlace expira.
          example: >-
            https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
        document_type:
          type: string
          nullable: true
          enum:
            - Passport
            - Identity Card
            - Driver's License
            - Residence Permit
            - Health Insurance Card
            - Tax Card
          description: >-
            Tipo legible del documento de identidad verificado. `null` antes de
            que finalice la verificación del documento, y también `null` después
            de finalizar cuando el código verificado no tiene un valor de
            visualización asociado (`SSC`, `WP`, `VISA`, `PSC`, `BC`, `OTHER`).
            Nota: el parámetro de consulta `document_type` filtra por códigos
            cortos (`P`, `ID`, `DL`, `RP`, ...), no por estos valores de
            visualización.
          example: Passport
        full_name:
          type: string
          nullable: true
          description: >-
            Mejor nombre completo disponible para la sesión. Se resuelve en este
            orden: OCR del documento de identidad, datos analizados en AML,
            datos analizados en la validación de base de datos, documento de
            prueba de domicilio y, por último, los datos esperados
            proporcionados al crear la sesión. `null` cuando aún no hay ninguno
            disponible.
          example: Jane Marie Doe
        country:
          type: string
          nullable: true
          description: >-
            País ISO 3166-1 alpha-3 asociado a la sesión, determinado en este
            orden: estado emisor del documento de identidad, estado emisor de la
            validación de base de datos, estado emisor de la prueba de
            domicilio, datos esperados y, por último, el país del teléfono
            verificado. Puede diferir de la nacionalidad.
          example: ESP
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            Estado global de la sesión. Consulta la página [Estados de
            verificación](/es/integration/verification-statuses) para ver el
            ciclo de vida.
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: >-
            Tu propio identificador del usuario final, devuelto exactamente como
            se envió al crear la sesión.
          example: your-user-id-123
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Identificador interno de Didit del perfil de usuario verificado
            asociado a esta sesión. Es estable entre varias sesiones del mismo
            usuario; se puede filtrar mediante el parámetro de consulta
            `didit_internal_id`.
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        created_at:
          type: string
          format: date-time
          description: Marca de tiempo UTC en la que se creó la sesión.
          example: '2026-06-09T12:26:54.328364Z'
        features:
          type: array
          description: >-
            Estado por función de cada paso de verificación configurado en el
            flujo de la sesión, en el orden del flujo.
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                enum:
                  - ID_VERIFICATION
                  - NFC
                  - LIVENESS
                  - FACE_MATCH
                  - POA
                  - QUESTIONNAIRE
                  - EMAIL_VERIFICATION
                  - PHONE
                  - AML
                  - IP_ANALYSIS
                  - AGE_ESTIMATION
                  - DATABASE_VALIDATION
                  - GEOLOCATION
                description: Identificador de la función de verificación.
                example: ID_VERIFICATION
              status:
                type: string
                enum:
                  - Not Finished
                  - Approved
                  - Declined
                  - In Review
                  - Resub Requested
                description: >-
                  Estado de esta función. `Not Finished` hasta que se completa
                  el paso.
                example: Approved
        phone_number:
          type: object
          nullable: true
          description: >-
            Teléfono asociado a la sesión: el teléfono verificado si se ejecutó
            la verificación de teléfono; si no, el teléfono de contacto indicado
            al crear la sesión. `null` cuando no existe ninguno de los dos.
          required:
            - number
            - is_verified
          properties:
            number:
              type: string
              description: Número de teléfono en formato E.164.
              example: '+14155552671'
            is_verified:
              type: boolean
              description: >-
                `true` solo cuando la función de verificación de teléfono aprobó
                este número.
              example: true
        email_address:
          type: object
          nullable: true
          description: >-
            Correo electrónico asociado a la sesión: el correo verificado cuando
            se ejecutó la verificación de correo electrónico; en caso contrario,
            el correo de contacto proporcionado al crear la sesión. `null`
            cuando no existe ninguno.
          required:
            - email
            - is_verified
          properties:
            email:
              type: string
              format: email
              example: jane@example.com
            is_verified:
              type: boolean
              description: >-
                `true` solo cuando la función de verificación de correo
                electrónico aprobó esta dirección.
              example: true
        additional_details:
          type: object
          nullable: true
          description: >-
            Datos adicionales compactos por función. Solo aparecen como claves
            las funciones que produjeron datos; es `null` cuando ninguna función
            produjo datos adicionales. Se omiten los campos excluidos por la
            configuración de atributos de respuesta del flujo.
          properties:
            aml:
              type: object
              description: Presente cuando se ejecutó el análisis AML.
              properties:
                total_hits:
                  type: integer
                  description: Número de coincidencias del análisis AML.
                  example: 0
                entity_type:
                  type: string
                  description: Tipo de entidad analizada.
                  example: person
                is_adverse_media_fetched:
                  type: boolean
                  example: false
                screened_data:
                  type: object
                  description: >-
                    Subconjunto de los datos analizados. Solo se incluyen las
                    claves que no están vacías.
                  properties:
                    nationality:
                      type: string
                      example: ESP
                    document_number:
                      type: string
                      example: XX1234567
                    date_of_birth:
                      type: string
                      example: '1990-05-21'
            database_validation:
              type: object
              description: Presente cuando se ejecutó la validación de base de datos.
              properties:
                validation_type:
                  type: string
                  example: DOCUMENT_VALIDATION
                match_type:
                  type: string
                  example: FULL_MATCH
                identification_number:
                  type: string
                  description: >-
                    Número fiscal, personal o de documento que se validó (el
                    primero disponible).
                  example: 12345678Z
            poa:
              type: object
              description: Presente cuando se ejecutó la prueba de domicilio.
              properties:
                document_type:
                  type: string
                  example: UTILITY_BILL
                issuer:
                  type: string
                  example: Energy Co
                address:
                  type: string
                  example: Calle Mayor 1, 28013 Madrid
                name_on_document:
                  type: string
                  example: Jane Marie Doe
            liveness:
              type: object
              description: Presente cuando se ejecutó una prueba de vida.
              properties:
                method:
                  type: string
                  example: PASSIVE
                score:
                  type: number
                  description: >-
                    Puntuación de confianza de la prueba de vida, redondeada a 2
                    decimales.
                  example: 0.98
            face_match:
              type: object
              description: Presente cuando se ejecutó la coincidencia facial.
              properties:
                score:
                  type: number
                  description: >-
                    Puntuación de similitud de la coincidencia facial,
                    redondeada a 2 decimales.
                  example: 0.95
                source_image:
                  type: string
                  description: URL temporal (prefirmada) de la imagen facial de origen.
                  example: https://<media-host>/faces/source.jpg?X-Amz-Expires=3600&...
                target_image:
                  type: string
                  description: URL temporal (prefirmada) de la imagen facial de destino.
                  example: https://<media-host>/faces/target.jpg?X-Amz-Expires=3600&...
            phone_verification:
              type: object
              description: Presente cuando se ejecutó la verificación de teléfono.
              properties:
                country_code:
                  type: string
                  description: País ISO 3166-1 alpha-2 del número de teléfono.
                  example: US
                is_temporary:
                  type: boolean
                  example: false
                is_ported:
                  type: boolean
                  example: false
                is_blocked:
                  type: boolean
                  example: false
            email_verification:
              type: object
              description: >-
                Presente cuando se ejecutó la verificación de correo
                electrónico.
              properties:
                is_breached:
                  type: boolean
                  example: false
                is_disposable:
                  type: boolean
                  example: false
                is_undeliverable:
                  type: boolean
                  example: false
                is_blocklisted:
                  type: boolean
                  example: false
        assignee:
          type: object
          nullable: true
          description: >-
            El revisor de la consola al que está asignada la sesión, o `null`
            cuando nadie la tiene asignada.
          properties:
            email:
              type: string
              format: email
            assigned_at:
              type: string
              format: date-time
              nullable: true
        waiting_since:
          type: string
          format: date-time
          nullable: true
          description: >-
            Fecha y hora en que la sesión empezó a esperar revisión. `null`
            salvo que la sesión esté en `In Review`.
        sla_due_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Fecha límite de la revisión, según el plazo de revisión configurado
            para tu aplicación en la Console. `null` salvo que la sesión esté en
            `In Review` y haya un plazo configurado.
        top_warnings:
          type: array
          description: >-
            Unas pocas de las advertencias más importantes de la sesión, como
            máximo, para una vista rápida de triaje. La lista completa está en
            la decisión.
          items:
            type: object
            properties:
              risk:
                type: string
                description: >-
                  Código de advertencia, por ejemplo
                  `FACE_MATCH_LOW_SIMILARITY`.
              feature:
                type: string
                description: La función que la generó.
              log_type:
                type: string
                nullable: true
                description: '`error` o `warning`; `null` para una entrada heredada.'
              short_description:
                type: string
        warnings_count:
          type: integer
          description: Número de advertencias de la sesión.
    BusinessSessionListItem:
      title: 'KYB session row (session_kind: business)'
      type: object
      description: >-
        Fila de resumen de una sesión de Verificación de empresas (KYB). Solo se
        devuelve cuando `session_kind` es `business` o `all`.
      required:
        - session_id
        - session_kind
        - session_number
        - status
        - vendor_data
        - created_at
        - workflow_id
        - workflow_type
        - workflow_label
        - company_name
        - registration_number
        - country
      properties:
        session_id:
          type: string
          format: uuid
          description: Identificador único de la sesión de verificación de empresas.
          example: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
        session_kind:
          type: string
          enum:
            - business
          description: Discriminador de fila. Siempre `"business"` en las filas KYB.
          example: business
        session_number:
          type: integer
          description: >-
            Número secuencial legible de la sesión de empresa dentro de tu
            aplicación. Se numera de forma independiente de las sesiones KYC.
          example: 42
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            Estado global de la sesión. Consulta la página [Estados de
            verificación](/es/integration/verification-statuses).
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: >-
            Tu propio identificador de la empresa, devuelto exactamente como se
            envió al crear la sesión.
          example: your-company-id-77
        created_at:
          type: string
          format: date-time
          description: Marca de tiempo UTC en la que se creó la sesión.
          example: '2026-06-08T09:14:02.118450Z'
        workflow_id:
          type: string
          format: uuid
          nullable: true
          description: Identificador del flujo con el que se creó esta sesión.
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        workflow_type:
          type: string
          nullable: true
          description: Tipo de flujo. `kyb` para los flujos de empresas.
          example: kyb
        workflow_label:
          type: string
          nullable: true
          description: Nombre visible del flujo.
          example: Standard KYB
        company_name:
          type: string
          nullable: true
          description: >-
            Nombre de la empresa que se verifica, tomado de la empresa del
            registro vinculada a la sesión. `null` hasta que se seleccione una
            empresa.
          example: Acme Holdings S.L.
        registration_number:
          type: string
          nullable: true
          description: >-
            Número de registro de la empresa, tomado de la empresa del registro
            vinculada a la sesión.
          example: B12345678
        country:
          type: string
          nullable: true
          description: Código de país de la empresa del registro vinculada a la sesión.
          example: ES
  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.