# Migrating to v3

> What changes when you move a v1 or v2 integration to API v3: credentials, errors, IDs and asynchronous operations.

API v2 and API v1 receive fixes only. They keep working for the integrations that use them, and new integrations should start on API v3. Their guides and references stay available: [API v2](https://cademi.dev/api/v2.md) and [API v1](https://cademi.dev/api/v1.md).

| v1/v2 | v3 |
|---|---|
| One school API key in `Authorization`, valid for the whole school | Per-integration credential with its own permissions |
| Business errors in HTTP 409 with a Portuguese message | Stable `error.code` and the matching HTTP status |
| Numeric IDs | Public IDs with a type prefix |
| Synchronous only | Asynchronous operations with idempotency |
