Shotstash
API reference

REST reference

Every REST route of a Shotstash instance, generated from openapi.json (OpenAPI 3.1).

These pages are generated at build time from openapi.json, which npm run openapi writes from the route annotations; CI fails when the committed document is stale or does not validate as OpenAPI 3.1. Routes are grouped by tag:

  • Auth: sign in, sign out and the media cookie.
  • Uploads: the parts of a resumable upload (the session itself starts and ends in GraphQL).
  • Media: originals, thumbnails, previews, processed versions, covers and ZIP archives, with Range support.
  • Share: the data behind a share page, unlocking a private link and fresh signed URLs.
  • Pipeline: the worker contract; see Bring your own AI for the full guide.
  • System: health, the runtime configuration, setup and status.
  • GraphQL: the GraphQL endpoint itself, documented in the GraphQL reference.

A try-it console appears only when the site is built with DEMO_ORIGIN, the origin of the public demo. It sends requests to that origin only, never to your own installation, using a short read-only token from POST /api/v1/demo/session (the "Get a demo token" button). Sites built without DEMO_ORIGIN, including your own docs builds, have no console.

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.