Skip to content

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.