Skip to main content
GET
curl

Overview

Returns the state of every Didit service, the overall state, and the incidents that are ongoing or were resolved in the last 7 days. The endpoint is public: send no auth header. The response contains no organization data and is the same for every caller.

When to use it

  • Status widget: show your users or your support team whether a Didit service is degraded right now.
  • Integration health check: before you blame your own code for slow or failing checks, see whether Didit reports an incident on the service you call.
  • Incident history: list what happened in the last 7 days and how long each incident lasted.
To check only that the API is reachable, use the healthcheck instead.

Polling

Responses are cached for 30 seconds, so poll no more than once every 30 seconds. updated_at tells you when Didit built the response you received. A GET rate limit of 600 requests per minute per IP address also applies.

Services

services lists every service, whether or not it has an incident. Match on key: name is an English display name and can change. Each service’s status is operational, degraded or down. It is operational when the service has no ongoing incident, and otherwise the worst state of its ongoing incidents. The top-level status is the worst state of all services.

Incidents

incidents lists every ongoing incident and the incidents resolved in the last 7 days, newest started_at first. At most 50 resolved incidents are listed.
  • state is degraded or down. A resolved incident keeps the last state it had.
  • status is ongoing until the service recovers, then resolved.
  • resolved_at and duration_minutes are null while the incident is ongoing.
  • affected and country_name name the country or registry affected, for example Brazil (CPF) and Brazil. They are empty when the incident is not tied to a country or registry.
  • title and body are English. To show the incident in another language, build your own text from service, state and country_name.

Example response

  • Healthcheck: a public liveness probe that also needs no auth header.
  • Alert webhooks: get alert.service.degraded and alert.service.recovered pushed to your endpoint for the services your organization uses.
  • Rate limiting

Response

Current service status.

Public service status: the state of each Didit service, the overall state, and the incidents that are ongoing or were resolved in the last 7 days.

status
enum<string>
required

The worst state of any service right now, decided by the ongoing incidents only.

Available options:
operational,
degraded,
down
Example:

"degraded"

updated_at
string<date-time>
required

When Didit built this response (ISO 8601, UTC). Responses are cached for 30 seconds, so it can be up to 30 seconds old.

Example:

"2026-10-13T09:41:07.512345Z"

services
object[]
required

One entry per service, every service always listed.

incidents
object[]
required

Newest started_at first. Every ongoing incident, plus the incidents resolved in the last 7 days (at most 50 resolved incidents). Empty when nothing happened in that time.