---
title: "Kubernetes readiness probe"
method: GET
path: "/health/readiness"
tags: ["health"]
---

# Kubernetes readiness probe

`GET /health/readiness`

Returns `200 OK` only when all downstream dependencies (storage backend)
are reachable. Returns `503 Service Unavailable` otherwise.

**Content negotiation**: `Accept: application/x-protobuf` -> Protobuf; else JSON.
The `503` response uses the same schema with `ready: false`.

## Headers

- `Accept` 'application/json' | 'application/x-protobuf'

## Response `200`

Service is ready to accept traffic.

- ReadinessResponse — Readiness probe response returned by `GET /health/readiness`. Returns `200 OK` only when all downstream dependencies are reachable. Returns `503 Service Unavailable` when any dependency is unhealthy -- the response body still uses this schema, with `ready: false`.
  - `ready` boolean, required — `true` if all dependencies (storage backend) are reachable.
  - `storage` boolean, required — `true` if the storage backend passed its connectivity probe.

## Other responses

- `503` — Service is not ready (storage backend unreachable or degraded).

---

[API](https://skmtc.net/umbra-defi/apis/umbra-indexer-read-service.md) · [All operations](https://skmtc.net/umbra-defi/apis/umbra-indexer-read-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/umbra-defi/umbra-indexer-read-service/revisions/ea7a4ee03e38/schema)
