Versioning

Ship a v2 of your docs without breaking v1.

Auto-sync from Git tags. Readers get a version selector in the header. Old deep-links keep working forever.

docs.acme.com/v2.0/api/auth
A ACME Docs
v0.9 (legacy)
v1.0
v1.1
v2.0 (latest)
Updated for v2.0

Authenticating requests · v2.0

All API requests now require an Authorization header containing your bearer token. Tokens issued before v2.0 will continue to work until 2026-12-01, after which they must be rotated.

Use OAuth for production integrations. Personal API tokens are reserved for personal scripts and CI.

Auto-sync from Git tags

Tag a release. KBKit snapshots a version.

Push an annotated Git tag like v2.0 and KBKit creates a new version snapshot containing the docs as they were at that commit. Reads stay isolated — newer commits don't pollute v2.0's content.

  • SemVer-aware sorting — v1.10.0 comes after v1.9.0, not before
  • Pre-release tags (v2.0-beta) marked separately from stable
  • Unlimited version snapshots — keep every release forever
  • Archive old versions when they're no longer supported
terminal

$ git tag -a v2.0 -m "Release v2.0"

$ git push origin v2.0

Total 0 (delta 0), reused 0 (delta 0)

remote: KBKit webhook received

Snapshot created · v2.0

Indexed 142 articles

Published at /v2.0/

Version-aware reader

Readers pick a version. URLs reflect it.

A version selector in the reader header lets visitors switch between v1.0, v1.1, v2.0, or whatever you've shipped. Each version has its own URL prefix — /v1.1/api/auth — so deep links keep working when you ship v2.0.

Search results respect the active version. If a reader is browsing v1.0 docs, they only see v1.0 articles in search.

docs.acme.com/v1.1/api/auth

Authentication

Reading v1.1 — published Feb 3, 2026.

GET /v1.1/api/auth

Frequently asked

Common versioning questions.

How many versions can I keep?
Unlimited. We keep snapshots for every Git tag you've ever pushed, and you can archive ones you no longer want shown to readers.
Can I delete an old version?
Yes — admin panel → Versions → Archive. Archived versions stop appearing in the version selector but their URLs continue to redirect to your default version, so old deep links never 404.
Do search results respect the active version?
Yes. Readers only see articles from their currently-selected version in both search and the KB Assistant chat widget.
What about the default URL without a version?
Pages without a version prefix serve your "latest" version (whichever tag you've marked as current). The reader never sees a broken link.

Ready to ship without breaking yesterday's links?

Versioning is included on every plan with Git sync.