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

# Versioning

> How the Memic API is versioned and what happens when we ship a breaking change.

The Memic API is versioned via the URL path:

```
https://api.memic.ai/api/v1/...
```

The current stable version is **`v1`**. You're always on the version in the
URL — Memic never silently changes the shape of responses under you.

## When we bump the version

A new major version (`v2`) is created when we need to make a **breaking
change**. Examples of breaking changes:

* Removing a field from a response
* Renaming a field
* Changing a field's type
* Removing an endpoint
* Changing the semantics of a parameter
* Changing authentication requirements

## What is NOT a breaking change

These are **non-breaking** and happen on the current version without notice:

* Adding a new field to a response
* Adding a new optional parameter
* Adding a new endpoint
* Adding a new error code (with an existing status code)
* Adding a new enum value (where the field is documented as extensible)
* Performance improvements, bug fixes, security patches

Your integration should ignore unknown fields and unknown enum values
gracefully. The Python SDK does this automatically; handle it yourself if
you're calling the API directly.

## SDK versioning

The Python SDK (`memic`) follows [semantic versioning](https://semver.org/):

* **Patch** (`0.3.0 → 0.3.1`) — bug fixes
* **Minor** (`0.3.0 → 0.4.0`) — new features, backwards compatible
* **Major** (`0.9.0 → 1.0.0`) — breaking changes

SDK versions are independent of the REST API version. A given SDK version
targets a specific REST API version (usually the latest), which is pinned in
the SDK's release notes.

## Migration path

When `v2` ships, `v1` will continue to work for a guaranteed minimum of
**12 months**. During that period:

* Both versions are fully supported
* `v1` endpoints return a `Deprecation: true` header
* The docs show a version selector so you can view either version's reference
* We email your organization with migration timing

We will not remove `v1` before the 12-month window expires.

## Checking the current version

```bash theme={null}
curl https://api.memic.ai/api/v1/me \
  -H "X-API-Key: mk_live_..."
```

The `v1` in the URL is the only version indicator. Responses do not include
a version field — the version is fixed by the URL you called.

## Related

<Card title="API Reference" icon="book" href="/api-reference/introduction" horizontal>
  The full endpoint reference, versioned at `v1`.
</Card>
