# API changelog and deprecation policy

> How the Privatus Analytics API evolves: additive changes within a version, at least 6 months of notice for breaking changes, and where to follow the changelog.

## Compatibility

The API is generated from the same operations as the app, so new features
appear in the API and MCP the day they ship. Within the current version we
only make **additive** changes:

- new operations, new optional inputs, new response fields, new enum
  values, new webhook events,
- new error `details`.

Write clients that ignore unknown fields and handle unknown enum values.

## Breaking changes

Removing or renaming an operation, input or field, or changing its type,
is a breaking change. We:

1. announce it in the [changelog](/changelog),
2. keep the old behavior working for at least **6 months** after that.

The [reference](/docs/api) and the [OpenAPI document](/openapi.json)
always describe what the server does today.

## Changelog

Product and API changes are published on the [changelog](/changelog),
which has an [RSS feed](/changelog.rss). It is also available over the
API (`GET /changelog.json`) and as the MCP tools `changelog_list` and
`changelog_get`.
