Skip to content

Versions and deprecation

The API is versioned by date and the SDKs by semver. Nothing you rely on changes until you choose to move.

Your account is pinned to the version current when it was created (2026-09-20). Every request uses it unless you send Tuppence-Version: <date>. Every response says which version answered.

ChangeNeeds a new version?
New endpoint, optional parameter, response field, event type or error codeNo. Write code that ignores what it doesn’t know
Removing or renaming a field, changing a default, changing what an error meansYes. Only in a new version, and you move when you choose

Test against the new version, then send it with your requests:

Terminal window
curl https://api.tuppence.ai/v1/balance \
-H "Authorization: Bearer $TUPPENCE_SECRET_KEY" \
-H "Tuppence-Version: 2026-09-20"

@tuppence/node, @tuppence/http402, @tuppence/mcp, @tuppence/agent-tools and tuppence (Python) follow semantic versioning. Before 1.0, a minor release may break (0.3.0 → 0.4.0); a patch never does. Each SDK pins the API version it was built for, so upgrading the API version and upgrading the SDK are separate decisions. Every package is published from our CI, never from a laptop.

WhatNotice
An API versionSupported for at least 12 months after a newer one is released
Anything deprecatedAnnounced in the changelog and these docs at least 6 months before removal. Until then, responses that use it carry a Deprecation header
An SDK methodKeeps working, with a warning, for at least one minor release before removal

Docs assistant

Open as a page
Loading the assistant…