---
title: "Health check"
method: GET
path: "/health"
tags: ["Health"]
---

# Health check

`GET /health`

Reports whether the platform is currently serving traffic, so callers can route payments elsewhere while we are impaired. Safe to poll — checks are cached for a few seconds and require no authentication. Failover on `status` rather than the HTTP code alone: a `degraded` response is still `200` because reads and account management keep working while payments stall.

## Response `200`

Serving traffic, either fully (`operational`) or partially

- HealthResponseDto
  - `status` 'operational' | 'degraded' | 'unavailable', required — Worst status across all components. `operational` means send us traffic; anything else means route new payment traffic elsewhere until it returns to `operational`.
  - `timestamp` string, required — When these checks last ran. Results are cached for a few seconds, so this trails the request by up to that long.
  - `components` HealthComponentsDto, required
    - `api` 'operational' | 'degraded' | 'unavailable', required — Worst status across all components. `operational` means send us traffic; anything else means route new payment traffic elsewhere until it returns to `operational`.
    - `payments` 'operational' | 'degraded' | 'unavailable', required — Worst status across all components. `operational` means send us traffic; anything else means route new payment traffic elsewhere until it returns to `operational`.

## Other responses

- `503` — Not serving traffic — send payments elsewhere

---

[API](https://skmtc.dev/infinite/apis/infinite-api.md) · [All operations](https://skmtc.dev/infinite/apis/infinite-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/infinite/infinite-api/revisions/5426f2706725/schema)
