Skip to Content
API ReferenceVersioning & Compatibility

Versioning & Compatibility

This page defines exactly what VoxBurst commits to stabilizing, what can change without notice, and how breaking changes are communicated.


API versioning

The current API version is v1, indicated in every URL path (/v1/posts, /v1/accounts, etc.).

VoxBurst does not use date-stamped versions (like 2026-06-01) or header-driven versioning. All production requests go to https://api.voxburst.io/v1.


What is and is not a breaking change

Non-breaking (deployed without notice)

These changes are backward-compatible. Well-written clients handle them automatically:

ChangeRequired client behavior
New optional request fieldIgnore — existing requests work unchanged
New response fieldIgnore unknown fields (don’t fail on unrecognized keys)
New enum valueHandle unknown enum values gracefully
New endpointNo action required
New error code on an existing error statusBranch on status code first, then code
Performance improvements, latency reductionsTransparent
Webhook: new event typeSubscribe to * or ignore unrecognized event types

Breaking (announced 30 days in advance)

These changes require client updates:

ChangeExample
Remove a required or widely-used field from a responseRemoving post.status
Rename a fieldscheduledForscheduledAt
Change a field’s typestringstring[]
Change an enum value’s meaning"failed""error" with different semantics
Remove an endpointRemoving GET /v1/posts/:id
Change authentication schemeReplacing Bearer tokens
Change pagination behaviorMoving from cursor to offset
Change an error code’s HTTP statusMoving RATE_LIMITED from 429 to 503

Required: ignore unknown fields. The most common source of breakage is a client that fails on unexpected JSON keys. All VoxBurst clients should use a JSON parser configured to ignore unknown fields. The TypeScript and Go SDKs do this automatically.


Deprecation process

  1. Day 0 — Field or endpoint marked as deprecated in docs with removal date
  2. Day 0 — Deprecation announced in the changelog and via email to all API key owners
  3. 90 days — Deprecated field remains fully functional
  4. Day 90 — Field or endpoint removed

For high-impact removals (widely-used endpoints, required fields), the deprecation window may be extended to 180 days. The changelog entry will specify the exact removal date.


SDK versioning

SDKs follow semantic versioning :

BumpWhen
Patch (1.2.01.2.1)Bug fixes, documentation, internal refactors
Minor (1.2.01.3.0)New methods, new optional parameters, new typed properties
Major (1.2.02.0.0)Breaking interface changes (method renamed, parameter removed, error class renamed)

SDK major versions track API v1 — a breaking SDK change does not imply an API version bump. An API v2 would trigger SDK major bumps across all packages.

Current SDK versions

PackageVersionInstall
@voxburst/sdk (TypeScript)See changelognpm install @voxburst/sdk
voxburst-go (Go)See changeloggo get github.com/FortheanLabsProjects/voxburst-go
@voxburst/cliSee changelognpm install -g @voxburst/cli

What is stable vs. experimental

StatusMeaning
StableFollows the full breaking-change policy above. Any change will be announced 30 days in advance.
BetaUnder active development. May change without notice. Marked (beta) in docs.
DeprecatedScheduled for removal. Marked (deprecated) in docs with removal date.

Resources currently in beta or preview are noted on their individual API reference pages.


Contract precedence

When sources appear to conflict, this ordering determines which is authoritative:

  1. API source code — the implementation is ground truth
  2. This documentation/api-reference/* pages are validated against the codebase before publishing
  3. OpenAPI spec — machine-readable contract at https://api.voxburst.io/api/openapi.yaml; kept in sync with the implementation
  4. SDK docs — derived from the REST contract; SDK behavior defers to REST on conflict
  5. Examples — illustrative, not normative; may omit optional fields

Staying informed

ChannelWhat you get
ChangelogEvery API and SDK change, tagged by type
Docs & contract changesSchema corrections, new pages, field table updates, spec changes
EmailBreaking-change announcements sent 30 days before removal to all API key owners
@voxburst  on XMajor release announcements

OpenAPI spec

The machine-readable API contract is published at:

https://api.voxburst.io/api/openapi.yaml # YAML https://api.voxburst.io/api/openapi.json # JSON

The spec is kept in sync with the implementation and follows the same versioning rules above. Use it with Postman, Insomnia, openapi-typescript, oapi-codegen, or any OpenAPI-compatible toolchain.

Last updated on