Skip to main content
This page tracks every user-visible change to the Overten API. It follows the Keep a Changelog format and mirrors the highlights from the internal engineering changelog. Use it to stay ahead of breaking changes, understand what is new in each release, and verify that your integration targets the right API version.

Versioning policy

Overten uses URL-based versioning. Breaking changes always ship under a new URL prefix (/api/v2/*), and the previous version (/api/v1/*) remains live for at least 12 months after any major version bump.
Breaking changes are anything that would cause a correctly-written v1 client to fail or behave differently without code changes on your side. Examples include removing a field, renaming an endpoint, changing an HTTP method, or altering the shape of an error response.
Additive changes are always safe: new endpoints, new optional request fields, new response fields, new enum values, and new error codes. Write your client to ignore unknown fields and you will never be broken by an additive change.
Before anything is removed:
  • An announcement appears here and is sent via email notice.
  • Every affected response includes X-Deprecated: true and Sunset: <date> headers for at least 12 months.
  • Removal only happens at the v2 boundary — never within v1.

v1.0.0-alpha — initial release

This is the initial public API surface. Everything listed below is new.

Endpoints

The following endpoints are available in v1.0.0-alpha:
EndpointDescription
POST /signupCreates a workspace org and your first API key in a single call (Firebase-authenticated)
POST /organizations/{org_id}/api-keysMint a new API key for an org
GET /organizations/{org_id}/api-keysList API keys for an org
DELETE /organizations/{org_id}/api-keys/{key_id}Revoke an API key
GET /verifyValidate a key and return org context
POST /preflightDry-run a request through the LLM validator without spending credits
POST /filesUpload a generic file
POST /imagesUpload an image with optional tags and caption
GET /imagesList images
GET /images/{id}Retrieve a single image
DELETE /images/{id}Delete an image
POST /excel/generateGenerate an Excel workbook from a natural-language prompt
POST /excel/analyzeReturn a JSON answer by analyzing an uploaded workbook
POST /word/generateGenerate a Word document from a natural-language prompt
POST /slides/generateGenerate a PowerPoint presentation from a natural-language prompt
POST /slides/outlineGenerate a slide outline for preview-before-generate workflows
GET /tasks/{task_id}Poll the status of an async task
GET /runsList runs for your org
GET /runs/{id}Retrieve a single run
GET /runs/{id}/downloadDownload the primary output file (follows a redirect)
POST /runs/{id}/exportExport a run to an alternative format (PDF, CSV, PNG, etc.)
POST /webhooksSubscribe to run events
GET /webhooksList webhook subscriptions
DELETE /webhooksRemove a webhook subscription

Features

Sync and async generation modes — every generation endpoint supports both modes. Pass async: true to queue the job immediately and poll GET /tasks/{task_id} for the result. Sync requests that exceed the 300-second ceiling automatically promote to async and return a 408 with a sync_timeout_upgrade_async error code. Run resume semantics — pass a run_id on any generation request to iterate on the same document. The API uses the existing document as context so you do not have to re-explain the content or structure. Preflight LLM validatorPOST /preflight dry-runs your request through the same validator that runs before generation. It rejects requests that reference missing assets before spending any credits, letting you build a confirm-before-generate flow in your UI. HMAC-signed webhooks — webhook payloads are signed with SHA-256 HMAC, include a replay-protection timestamp, and are retried up to 7 times with exponential backoff on delivery failure. Credit ledger — every credit movement is logged for audit. You can inspect usage per run via the credits_used field on task and run objects. Org-scoped tenancy — every resource lookup enforces that the calling org matches the resource’s owner org. There are no cross-tenant data leaks by design. Embedded editor — every completed run includes an edit_url that you can load in an iframe to give your users an in-app editing experience.

Supported formats

FormatPrimary outputExport targets
Excel.xlsxPDF, CSV, PNG, HTML
Word.docxPDF, HTML, TXT, ODT
Slides.pptxPDF, PNG, ODP

Current limitations

These are known constraints in the v1.0.0-alpha release. They do not represent the long-term roadmap — watch the changelog for updates.
  • Personal vs. workspace key scoping — key scope is set at creation time via the dashboard. Every key inherits the creator’s current workspace role and cannot be re-scoped after minting.
  • Text and static visuals only — audio and video generation are not supported in this release.
  • Slides: maximum 30 slides per call — build larger decks in chunks by using run_id resume to extend the same presentation across multiple calls.
  • Webhooks fire on run.completed and run.failed only — intermediate status events (e.g., run.started, run.progressed) are not available yet.

Follow releases

Stay up to date as the API evolves:
  • Follow @overten on X for release announcements.
  • Join the Overten community to discuss changes, ask questions, and get early access to upcoming features.