---
title: "Deep Health Check"
method: GET
path: "/health/deep"
tags: ["public", "health"]
---

# Deep Health Check

`GET /health/deep`

Deep readiness check that exercises the SQLAlchemy pool (ORO-1121).

Acquires a session and runs SELECT 1 with a hard timeout, retrying
once on failure to ride out transient pool stalls or one-shot
network blips (ORO-1168). If the pool is wedged (phantom-checked-out
slots) or RDS is unreachable across both attempts, the check fails
and the ALB pulls the task out of rotation after its own
unhealthy_threshold_count consecutive failures.

On final failure we return 503 directly via `JSONResponse` instead
of raising `HTTPException`. The status to the ALB is identical, but
the Sentry FastAPI integration only captures *exceptions* — so this
path no longer triggers the "new unhandled error" PD rule on a
transient blip. Sustained DB-unreachable is correctly surfaced by
the ALB target-health alarm, not the Sentry new-issue rule.

## Response `200`

Successful Response

- unknown

---

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