API Versioning
Speechify uses a dated request header for breaking wire-format changes inside /v1.
The official SDKs send their build-date version by default. Raw HTTP integrations should send Speechify-Version on every request so response shapes stay pinned as the API evolves.
Resolution Order
When a request reaches the API, the server resolves the version in this order:
New workspaces default to the latest API version available when the workspace is created. Existing workspaces stay pinned to their stored default until you explicitly migrate or Speechify updates the default with notice.
A malformed value (anything other than an ISO YYYY-MM-DD date) returns 400 invalid_api_version.
What counts as a breaking change
Speechify only mints a new version date for a change that could break a client reading an older shape. Most changes are additive and never require you to bump your pinned version. To stay forward-compatible, write your integration as a tolerant reader:
- Ignore fields you don’t recognise. We may add new response fields at any time without a version bump.
- Ignore enum values you don’t recognise. New
statusvalues, new errorcodes, and other enum members can appear within your pinned version. Handle unknown values with a default branch. - Treat absent optional fields as unset, not as an error.
The following changes are additive and ship without a new version — your pinned integration keeps working unchanged:
A change only gets a new version date when it would alter a shape you
already depend on — a renamed or removed field, a field whose type changes, a
new required request field, or a changed default. When that happens, you keep
receiving the shape your current version resolves to (so nothing breaks): the
official SDKs hold their build-date version, an explicit Speechify-Version
stays on its date, and a request with no version at all keeps resolving to the
oldest supported shape. The change appears in the changelog with a migration
path and a sunset window of at least 12 months before the old shape is retired.
Raw HTTP
Include the header with your API key:
Deprecation Notices
When a request uses a legacy version, responses include standard deprecation headers:
Speechify keeps legacy shapes available for at least 12 months after announcing a migration window.
Changelog
Each dated shape change appears in the product changelog with:
Adding new error codes is not a breaking change. The ErrorCode enum is additive-only, so new codes do not require a version bump.