# Versioning and changes

> How the API changes, and how you'll know.

Source: https://app.getoatmilk.com/docs/versioning

Every response carries `X-Accounting-API-Version`, the date of the contract it follows. Today that's `2026-09-22`.

## What we change without notice

These changes are backwards compatible, so build your integration to accept them:

- new actions, and new optional input fields
- new fields in responses
- new webhook event types, and new fields in event data
- new error codes, and clearer error messages

Ignore fields you don't use, branch on error `code` rather than `message`, and subscribe to exact event names (or handle unknown types gracefully) if you use wildcards.

## What we don't change

We don't remove or rename actions, fields or events, change their meaning, or make an optional field required without a new version date and notice to everyone with an active key or webhook.

## Staying current

The [OpenAPI document](https://app.getoatmilk.com/api/openapi.json), these docs and the [llms.txt files](https://app.getoatmilk.com/docs/ai-tools.md) are generated from the code that runs the API, so they change in the same release as the API itself.
