# Versioning

## The API version

The API has one version at a time, named by the date of its newest [changelog](https://developers.sceniq.earth/changelog.md) entry: currently `2026-09-30.2`. Every page of these docs shows it. The REST paths stay `/v1` because every change so far only added to the surface: new operations, new optional fields, new response fields.

What counts as additive, and can happen without notice beyond the changelog:

- new operations, new optional input fields, new values in a list of allowed values,
- new fields in a response (ignore fields you do not know),
- new error codes for new situations.

## Stable and beta

Every operation is labeled. **Stable** operations only grow in the ways above. **Beta** operations may still change shape; every change lands in the changelog. The nine operations added on 2026-09-30 start as beta.

## Deprecation

An operation on its way out is marked deprecated on its page and in the OpenAPI document, with what to use instead and the earliest removal date. It keeps working until that date, and its removal is its own changelog entry.

## The authoring guide version

Agents get their rules from the authoring guide (the [SKILL.md](https://developers.sceniq.earth/machine-readable.md), the MCP instructions and the tool descriptions). Its version, now `2026-09-30.3`, is the MCP server's version and the `version` in the SKILL.md. When it changes, reload the skill.

## How the docs stay true

The reference is generated from the code that serves the API: input schemas from the validators the backend enforces, response schemas from typed validators the responses must match, examples checked against both. A change to the API cannot merge without its documentation and a changelog entry.
