API
Architecture
Scope
The Reseam API is a single-bundle proxy. One instance fronts one bundle, the official one configured via PATCHES_URL. Third-party bundles do not go through it. The manager reads their patches.json URLs directly.
Three actors
- Upstream. The
reseam/patchesrepo publishes a signed.reseamarchive and apatches.jsonalongside it. This is the one source the API is pointed at. - API. Fetches that
patches.jsonon demand, caches it, and serves stable endpoints under*.reseam.app. Also servesmanager.jsonand stores announcements. - Consumers. The website reads from the API for the official bundle. Reseam Manager does the same, and also reads third-party
patches.jsonURLs directly.
What the API adds
- Stable URLs. Bundles move. Release hosts change tags, authors rehost, servers go down. The API gives clients a single place to look. If the upstream moves, only the API's config changes.
- Caching. The upstream is usually a release asset on a git forge. A thousand phones hitting that at the same minute is rude. The API caches for
CACHE_TTLseconds (default 5 minutes) and sends properETagandCache-Controlheaders. - One origin for CORS. Clients only need to trust
*.reseam.app.
Non-goals
- Not a bundle builder. The
reseamCLI builds bundles. - Not a patch host. The redirect routes hand off to whoever hosts the release.
- Not a user system. There are no user accounts and no per-client data.