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

# Versioning

> How the API evolves without breaking your integration.

The public API is versioned in the URL — every endpoint lives under **`/v1`**.
We add to `v1` over time, but we won't break what's already there.

## What's a breaking change

We treat these as breaking, and they will **not** happen within `/v1`:

* Removing an endpoint, field, or event type.
* Renaming a field, or changing its type.
* Adding a new **required** request parameter.
* Changing the meaning of an existing value.

## What can change without notice

These are **additive** and can ship at any time, so build to tolerate them:

* New endpoints.
* New **optional** request parameters.
* New fields on existing responses.
* New event types, and new `status`/enum values on existing objects.

<Warning>
  Don't treat unknown fields or event types as errors. Ignore response fields you
  don't recognise, and handle unknown event `type` values gracefully — this is what
  keeps your integration working as the API grows. See
  [event types](/webhooks/events).
</Warning>

## Staying informed

Additive changes and any future version work are recorded in the
[changelog](/changelog). Material changes to existing behaviour are announced
ahead of time to registered developers. A whole new major version (a hypothetical
`/v2`) would run alongside `/v1` — your existing integration keeps working until
you choose to migrate.
