GenieOSdocs

Changelog

Versioning, deprecations, and what shipped.

The API is versioned in the URL path (/v1/...). Within a major version, we add fields and endpoints; we do not break existing ones. Breaking changes ship as a new major (/v2/...) with at least 12 months of overlap before the previous major is sunset.

Phase 1 — Developer platform GA

The first developer-facing release. Everything below is live on /v1.

Added

  • REST API surface for workspace, templates, transactional, sequences, events, webhooks, and audit. See API reference and /v1/openapi.json.
  • Schema contract on every template. Sends are validated server-side; the contract is the source of truth for the SDK codegen.
  • Idempotency on every mutating endpoint, with a 24-hour deduplication window. See Idempotency.
  • Per-key + per-workspace rate limits, with X-RateLimit-* headers and Retry-After on 429s. See Rate limits.
  • Signed webhooks with HMAC-SHA256, exponential-backoff retries (8 attempts over 31 hours), and replay. See Webhooks.
  • Node SDK @genie-os/sdk — typed end-to-end, ESM + CJS, retries + auto-idempotency + webhook verifier.
  • Python SDK genieos — sync + async clients, Pydantic-typed, mirrors the Node SDK 1:1.
  • Genie MCP at mcp.genieos.pro/v1 — native Cursor / Claude / Continue / Zed via Model Context Protocol. See MCP.
  • @genie-os/mcp stdio bridge for editors that prefer stdio JSON-RPC.
  • genie CLI — terminal access to the workspace; see CLI.
  • Audit log queryable from /v1/audit, with actor.kind distinguishing API, MCP, and dashboard writes.

Compatibility

  • All /v0 endpoints (the closed beta) are now removed. If you\u2019re still on /v0 paths, see the migration notes below.

Migration from /v0

Three breaking changes you\u2019ll have hit:

  1. /v0/send is gone. Use POST /v1/transactional/send with template+variables instead of subject+body.
  2. Webhooks now sign with HMAC-SHA256 over t=...|body. The /v0 shape (X-MailGenius-Signature: <hex>) is no longer accepted.
  3. Idempotency-Key is now required on POST /transactional/send for workspaces on the Pro plan and above. The default-failing rejection is validation_error / idempotency_key_invalid.

A /v0 \u2192 /v1 cheat-sheet is available on request — hello@genieos.pro.

Versioning policy

  • Additive within a major. New optional fields, new endpoints, new response fields, new event types — all safe to add without bumping the major.
  • Breaking changes bump the major. Renamed fields, narrowed types, removed endpoints, new required fields, semantic changes to existing fields — all bump.
  • Deprecation window. A removed endpoint or field is announced via the Deprecation and Sunset HTTP headers at least 6 months before removal, and at least 12 months before the major it lived in is sunset.

If you read Sunset headers off responses, you can subscribe to the api.deprecation webhook event to get a structured copy of the same notice.

RSS / JSON feeds

This page is also served as JSON at https://docs.genieos.pro/changelog.json (coming soon) so changelog crawlers and the dashboard\u2019s "What\u2019s new" panel can ingest it. RSS is on the way.

Want to be told?

The fastest way to hear about API changes is to subscribe a webhook to the api.changelog.published event. Once Phase 2 lands, you\u2019ll also be able to subscribe via genie logs tail --type api.*.

On this page