Changelog¶
We version the public API by calendar date, since it's easier to reason about than semver when the contract is HTTP. Breaking changes ship under a new version path (/api/public/v2); the previous version stays available for at least 12 months.
A route that's going away returns Deprecation: true and Sunset: <RFC 7231 date> headers, plus Link: <successor>; rel="successor-version" when a replacement exists. Sunset is at least 6 months in the future.
2026-05-09 (current)¶
Initial public release.
- API-key authentication with scopes (
X-API-Key). - Endpoints: projects, workpiece, stock, automation, post, quote, tasks, libraries, webhooks.
- Webhooks:
task.started,task.progress(10% bucket),task.succeeded,task.failed,task.cancelled,quote.ready. HMAC-SHA256 signing, 24h retry budget. - Durable task records:
GET /tasks/{id}works beyond Celery's 2h result expiry. - Idempotency keys honoured on POSTs (24h cache).
- Cursor pagination on
/tasks/by-project/{id}. - Rate limiting via slowapi: 60/min default, per-route overrides.