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

# Migrating from v1

> How v1 reads map onto v2, and what changes in shape

v1 stays frozen at its current shape and keeps serving the CLI, the SimpleFIN bridge and existing integrators. Sunset will be announced with `Deprecation` and `Sunset` headers no earlier than 12 months after v2 reaches general availability.

Your existing key works on both. A key created before scopes existed is a **legacy** key on v2: it holds every `:read` scope and no write scope. Create a new key for writes.

| v1                                    | v2                                                                              |
| ------------------------------------- | ------------------------------------------------------------------------------- |
| `GET /v1/connections`                 | `GET /v2/connections` (prefixed ids, computed `status`, `updated`, page tokens) |
| `GET /v1/accounts`                    | `GET /v2/accounts?connection=`                                                  |
| `GET /v1/balances?accountIds=`        | `GET /v2/accounts/{id}/balance`                                                 |
| `GET /v1/account-details?accountIds=` | `GET /v2/accounts/{id}/details`                                                 |
| `GET /v1/transactions?accountId=`     | `GET /v2/transactions?account=` (minor units, page token, `category`)           |
| `GET /v1/categories`                  | `GET /v2/provider_categories` (the user taxonomy is `/v2/categories`)           |
| `GET /v1/holdings`, `GET /v1/trades`  | `GET /v2/holdings?account=`, `GET /v2/trades?account=`                          |

What changes in shape:

* Ids: `sync_…`, `conn_…`, `acct_…` instead of raw UUIDs; provider transaction ids are tagged `txn_fk_…`.
* Timestamps: RFC 3339 with milliseconds on every user-owned object, as `created` and `updated`.
* Money: `{ amount: 1250, currency: "aud" }` instead of decimal strings.
* Lists: `next_page_url` tokens instead of `limit`/`offset` and `hasMore`.
* Errors: `type`, `code`, `param`, `request_id` instead of `message` alone.
* `Redbark-Version` is required.
