health.md


title: "Health" description: "Liveness and readiness checks for the MachineMail API, with no authentication: /health while the process serves requests, /health/ready when storage answers." canonical: "https://machinemail.dev/docs/reference/api/health"

Health

Liveness and readiness checks for the MachineMail API, with no authentication: /health while the process serves requests, /health/ready when storage answers.

Source: https://machinemail.dev/docs/reference/api/health

Health checks need no authentication.

Method Path Summary
GET /health Liveness
GET /health/ready Readiness

Liveness

GET /health

Always 200 {"status": "ok"} while the process serves requests. No authentication.

Authentication: None.

Response

200 The process is up (application/json)

Field Type Description
status "ok" required

Errors

Status Meaning
500 Unexpected server error.

Example

curl "https://api.machinemail.dev/health"
{
  "status": "ok"
}

Readiness

GET /health/ready

Pings the storage backend: 200 with status: ready (checks.storage: true) when it answers, 503 with status: unavailable when it does not. No authentication.

Authentication: None.

Response

200 Ready (application/json)

Field Type Description
status "ready" | "unavailable" required ready when storage answers; the HTTP status is then 200, otherwise 503.
checks object required The checks behind status.

Errors

Status Meaning
500 Unexpected server error.
503 Not ready: storage did not answer

Example

curl "https://api.machinemail.dev/health/ready"
{
  "status": "ready",
  "checks": {
    "storage": true
  }
}