Skip to content

Versioning

The api.sb contract is version 1; the package major names it, additive changes reach it at once, and a breaking change ships as a new major.

The api.sb contract is version 1. openapi.json states it as info.version, and every release of startup-builder@1 calls it.

Where the version lives

No URL carries the platform version, and no flag selects one. Code pins it by pinning the package major.

InterfacePinned by
APIhttps://api.sb/{namespace} serves version 1, as openapi.json describes it
SDKThe package major: startup-builder@1
CLIThe same package: npx startup-builder@1
MCPhttps://api.sb/mcp serves the tools of version 1
Terminal
npm install startup-builder@1

What counts as breaking

A breaking change is any change that can make correct code fail.

BreakingAdditive
Removing or renaming a route, field, Verb, Event, error type or headerA new route, Noun, Verb, Event or error type
Changing a field's type, unit or meaningA new field in a response
Making an optional input requiredA new optional input
Narrowing an input's accepted valuesA new value in a response field's set
Changing a status code, a default Mode or a page-size defaultA new response header

Additive changes reach version 1 as they ship. Clients ignore fields they do not know and handle values they have not seen, so additive changes never break them.

A breaking change is a new major

A breaking change ships only as the next major: a new info.version and a new major of startup-builder. Code on startup-builder@1 keeps calling version 1.

Inside the newest version, a replaced form is deleted, not deprecated: no warnings, no sunset dates, no second way to do one thing.

A Startup's own API

A Live Startup's own Nouns and Verbs carry their own version, which its Customers' code relies on. Each Tenant's keys answer at the Tenant's apiVersion, and a path can name a version after the namespace:

Text
https://api.sb/transcribe.fm/v3/transcripts

Tenant.pin moves a Tenant's keys to another version once a call with its test key passes there. Each Watch keeps the version current when it was created. Compatibility explains how a Startup versions its own API.

Upgrading

The Changelog states the current contract and logs each change to it. To take a new major, install it where the test key runs, run the tests, then deploy with the live key.

Next