API Versioning Strategy
Current State
The Rhombus API is currently unversioned — there is a single version of all endpoints ("version": "1.0" in the OpenAPI spec). All consumers use the same
API surface at https://api2.rhombussystems.com.
No versioning mechanism is needed at this time.
When to Introduce Versioning
Add versioned documentation when any of the following occur:- Breaking endpoint changes — an existing endpoint’s request/response schema changes in a way that would break existing integrations.
- Endpoint removal — a previously documented endpoint is removed from the API.
- Authentication changes — the
x-auth-scheme/x-auth-apikeyheader contract changes. - Base URL migration — the API moves from
api2.rhombussystems.comto a new host.
How to Implement (Mintlify)
Mintlify supports version-based navigation via aversions array in
docs.json. When the time comes:
1. Add versions to docs.json
2. Organise content by version
Each version can have its own navigation structure. Shared pages (guides, tutorials) can be reused across versions. Only version-specific API reference pages need separate entries.3. Keep a separate OpenAPI spec per version
docs.json to point each version’s API Reference to its own spec file.
4. Add redirects
When deprecating a version, add redirects indocs.json:
Deprecation Policy
When a version is deprecated:- Add a
<Warning>banner to the top of the deprecated version’s pages. - Keep the deprecated version accessible for at least 6 months.
- Add an entry to
changelog.mdxannouncing the deprecation. - Update the
update-openapi.ymlworkflow to fetch both specs if both versions are still served by the API.
References
- Mintlify Versioning Docs
- Rhombus OpenAPI spec:
api-reference/openapi.json - Changelog:
changelog.mdx