> ## 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 de estado del servicio: feed público de Didit

> GET /v3/status/ es un feed público sin autenticación con el estado de cada servicio de Didit y 7 días de incidentes, para widgets y health checks.



Prompt de estado del servicio
        Copiar el prompt al portapapeles



      
      

\<pre>

\`Read Didit's public service status feed.

GET https://verification.didit.me/v3/status/

Auth: NONE. Send no auth header.

Success (HTTP 200):
\- status: worst state of any service right now: "operational" | "degraded" | "down"
\- updated_at: ISO 8601 time Didit built the response (up to 30 seconds old)
\- services[]: one { key, name, status } per service. Match on key, never on name. Keys:
service_id_verification, service_liveness_face_match, service_aml_screening, service_kyb_registries,
service_database_validation, service_phone_delivery, service_email_delivery, service_transaction_monitoring
\- incidents[]: newest started_at first. Every ongoing incident plus those resolved in the last 7 days (at most 50 resolved). Each:
\{ id, service, service_name, state ("degraded" | "down"), status ("ongoing" | "resolved"), title, body,
affected, country_name, started_at, resolved_at (null while ongoing), duration_minutes (null while ongoing) }
\- title and body are English. To translate, build your own text from service, state and country_name.

Cadence: responses are cached for 30 seconds. Poll no more than once every 30 seconds.

curl -fsS https://verification.didit.me/v3/status/

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

\</pre>



      
      

Pegar en

## Descripción generalDevuelve el estado de cada servicio de Didit, el estado general y los incidentes en curso o resueltos en los últimos 7 días.
El endpoint es público: no envíes ningún encabezado de autenticación.
La respuesta no contiene datos de la organización y es la misma para cualquier solicitante.## Cuándo usarlo- **Widget de estado**: muestra a tus usuarios o a tu equipo de soporte si un servicio de Didit está degradado en este momento.
- **Comprobación del estado de la integración**: antes de culpar a tu propio código de verificaciones lentas o fallidas, comprueba si Didit informa de un incidente en el servicio que invocas.
- **Historial de incidentes**: consulta qué ocurrió en los últimos 7 días y cuánto duró cada incidente.Para comprobar solo que la API es accesible, usa en su lugar el [healthcheck](https://docs.didit.me/es/api-reference/healthcheck.md).## Consultas periódicasLas respuestas se almacenan en caché durante 30 segundos, así que no consultes más de una vez cada 30 segundos.
`updated_at` indica cuándo generó Didit la respuesta que recibiste.
También se aplica un límite de solicitudes GET de 600 por minuto por dirección IP.## Servicios`services` enumera todos los servicios, tengan o no un incidente.
Usa `key` para identificarlos: `name` es un nombre visible en inglés y puede cambiar.| `key` | Servicio |
| - | - |
| `service_id_verification` | Verificación de identidad |
| `service_liveness_face_match` | Prueba de vida y coincidencia facial |
| `service_aml_screening` | Análisis AML |
| `service_kyb_registries` | Registros KYB |
| `service_database_validation` | Validación de base de datos |
| `service_phone_delivery` | Entrega de la verificación de teléfono |
| `service_email_delivery` | Entrega de la verificación de correo electrónico |
| `service_transaction_monitoring` | Monitorización de transacciones |El `status` de cada servicio es `operational`, `degraded` o `down`.
Es `operational` cuando el servicio no tiene ningún incidente en curso y, en caso contrario, el peor estado de sus incidentes en curso.
El `status` de nivel superior es el peor estado de todos los servicios.## Incidentes`incidents` enumera todos los incidentes en curso y los resueltos en los últimos 7 días, ordenados por `started_at` del más reciente al más antiguo.
Se enumeran como máximo 50 incidentes resueltos.- `state` es `degraded` o `down`. Un incidente resuelto conserva el último estado que tuvo.
- `status` es `ongoing` hasta que el servicio se recupera y, después, `resolved`.
- `resolved_at` y `duration_minutes` son `null` mientras el incidente está en curso.
- `affected` y `country_name` indican el país o el registro afectado, por ejemplo `Brazil (CPF)` y `Brazil`. Están vacíos cuando el incidente no está vinculado a un país o un registro.
- `title` y `body` están en inglés. Para mostrar el incidente en otro idioma, genera tu propio texto a partir de `service`, `state` y `country_name`.## Ejemplo de respuesta```json theme={null}
{
  "status": "degraded",
  "updated_at": "2026-10-13T09:41:07.512345Z",
  "services": [
    { "key": "service_id_verification", "name": "ID verification", "status": "operational" },
    { "key": "service_liveness_face_match", "name": "Liveness and face match", "status": "operational" },
    { "key": "service_aml_screening", "name": "AML screening", "status": "operational" },
    { "key": "service_kyb_registries", "name": "KYB registries", "status": "operational" },
    { "key": "service_database_validation", "name": "Database validation", "status": "degraded" },
    { "key": "service_phone_delivery", "name": "Phone verification delivery", "status": "operational" },
    { "key": "service_email_delivery", "name": "Email verification delivery", "status": "operational" },
    { "key": "service_transaction_monitoring", "name": "Transaction monitoring", "status": "operational" }
  ],
  "incidents": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "service": "service_database_validation",
      "service_name": "Database validation",
      "state": "degraded",
      "status": "ongoing",
      "title": "Database validation is degraded in Brazil.",
      "body": "Checks against Brazil (CPF) may be slow or fail since 08:55 UTC.",
      "affected": "Brazil (CPF)",
      "country_name": "Brazil",
      "started_at": "2026-10-13T08:55:00Z",
      "resolved_at": null,
      "duration_minutes": null
    },
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "service": "service_aml_screening",
      "service_name": "AML screening",
      "state": "down",
      "status": "resolved",
      "title": "AML screening is back to normal.",
      "body": "Recovered at 14:32 UTC after 17 minutes.",
      "affected": "",
      "country_name": "",
      "started_at": "2026-10-11T14:15:00Z",
      "resolved_at": "2026-10-11T14:32:00Z",
      "duration_minutes": 17
    }
  ]
}
```## Relacionado- [Healthcheck](https://docs.didit.me/es/api-reference/healthcheck.md): una sonda pública de actividad que tampoco necesita un encabezado de autenticación.
- [Webhooks de alertas](https://docs.didit.me/es/integration/alert-webhooks.md): recibe `alert.service.degraded` y `alert.service.recovered` en tu endpoint para los servicios que usa tu organización.
- [Límite de solicitudes](https://docs.didit.me/es/integration/rate-limiting.md)


## OpenAPI

````yaml es/openapi-25.json GET /v3/status/
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/status/:
    get:
      tags:
        - Status
      summary: Obtener el estado del servicio (público, sin autenticación)
      description: >-
        Devuelve el estado de cada servicio de Didit (`operational`, `degraded`
        o `down`), el estado general (el peor de ellos) y las incidencias que
        están en curso o que se resolvieron en los últimos 7 días. Úsalo para
        alimentar un widget de estado o para comprobar el estado de Didit desde
        tu integración.


        Público: no envíes ningún encabezado de autenticación. La respuesta no
        contiene datos de ninguna organización y es la misma para todos los que
        la llaman. Las respuestas se almacenan en caché durante 30 segundos, así
        que no consultes más de una vez cada 30 segundos.
      operationId: get_v3_status
      parameters: []
      responses:
        '200':
          description: Estado actual del servicio.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceStatusFeed'
              examples:
                One service degraded:
                  summary: Un incidente en curso y otro resuelto esta semana
                  value:
                    status: degraded
                    updated_at: '2026-10-13T09:41:07.512345Z'
                    services:
                      - key: service_id_verification
                        name: ID verification
                        status: operational
                      - key: service_liveness_face_match
                        name: Liveness and face match
                        status: operational
                      - key: service_aml_screening
                        name: AML screening
                        status: operational
                      - key: service_kyb_registries
                        name: KYB registries
                        status: operational
                      - key: service_database_validation
                        name: Database validation
                        status: degraded
                      - key: service_phone_delivery
                        name: Phone verification delivery
                        status: operational
                      - key: service_email_delivery
                        name: Email verification delivery
                        status: operational
                      - key: service_transaction_monitoring
                        name: Transaction monitoring
                        status: operational
                    incidents:
                      - id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                        service: service_database_validation
                        service_name: Database validation
                        state: degraded
                        status: ongoing
                        title: Database validation is degraded in Brazil.
                        body: >-
                          Checks against Brazil (CPF) may be slow or fail since
                          08:55 UTC.
                        affected: Brazil (CPF)
                        country_name: Brazil
                        started_at: '2026-10-13T08:55:00Z'
                        resolved_at: null
                        duration_minutes: null
                      - id: 7c9e6679-7425-40de-944b-e07fc1f90ae7
                        service: service_aml_screening
                        service_name: AML screening
                        state: down
                        status: resolved
                        title: AML screening is back to normal.
                        body: Recovered at 14:32 UTC after 17 minutes.
                        affected: ''
                        country_name: ''
                        started_at: '2026-10-11T14:15:00Z'
                        resolved_at: '2026-10-11T14:32:00Z'
                        duration_minutes: 17
                All operational:
                  summary: Ningún incidente en los últimos 7 días
                  value:
                    status: operational
                    updated_at: '2026-10-13T09:41:07.512345Z'
                    services:
                      - key: service_id_verification
                        name: ID verification
                        status: operational
                      - key: service_liveness_face_match
                        name: Liveness and face match
                        status: operational
                      - key: service_aml_screening
                        name: AML screening
                        status: operational
                      - key: service_kyb_registries
                        name: KYB registries
                        status: operational
                      - key: service_database_validation
                        name: Database validation
                        status: operational
                      - key: service_phone_delivery
                        name: Phone verification delivery
                        status: operational
                      - key: service_email_delivery
                        name: Email verification delivery
                        status: operational
                      - key: service_transaction_monitoring
                        name: Transaction monitoring
                        status: operational
                    incidents: []
        '429':
          description: >-
            Más de 600 solicitudes GET en un minuto desde la misma dirección IP
            (o con la misma clave de API, si envías una). Respeta `Retry-After`
            antes de reintentar.
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    type: string
              example:
                detail: >-
                  GET request rate limit exceeded. You can make up to 600
                  requests per minute.
      security:
        - {}
      x-codeSamples:
        - lang: curl
          label: curl
          source: curl -fsS https://verification.didit.me/v3/status/
        - lang: python
          label: Python
          source: >-
            import requests


            resp = requests.get('https://verification.didit.me/v3/status/',
            timeout=5)

            resp.raise_for_status()

            feed = resp.json()

            print(feed['status'])

            for service in feed['services']:
                if service['status'] != 'operational':
                    print(service['key'], service['status'])
        - lang: javascript
          label: JavaScript
          source: >-
            const feed = await
            fetch('https://verification.didit.me/v3/status/').then((r) =>
            r.json());

            console.log(feed.status);

            const affected = feed.services.filter((s) => s.status !==
            'operational');

            console.log(affected.map((s) => `${s.key}: ${s.status}`));
components:
  schemas:
    ServiceStatusFeed:
      type: object
      description: >-
        Estado público del servicio: el estado de cada servicio de Didit, el
        estado general y los incidentes en curso o resueltos en los últimos 7
        días.
      required:
        - status
        - updated_at
        - services
        - incidents
      properties:
        status:
          type: string
          enum:
            - operational
            - degraded
            - down
          description: >-
            El peor estado de cualquier servicio en este momento, determinado
            solo por las incidencias en curso.
          example: degraded
        updated_at:
          type: string
          format: date-time
          description: >-
            Cuándo generó Didit esta respuesta (ISO 8601, UTC). Las respuestas
            se almacenan en caché durante 30 segundos, por lo que puede tener
            hasta 30 segundos de antigüedad.
          example: '2026-10-13T09:41:07.512345Z'
        services:
          type: array
          description: Una entrada por servicio; todos los servicios aparecen siempre.
          items:
            $ref: '#/components/schemas/ServiceStatusService'
        incidents:
          type: array
          description: >-
            Primero el `started_at` más reciente. Todos los incidentes en curso,
            más los incidentes resueltos en los últimos 7 días (como máximo 50
            incidentes resueltos). Vacío cuando no ha ocurrido nada en ese
            periodo.
          items:
            $ref: '#/components/schemas/ServiceStatusIncident'
    ServiceStatusService:
      type: object
      required:
        - key
        - name
        - status
      properties:
        key:
          type: string
          enum:
            - service_id_verification
            - service_liveness_face_match
            - service_aml_screening
            - service_kyb_registries
            - service_database_validation
            - service_phone_delivery
            - service_email_delivery
            - service_transaction_monitoring
          description: >-
            Clave de servicio estable. Compara con este valor, nunca con el
            nombre visible. `service_id_verification`: Verificación de
            identidad, `service_liveness_face_match`: Prueba de vida y
            coincidencia facial, `service_aml_screening`: Análisis AML,
            `service_kyb_registries`: Registros KYB,
            `service_database_validation`: Validación de base de datos,
            `service_phone_delivery`: Entrega de la verificación de teléfono,
            `service_email_delivery`: Entrega de la verificación de correo
            electrónico, `service_transaction_monitoring`: Monitorización de
            transacciones.
          example: service_database_validation
        name:
          type: string
          description: Nombre visible en inglés del servicio.
          example: Database validation
        status:
          type: string
          enum:
            - operational
            - degraded
            - down
          description: >-
            `operational` cuando no hay ningún incidente en curso para el
            servicio; en caso contrario, el peor estado de sus incidentes en
            curso.
          example: degraded
    ServiceStatusIncident:
      type: object
      required:
        - id
        - service
        - service_name
        - state
        - status
        - title
        - body
        - affected
        - country_name
        - started_at
        - resolved_at
        - duration_minutes
      properties:
        id:
          type: string
          format: uuid
          description: ID del incidente.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        service:
          type: string
          enum:
            - service_id_verification
            - service_liveness_face_match
            - service_aml_screening
            - service_kyb_registries
            - service_database_validation
            - service_phone_delivery
            - service_email_delivery
            - service_transaction_monitoring
          description: Clave del servicio afectado (consulta `services[].key`).
          example: service_database_validation
        service_name:
          type: string
          description: Nombre visible en inglés del servicio afectado.
          example: Database validation
        state:
          type: string
          enum:
            - degraded
            - down
          description: >-
            Cómo se ve afectado el servicio. Un incidente resuelto conserva el
            último estado que tuvo.
          example: degraded
        status:
          type: string
          enum:
            - ongoing
            - resolved
          description: '`ongoing` hasta que el servicio se recupere; después, `resolved`.'
          example: ongoing
        title:
          type: string
          description: >-
            Titular en inglés. Para traducirlo, crea tu propio texto a partir de
            `service`, `state` y `country_name`.
          example: Database validation is degraded in Brazil.
        body:
          type: string
          description: >-
            Línea de detalle en inglés: desde cuándo las comprobaciones pueden
            ser lentas o fallar, o cuándo se recuperó el servicio.
          example: Checks against Brazil (CPF) may be slow or fail since 08:55 UTC.
        affected:
          type: string
          description: >-
            Países o registros afectados, por ejemplo `Brazil (CPF)`. Vacío
            cuando la incidencia no está vinculada a un país o registro.
          example: Brazil (CPF)
        country_name:
          type: string
          description: >-
            País afectado, en inglés. Vacío cuando la incidencia no está
            vinculada a un país.
          example: Brazil
        started_at:
          type: string
          format: date-time
          description: Fecha y hora en que comenzó el incidente (ISO 8601, UTC).
          example: '2026-10-13T08:55:00Z'
        resolved_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Fecha y hora en que se recuperó el servicio (ISO 8601, UTC). `null`
            mientras el incidente sigue en curso.
        duration_minutes:
          type: integer
          nullable: true
          description: >-
            Minutos completos desde `started_at` hasta `resolved_at`. `null`
            mientras el incidente sigue en curso.

````

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