Skip to content

Readiness check

GET
/health/ready
curl --request GET \
--url https://api.threadkite.app/health/ready

Checks Postgres (SELECT 1) and Redis (PING), two seconds each. 503 when either is down, so the load balancer stops sending traffic here.

Media typeapplication/json
object
status
required
string
Allowed values: ok unavailable
stopping

True once the instance has been told to stop: it is unavailable, whatever the checks say

boolean
checks
required
object
database
required

SELECT 1 against Postgres

object
status
required

skipped when the dependency is not configured (Redis in development)

string
Allowed values: ok failed skipped
ms

How long the check took, in milliseconds

number
error

Why the check failed (details are in the logs)

string
redis
required

PING to Redis (the job queues)

object
status
required

skipped when the dependency is not configured (Redis in development)

string
Allowed values: ok failed skipped
ms

How long the check took, in milliseconds

number
error

Why the check failed (details are in the logs)

string
timestamp
required
string format: date-time

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"
}
Media typeapplication/json
object
status
required
string
Allowed values: ok unavailable
stopping

True once the instance has been told to stop: it is unavailable, whatever the checks say

boolean
checks
required
object
database
required

SELECT 1 against Postgres

object
status
required

skipped when the dependency is not configured (Redis in development)

string
Allowed values: ok failed skipped
ms

How long the check took, in milliseconds

number
error

Why the check failed (details are in the logs)

string
redis
required

PING to Redis (the job queues)

object
status
required

skipped when the dependency is not configured (Redis in development)

string
Allowed values: ok failed skipped
ms

How long the check took, in milliseconds

number
error

Why the check failed (details are in the logs)

string
timestamp
required
string format: date-time

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"
}