# Migrating to v3

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

| 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 |
