Readiness check
const url = 'https://api.threadkite.app/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 https://api.threadkite.app/health/readyChecks Postgres (SELECT 1) and Redis (PING), two seconds each. 503 when either is down, so the load balancer stops sending traffic here.
Responses
Section titled “Responses”object
True once the instance has been told to stop: it is unavailable, whatever the checks say
object
SELECT 1 against Postgres
object
skipped when the dependency is not configured (Redis in development)
How long the check took, in milliseconds
Why the check failed (details are in the logs)
PING to Redis (the job queues)
object
skipped when the dependency is not configured (Redis in development)
How long the check took, in milliseconds
Why the check failed (details are in the logs)
Example
{ "status": "ok", "checks": { "database": { "status": "ok", "ms": 3, "error": "timed out" }, "redis": { "status": "ok", "ms": 3, "error": "timed out" } }, "timestamp": "2026-10-05T12:00:00.000Z"}object
True once the instance has been told to stop: it is unavailable, whatever the checks say
object
SELECT 1 against Postgres
object
skipped when the dependency is not configured (Redis in development)
How long the check took, in milliseconds
Why the check failed (details are in the logs)
PING to Redis (the job queues)
object
skipped when the dependency is not configured (Redis in development)
How long the check took, in milliseconds
Why the check failed (details are in the logs)
Example
{ "status": "ok", "checks": { "database": { "status": "ok", "ms": 3, "error": "timed out" }, "redis": { "status": "ok", "ms": 3, "error": "timed out" } }, "timestamp": "2026-10-05T12:00:00.000Z"}