Didit System API

The System API from Didit — 1 operation(s) for system.

OpenAPI Specification

didit-system-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification Billing System API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
- url: https://verification.didit.me
tags:
- name: System
paths:
  /system/healthcheck:
    get:
      summary: Service healthcheck (public, unauthenticated)
      description: 'Public unauthenticated liveness probe. Returns `HTTP 200` with `{status: "ok", timestamp}` when service, DB, cache, and broker are healthy.'
      operationId: get_system_healthcheck
      tags:
      - System
      security: []
      parameters: []
      responses:
        '200':
          description: 'Service is healthy and accepting requests. Body is always `{"status": "ok", "timestamp": "<iso8601>"}`.'
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                - timestamp
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                    description: Liveness marker. Always the literal string `"ok"` on a 200 response.
                    example: ok
                  timestamp:
                    type: string
                    format: date-time
                    description: Server time at which the healthcheck was evaluated, in ISO 8601 with millisecond precision and a `Z` (UTC) suffix.
                    example: '2026-04-21T16:42:50.445Z'
              examples:
                Healthy:
                  summary: Service is up
                  value:
                    status: ok
                    timestamp: '2026-04-21T16:42:50.445Z'
        '503':
          description: Service is unhealthy — one of the configured health-check plugins (database, cache, broker) is failing. The response body is intentionally minimal; the HTTP status is the load-bearing signal. Retry with exponential backoff.
        5XX:
          description: Verification service is degraded or unreachable. Treat any non-2xx response as "unhealthy" and retry with exponential backoff.
      x-codeSamples:
      - lang: curl
        label: curl
        source: curl -i https://verification.didit.me/system/healthcheck
      - lang: Python
        label: Python (requests)
        source: 'import requests


          resp = requests.get("https://verification.didit.me/system/healthcheck", timeout=5)

          resp.raise_for_status()

          print(resp.json())  # {''status'': ''ok'', ''timestamp'': ''2026-04-21T16:42:50.445Z''}'
      - lang: JavaScript
        label: Node.js (fetch)
        source: 'const res = await fetch("https://verification.didit.me/system/healthcheck");

          if (!res.ok) throw new Error(`Didit unhealthy: ${res.status}`);

          const body = await res.json();

          console.log(body); // { status: ''ok'', timestamp: ''2026-04-21T16:42:50.445Z'' }'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    TransactionTokenAuth:
      type: apiKey
      in: header
      name: X-Transaction-Token
      description: Short-lived scoped token minted by your backend via POST /v3/transactions/sdk-token/. Used by the Didit SDKs on the device-facing /v1/transactions/ endpoints.
    SessionTokenAuth:
      type: apiKey
      in: header
      name: Session-Token
      description: Short-lived token returned in the `session_token` field of POST /v3/session/. Used by the hosted verification flow (and custom sandbox UIs) to call session-scoped endpoints on behalf of the verifying user, without your server-side API key.