API Reference

Manage your documentation, trigger AI generation, and integrate AlgoQuill into your CI/CD pipeline via REST API.

Base URL
https://algoquill.ai/api

Authentication

All API requests require a Bearer token. Get your API key from Dashboard → Settings → API Keys.

# Include in every request
Authorization: Bearer aq_live_xxxxxxxxxxxxxxxxxxxx
Never expose your API key in client-side code. Use environment variables or a backend proxy.

Projects

GET/projectsList all projects

Returns all projects in your workspace.

// Response
{ "projects": [ { "id": "b726a15f-ab23-4e9b-a3f1-bb65c0194abc", "name": "My API Docs", "subdomain": "my-api", "status": "published", "created_at": "2026-01-15T10:00:00Z" } ] }
GET/projects/:idGet a project

Returns a single project by ID, including page count and analytics summary.

Pages

GET/projects/:id/pagesList pages

Returns all pages in a project. Add ?status=published to filter.

{ "pages": [ { "id": "ca3ab121-f179-4437-a328-5aff5ea37458", "title": "Authentication", "slug": "authentication", "status": "published", "updated_at": "2026-04-19T23:11:07Z" } ] }
POST/projects/:id/pagesCreate a page
titlerequired
stringPage title, shown in the sidebar and browser tab.
slugrequired
stringURL slug. Must be unique within the project. Example: getting-started
contentrequired
stringPage content in Markdown/MDX format.
status
"draft" | "published"Default: draft. Set to published to make the page visible on the public site.
position
numberSort order in the sidebar. Lower numbers appear first.
PATCH/projects/:id/pages/:pageIdUpdate a page

Partial update — send only the fields you want to change. Useful for publishing: {"status": "published"}

DELETE/projects/:id/pages/:pageIdDelete a page

Permanently deletes a page. Returns 204 No Content on success.

Error codes

CodeMeaning
400Bad request — check your request body for missing or invalid fields
401Unauthorized — your API key is missing or invalid
403Forbidden — you don't have access to this resource
404Not found — the project or page doesn't exist
429Rate limited — slow down. Limit is 100 requests per minute
500Server error — something went wrong on our end. Try again