For developers and AI agents
ChiroRestore developer docs
A public, read-only JSON API over our educational content on chiropractic care and spine health. No authentication required.
Discovery
Everything an agent needs to find and call the API is published at a predictable URL:
- OpenAPI 3.1 spec: /openapi.json (version 1.0.0)
- llms.txt index: /llms.txt
- Full-text corpus: /llms-full.txt
Base URL
All endpoints live under https://chirorestore.com/api/v1. Requests and responses are JSON; no API key or authentication is required.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/articles | List articles (filter by category, page with limit/offset). |
| GET | /api/v1/articles/{slug} | Get one article, with its body as Markdown. |
| GET | /api/v1/glossary | List glossary terms and definitions. |
| GET | /api/v1/faq | List frequently asked questions. |
| GET | /api/v1/categories | List the topic taxonomy. |
| GET | /api/health | Health and database-connectivity check. |
Response shape
Successful responses wrap the payload in a data field; list endpoints add a pagination object. Errors return an accurate HTTP status and a structured body so agents can branch on a stable code:
{
"error": {
"code": "not_found",
"message": "No article with slug \"unknown\".",
"hint": "Call GET /api/v1/articles to list available slugs."
}
}Example request
curl -s https://chirorestore.com/api/v1/articles?limit=3 \
-H "Accept: application/json"Rate limits
Every API response carries the RFC RateLimit fields so agents can self-throttle: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (seconds until the window resets), and RateLimit-Policy. The current policy is 600 requests per 60 seconds per IP. When you exceed it the API responds 429 Too Many Requests with a Retry-After header and the standard JSON error envelope.
API versioning and deprecation policy
The API is versioned in the URL path; the current version is /api/v1. Our commitments:
- Backwards-incompatible changes ship under a new path version (e.g.
/api/v2); the previous version keeps working. - Before any version is retired it is marked deprecated for at least 6 months, signalled on responses with the RFC 8594
DeprecationandSunsetheaders plus aLink: <…/docs#api-versioning>; rel="deprecation"header (that header is present on every response now, pointing here). - Additive, backwards-compatible changes (new endpoints or optional fields) can ship within a version without notice.
Command-line tool
A small, zero-dependency CLI wraps the content API for scripting and agent use. Its source lives in /cli in the repository. Once published to npm it will run via:
npx chirorestore articles --limit 5
npx chirorestore article what-is-chiropractic-care
npx chirorestore glossaryMarkdown content negotiation
Every public page also serves clean Markdown when you ask for it, at the same URL. Send Accept: text/markdown and the response comes back as text/markdown with Vary: Accept:
curl -s https://chirorestore.com/ -H "Accept: text/markdown"Terms
Content is educational and is not medical advice. Please review our terms of use before building on the API, and reach us at [email protected] with questions.