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.
BigInt
A 64-bit integer (byte sizes), serialized as a JSON number.
Run a GraphQL query (GET) GET
GraphQL over GET for queries only (query and variables in the URL). The schema and every operation are documented in schema.graphql at the repository root; each root field declares its own auth (public or Bearer session).