Shotstash
API referenceREST referenceSystem

Health check

Public and served before first-run setup. Everyone gets ok and setupRequired and version; a loopback client (the TCP peer, never a forwarded header) or a Bearer session whose account may configure the instance (instance.configure) also gets db and cache and storage and schemeMismatch. 503 carries the same body with ok false.

Try the REST routes against the public demo at https://demostash.aldyernesto.my.id. Get a read-only token (valid for 60 minutes), then paste it as the Bearer token in the console of any route.

GET
/api/health

Public and served before first-run setup. Everyone gets ok and setupRequired and version; a loopback client (the TCP peer, never a forwarded header) or a Bearer session whose account may configure the instance (instance.configure) also gets db and cache and storage and schemeMismatch. 503 carries the same body with ok false.

Response Body

Every dependency answers

application/json
  1. response
ok*boolean

True when the database, the cache and storage all answer.

setupRequired*boolean

True until first-run setup has created the super admin.

version*string

Running version (SHOTSTASH_VERSION in the image, else package.json).

db?boolean

Detailed body only: the database answers.

cache?boolean

Detailed body only: Dragonfly answers.

storage?boolean

Detailed body only: the storage backend is reachable.

schemeMismatch?boolean

Detailed body only: the request scheme differs from APP_URL (a proxy without TRUST_PROXY=true).

curl -X GET "https://example.com/api/health"
{  "ok": true,  "setupRequired": true,  "version": "string",  "db": true,  "cache": true,  "storage": true,  "schemeMismatch": true}