Free
$0/mo
For side projects
- 1 project
- 50 pages
- 200 assistant queries / month
Annotate your code with @stx, push to GitHub, and Syntext compiles a live documentation site — with an Assistant that answers from it and tells you what’s missing.
Guides / Keys
Rotate an API key
Rotate keys on a schedule or after a leak. Both keys remain valid until you revoke the old one, so nothing breaks mid-deploy.
// rotate with zero downtime const next = await stx.keys.rotate("key_9f2a") await deploy({ key: next.secret })
Synced from @stx in src/keys.ts · 2m ago
How do I rotate an API key without downtime?
Create a new key with the same scope, deploy it, then revoke the old one. Both keys stay valid until you revoke stx_live_…9f2a.
Sample figures from the Acme API project, last 30 days.
How it works
No separate docs repo to forget about. Your code is the source; Syntext keeps the site honest.
Write docs where the truth lives — next to the function. Tags compile into guides, params and examples.
/** * @stx guide "Rotate an API key" * @stx param keyId the key to rotate */ export async function rotate(keyId) {
Every push to GitHub runs a build: fetch, parse, compile, embed, index, deploy. Branches get previews.
$ git push origin main → build #482 · main · 7be02d4 parse ✓ 38 annotations compile ✓ 142 pages deploy ● going live…
Atomic deploys to your domain in under a minute, with search and the Assistant updated in the same step.
Assistant
Readers ask in plain language. The Assistant answers only from your docs and code, cites the exact page, and tells you when it couldn’t.
How do I rotate an API key without downtime?
Create a new key with the same scope, deploy it, then revoke the old one. Both keys stay valid until you revoke stx_live_…9f2a.
“Can I scope a key to one project?” — asked 41 times
No page answers this yet. Draft one from @stx annotations in src/keys.ts?
Deployments
Open a pull request and get a preview URL in the PR. Promote it when it’s right; roll back in one click if it isn’t.
Surfaces
The same annotated source powers your reference, SDK samples, the MCP server and the in-app widget.
Generated from your OpenAPI spec and @stx tags, with a request playground.
Typed examples in TypeScript, Python and Go, kept in step with every release.
import { Acme } from "@acme/sdk" await acme.keys.rotate(id)
Give Claude, Cursor and other agents your docs as tools — one URL.
{ "acme-docs": {
"url": "https://acme-docs.syntext.dev/_mcp" } }Drop the Assistant into your app or dashboard with one script tag.
Pricing
One plan covers every project in your workspace. Annual billing gets two months free.
$0/mo
For side projects
$49/mo
For a first public docs site
$149/mo
For API teams
Custom
For regulated & self-hosted
Free for side projects · no card needed
Connect a repository, push, and watch your docs go live with every merge.