---
title: "Readiness"
method: GET
path: "/health/ready"
tags: ["public"]
---

# Readiness

`GET /health/ready`

## Request

- Base URL: `https://cloud.onyx.app/api`
- URL: `https://cloud.onyx.app/api/health/ready`
- Auth: none declared

Readiness probe. Wire this to readinessProbe and to load balancers.

Sync endpoints run in the anyio threadpool, so a saturated pool means the
server cannot serve real traffic even though the event loop still turns.
This handler stays async on purpose: a sync handler would borrow a token of
the pool it is measuring, adding load exactly when there is none to spare,
and would queue rather than answer. Liveness lives at /health.

## Response `200`

Successful Response

- unknown

## Changes

- **2026-10-28** `76bc90bf55b6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/onyx-dot-app/apis/onyx-api/changes/health/ready/get.md)

---

[API](https://skmtc.dev/onyx-dot-app/apis/onyx-api.md) - [All operations](https://skmtc.dev/onyx-dot-app/apis/onyx-api/llms.txt) - [OpenAPI document](https://skmtc.dev/onyx-dot-app/apis/onyx-api/revisions/76bc90bf55b6?raw)
