Concepts
Versioning

Versioning

The API

Every route lives under /api/v1. Breaking changes ship under a new version prefix while v1 keeps working. Each response carries an X-Cobuntu-API-Version header.

Within v1, changes are additive: new endpoints, new optional parameters, new fields in responses and new error codes. Read the fields you know and ignore the rest, and treat enums as open (a default branch for values you do not recognise).

One documented endpoint sits outside /api/v1: the marketplace categories read, GET /api/communities/{communityTag}/marketplace/categories. It is the unversioned surface, with a different prefix and auth posture; call it exactly as written.

The spec

openapi.yaml describes v1 (OpenAPI 3.1). Each operation carries x-required-scope, x-key-type, x-member-session and x-rate-limit, and its tag is one of the nine areas used across these docs.

The packages

@cobuntu/embed and @cobuntu/embed-react follow semantic versioning. While they are below 1.0, a minor version can change a signature; read the Changelog before upgrading.