# Versioning

The REST API has a version named by a date. The current version is `2026-10-07`.

## Pin the version

Send the `Passion-Version` header to say which version your code expects:

```sh
curl https://api.passion.io/v1/apps/12345/overview \
  -H "Authorization: Bearer psn_key_…" \
  -H "Passion-Version: 2026-10-07"
```

- Every REST response has a `Passion-Version` header with the version it answers with.
- When you do not send the header, you get the current version.
- When you send a version that does not exist, the request is refused with `400` and the code
  `unknown_version`. The message names the current version.

## What changes a version

- **Additive changes keep the version.** A new route, a new optional input field or a new field
  in a response does not change the date. Write your code so that it ignores fields it does not
  know.
- **Breaking changes get a new date.** Removing or renaming a field, or changing what a field
  means, gets a new version.

## The MCP

The version header is for the REST API. MCP clients agree on the MCP protocol version when they
connect; see [MCP](/guides/mcp/).