Readiness — every registered probe passed (unauthenticated, LB-friendly)
const url = 'http://localhost:3000/v1/health/ready';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/v1/health/ready“Can this instance serve traffic” vs the liveness /v1/health “is the process up”.
Each registered probe races a 2s timeout; an unanswered or thrown probe flips
the overall status to unready and the route returns HTTP 503 so a load balancer
or replica selector can route around it. Container healthchecks stay on liveness
(cheap, no dependency fan-in); this route is for readinessProbe.
Responses
Section titled “Responses”All probes passed.
object
unready implies an HTTP 503 on this route.
One entry per registered readiness probe, in registration order.
object
Present when ok is false — the error message from the failing probe (or the timeout message).
Example
{ "status": "ready"}At least one probe failed or timed out. Body is the same shape as the 200, with status set to unready.
object
unready implies an HTTP 503 on this route.
One entry per registered readiness probe, in registration order.
object
Present when ok is false — the error message from the failing probe (or the timeout message).
Example
{ "status": "ready"}