> ## Documentation Index
> Fetch the complete documentation index at: https://docs.indm.social/llms.txt
> Use this file to discover all available pages before exploring further.

# Versioning

> How the API changes, and what will never change under you.

The version is in the path: `https://api.indm.social/v1`. Everything in these docs is `v1`.

## Within v1, changes only add

Code you write against `v1` today keeps working. Within `v1` we may:

* add endpoints
* add optional request fields
* add fields to responses
* add error codes, and caveat codes on write responses
* add values to fields documented as open, such as `reason` on an account

We won't, within `v1`:

* remove or rename an endpoint, a field or an error code
* change a field's type or meaning
* make an optional request field required
* reuse a code for a different reason

## Build for additions

A few habits keep an integration steady as the API grows:

* **Ignore fields you don't know.** Don't fail on an unexpected key in a response.
* **Branch on `code`, fall back on `type`.** An error code you've never seen still has a `type` that tells you the status and the right response. See [Errors](https://docs.indm.social/errors.md).
* **Treat `message` text as words, not data.** It's written for people and may be reworded.

## Breaking changes

A change that would break `v1` ships as a new version in a new path, and the [changelog](https://docs.indm.social/changelog.md) announces it before it arrives.

Every change, additive or not, is recorded on the [changelog](https://docs.indm.social/changelog.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.