Files
ReaperOfVeriod b89edfafa9
API checks / checks (push) Canceled after 0s
API dependency and security checks / audit (push) Canceled after 0s
Define shared permissions and version contracts
2026-10-25 05:39:57 +01:00

18 lines
905 B
Markdown

# API Versioning
- Use an explicit major API version.
- Prefer additive fields and events.
- Clients must tolerate unknown fields and events.
- Breaking changes require a new major version, fixtures, migration notes, and coordinated releases.
- Each release records minimum compatible client and server versions.
- `GET /api/v1/server/info` publishes `minimum_client_version` and
`maximum_client_version`; clients must use these fields to detect an
incompatible pairing before enabling authenticated controls.
- Permission values are shared through `contracts/v1/permissions.json`.
They are ordered from least to most privileged: `everyone`, `subscriber`,
`moderator`, and `broadcaster`.
- The normalized result of a compatibility check is described by
`contracts/v1/version-negotiation.json`; an incompatible result includes a
human-readable `reason` while a compatible result may omit it.