# NiceUptime public API versioning policy

The public API uses URI major versions only.

`/v1` is the initial stable major and its initial OpenAPI release is `1.0.0`.

Minor and patch versions never appear in a URI.

## Compatibility

Patch releases correct documentation or behavior without changing the public contract.

Minor releases may add backward-compatible operations, optional fields, or explicitly extensible enum values.

Breaking changes require a new major URI and a new public OpenAPI contract.

Enums are closed by default.

An enum is extensible only when its public schema explicitly says so.

## Lifecycle

Stable majors receive compatible updates while active.

Deprecation must name the replacement, the support window, and a retirement date in release notes and the version manifest.

Retirement removes neither a URI nor documentation until the published retirement date passes.

Only the product owner may approve a new major, deprecation, or retirement.

The runtime API can contain private routes.

Only operations emitted by the public-contract manifest are public API.
