Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

API Reference

Skrybit is API-first: everything the console does — collections, media, cohorts, campaigns, launch, funding status, claims, wallets — is a documented HTTP API underneath.

The live spec is the source of truth. The API serves its own OpenAPI document at /openapi.json on the console origin, generated directly from the running backend — so it is always in sync with the deployed code. Any static endpoint table in these docs would rot; fetch the spec instead, or load it into your favorite OpenAPI tooling (Swagger UI, Postman, client generators).

Reading the spec

Conventions used across the API:

  • Base path — product endpoints live under /api/v1/…, grouped by resource: campaigns, collections, media, cohorts, wallets, claims, fees, and friends. A handful of operational endpoints (/health, the root) sit outside /api/v1.
  • Methods — standard REST semantics: GET reads, POST creates or triggers (e.g. POST /api/v1/campaigns/{id}/launch), PUT/PATCH update, DELETE removes.
  • Networks — network-scoped endpoints take an explicit network parameter (mainnet or testnet4). There is no implicit default across products; when in doubt, pass it.
  • Authentication — operations that act on your account or campaigns require an authenticated request (an Authorization header carrying your Skrybit token). In the OpenAPI spec these are the operations with a security requirement or an authorization header parameter. Public surfaces — like the recipient claim challenge/verify endpoints and open claim-page reads — are unauthenticated by design, rate-limited, and only expose safe fields.

A future interactive reference

The former console Docs page rendered the live spec as grouped, collapsible endpoint tables (grouped by the first path segment after /api/v1, one row per method with color-coded badges, an auth-lock marker per operation). This site will regain that interactive rendering in a future revision — generated live from /openapi.json, never checked in as a static snapshot.

Until then: GET /openapi.json — generated live from the running API, always current.