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

# API versioning

> API versioning strategy, stability guarantees, and deprecation policy.

# API versioning

## Current state

All endpoints documented in the API reference are stable. Breaking changes will not be introduced without a migration path.

## Stability guarantees

The following are considered **non-breaking** and may happen at any time:

* Adding new optional fields to response bodies
* Adding new optional query parameters to existing endpoints
* Adding entirely new endpoints
* Adding new error codes
* Adding new event types to the realtime protocol
* Relaxing validation constraints (accepting more input)

The following are considered **breaking** and will follow the deprecation policy below:

* Removing or renaming response fields
* Changing the type of existing response fields
* Removing endpoints
* Changing authentication requirements for existing endpoints
* Tightening validation constraints (rejecting previously valid input)
* Changing the meaning of existing error codes

## Deprecation policy

When a breaking change is planned:

1. The affected endpoint or field will be marked as deprecated in the API reference and OpenAPI spec.
2. A migration guide will be published in the [changelog](/production/changelog).
3. Deprecated features will continue to function for at least 90 days after the deprecation notice.
4. Both SDKs will release updates that support the new behavior before the deprecated feature is removed.

## Resource IDs

All resource IDs (`movespec_id`, `session_id`, `project_id`, etc.) are **opaque strings**. Always store and transmit them as strings. Do not parse, construct, or assume ordering within IDs.
