System

Health & readiness

Unauthenticated liveness and readiness endpoints for load balancers, uptime checks and orchestrators.

The API exposes two endpoints at the root (not under /v1) that need no API key or other headers. They don't count toward your rate limit and don't appear in request logs.

Liveness

GET https://social-publish-api.onrender.com/health

Returns 200 whenever the API process is up and serving requests. It doesn't check any dependency, so use it for liveness probes.

curl https://social-publish-api.onrender.com/health
const res = await fetch("https://social-publish-api.onrender.com/health");
const { ok } = await res.json();
import requests

ok = requests.get("https://social-publish-api.onrender.com/health", timeout=5).json()["ok"]
Response 200
{ "ok": true }

Readiness

GET https://social-publish-api.onrender.com/ready

Checks the database (select 1) and the queue (Redis PING), each with a 2-second timeout. Returns 200 when both respond, otherwise 503. Use it for readiness probes and to decide whether to route traffic to an instance.

curl -i https://social-publish-api.onrender.com/ready
const res = await fetch("https://social-publish-api.onrender.com/ready");
const body = await res.json(); // { ok, database, redis }
if (res.status === 503) console.warn("Not ready:", body);
import requests

res = requests.get("https://social-publish-api.onrender.com/ready", timeout=5)
body = res.json()  # {"ok": ..., "database": ..., "redis": ...}
if res.status_code == 503:
    print("Not ready:", body)
Response 200
{ "ok": true, "database": "ok", "redis": "ok" }
Response 503
{ "ok": false, "database": "ok", "redis": "timeout" }

Fields

FieldTypeDescription
okbooleantrue only when both checks returned ok.
databasestringok, timeout, or the error message from the database.
redisstringok, timeout, or the error message from Redis.

This page is also available as Markdown.