Developer resources

Reinstate Developer Resources: CLI, HTTP API, OpenAPI, and Agent Files

Reinstate is a local CLI, so the only hosted surface is this website. Everything on it that a program or an AI agent might need is listed here: the CLI reference, the website HTTP API and its OpenAPI document, the compatibility matrix as JSON, a Markdown representation of every page, and the index files agents read first.

Last verified
Current release
v0.6.0-rc.6
Release status
v0.6.0-rc.6 candidate · stable remains v0.5.1 · v0.6.0-rc.5 tagged Windows run (plus two same-artifact rechecks) ended FAIL (211/4/0/0 of 215), zero product defects, grok:E1-E3 live-backend-connectivity plus a grok version drift to 1.0.13 and an H7 digest-equality-unmeasurable gap the four PARTIAL rows · this candidate widens the verified Grok Build range to 1.0.13 and refines the H7 live-home check to per-file listing with attribution · native Windows tagged-artifact acceptance pending, macOS deferred

What exists today

Product
Reinstate, an open-source coding-agent continuity tool written in Go
CLI
rein or reinstate; see the command reference
Current release
v0.6.0-rc.6
Hosted API
None. The CLI talks only to your own S3-compatible bucket; this website exposes the endpoints below.
Account
Not required for the CLI or for any endpoint on this site
License
Apache-2.0

Reinstate CLI

Install with the pinned bootstrap scripts, then use theCLI reference for every command, flag, exit code, and recovery path. Scripts and agents should pass --json where a command supports it and --dry-run before any command that launches a vendor or writes to storage.

curl -fsSL https://reinstate.dev/install.sh | sh
rein doctor
rein sessions --json

The installers live at /install.sh (macOS, Linux, WSL2) and/install.ps1 (native Windows PowerShell). Read them before piping them to a shell; they pin a specific signed release.

Machine-readable files

URLWhat it is
OpenAPI 3.1 document
/openapi.json
Describes the JSON API with operation IDs, typed parameters, typed response schemas, rate-limit headers, and the versioning and deprecation policy.
API catalog (RFC 9727)
/.well-known/api-catalog
Linkset that points at the OpenAPI description, the developer docs, and the agent index files.
Compatibility matrix
/compatibility.json
Agent tiers, tested version ranges, operating-system status, evidence links, and review dates. Same data as the compatibility page.
llms.txt
/llms.txt
Curated index of canonical pages with one-line summaries and a when-to-use section for agents.
llms-full.txt
/llms-full.txt
Every indexable page as one Markdown file, each section prefixed with its canonical URL.
Agent instructions
/agent-instructions.md
Best-fit jobs, jobs Reinstate is wrong for, the commands to run, and the safety rules that apply.
Sitemap index
/sitemap-index.xml
XML sitemap of every indexable page.
All-updates feed
/rss.xml
RSS feed of blog posts and changelog entries; /blog/rss.xml and /changelog/rss.xml are the split feeds.

Website HTTP API

The website API is small and documented in full by /openapi.json(OpenAPI 3.1) and catalogued at /.well-known/api-catalog(RFC 9727). No authentication, no API key. Every response links back to these documents in its Link header.

MethodPathBehavior
GET/api/v1/waitlistService descriptor with the API major version; doubles as a liveness probe.
POST/api/v1/waitlistJoin the early-access waitlist with {"email":"you@example.com"}. Duplicate submissions return status "duplicate".
GET/POST/api/waitlistDeprecated unversioned alias of /api/v1/waitlist. Same behavior plus Deprecation and Link rel="successor-version" headers; no Sunset scheduled.
GET/.well-known/api-catalogRFC 9727 API catalog (linkset) pointing at the OpenAPI description, these docs, and the agent index files.
ANY/api/*Undocumented paths, including unknown /api/v1/* paths, return a problem+json 404; unsupported methods return 405 with an Allow header.

Versioning and deprecation

Stable operations live under a major-version path, /api/v1/. Additive changes ship in place; a breaking change requires a new major path such as /api/v2/. A deprecated path keeps working and announces itself with the RFC 9745Deprecation header (the date in @seconds form), aLink with rel="successor-version", and, once a removal date exists, the RFC 8594 Sunset header at least 90 days before removal. Today/api/waitlist is the only deprecated path; it has no scheduled Sunset. The same policy is machine-readable under x-api-lifecycle in/openapi.json.

Rate limits

Every /api/* response carries the IETF RateLimit header fields (RateLimit-Policy and RateLimit as structured fields, plus the compatibility RateLimit-Limit, RateLimit-Remaining, andRateLimit-Reset). The policy is "api";q=60;w=60: 60 requests per client address per 60 seconds, counted per function instance, so treat it as advisory. A 429 response is a problem document with code: "rate_limited" and aRetry-After header.

RateLimit-Policy: "api";q=60;w=60
RateLimit: "api";r=59;t=42
RateLimit-Limit: 60
RateLimit-Remaining: 59
RateLimit-Reset: 42

Errors

Errors are RFC 9457 problem details (application/problem+json). Thetype URI resolves to the matching entry below, code is stable,hint says what to change before retrying, and the legacy ok anderror members remain for early integrations.

{
  "type": "https://reinstate.dev/developers#error-invalid-email",
  "title": "Email address is invalid",
  "status": 400,
  "detail": "Enter a valid email address.",
  "instance": "/api/v1/waitlist",
  "code": "invalid_email",
  "hint": "Provide one deliverable address in the email field; it is trimmed and lower-cased before storage.",
  "docs": "https://reinstate.dev/developers#errors",
  "ok": false,
  "error": "Enter a valid email address."
}
CodeStatusWhen
invalid_json400The request body is not JSON or lacks the email field.
invalid_email400The email field is empty or not a deliverable address.
storage_unavailable503Waitlist storage is temporarily down; Retry-After is set and the request is safe to repeat.
not_found404No API route exists at the path.
method_not_allowed405The path does not support the method; the Allow header lists the supported ones.
rate_limited429More than 60 requests in 60 seconds from one client address; Retry-After is set.

Markdown for agents

Every page negotiates on the Accept header. SendAccept: text/markdown to the canonical URL and the response is the page's Markdown representation with Content-Type: text/markdown; charset=utf-8 andVary: Accept; send text/html or nothing and the HTML page comes back. Each page also has a static twin at the same path plus .md(/docs/getting-started.md; the homepage is /index.md).

curl -sH "Accept: text/markdown" https://reinstate.dev/docs/getting-started
curl -s https://reinstate.dev/docs/getting-started.md

Unknown paths return a real HTTP 404. Browsers get the not-found page; any client that does not ask for HTML gets a short Markdown body that links to the sitemap, llms.txt, and the documentation index. An Accept header that rejects both HTML and Markdown returns 406 with a plain-text list of the two representations.

Not provided

  • No hosted Reinstate service, API key, or account: sessions move between your devices through storage you own.
  • No MCP server, plugin runtime, or marketplace. Universal agent configuration is a roadmap item, not a shipped feature.
  • No cross-vendor transcript translation. Cross-agent work uses the explicit structured handoff.

Source, security, and support