# Migrating from v2



Use the [v3 reference](/developers/v3/reference) for current request and response
schemas. The [deprecated v2 reference](/developers/rest-api/reference) remains
available while you migrate.

## Routes [#routes]

| v2                                            | v3                                                                                                                                                      |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET /v2/projects`                            | [`GET /v3/projects`](/developers/v3/reference/get-v3-projects): cursor pagination, slug locators, typed `assets`                                        |
| `GET /v2/projects/:id`                        | [`GET /v3/projects/{idOrSlug}`](/developers/v3/reference/get-v3-projects-idOrSlug): accepts id or slug                                                  |
| `GET /v2/projects/:id/momentum`, `/rank`      | [`GET /v3/projects/{idOrSlug}/series/{measure}`](/developers/v3/reference/get-v3-projects-idOrSlug-series-measure): one series shape, `trend` or `rank` |
| `GET /v2/projects/:id/candles`, `/metrics`    | Removed: price and market-cap data are no longer part of the API                                                                                        |
| `GET /v2/projects/:id/neighbors`              | `relatedProjects` on Project detail                                                                                                                     |
| `GET /v2/projects/chains`                     | Moved into [`GET /v3/vocabulary`](/developers/v3/reference/get-v3-vocabulary)                                                                           |
| `GET /v2/topics`                              | [`GET /v3/topics`](/developers/v3/reference/get-v3-topics): free tier, keyless                                                                          |
| `GET /v2/topics/:id/report`                   | [`GET /v3/reports/{id}`](/developers/v3/reference/get-v3-reports-id): top-level Reports with revision history                                           |
| `GET /v2/grounding`                           | Replaced by [`GET /v3/topics`](/developers/v3/reference/get-v3-topics)                                                                                  |
| `GET /v2/intel` (and the `/v2/signals` alias) | [`GET /v3/intel`](/developers/v3/reference/get-v3-intel): graded, filterable, searchable                                                                |
| `GET /v2/intel/:id`                           | [`GET /v3/intel/{id}`](/developers/v3/reference/get-v3-intel-id): detail with cluster composition                                                       |
| `GET /v2/intel-categories`                    | Moved into [`GET /v3/vocabulary`](/developers/v3/reference/get-v3-vocabulary)                                                                           |
| `GET /v2/clusters`                            | [`GET /v3/clusters`](/developers/v3/reference/get-v3-clusters)                                                                                          |
| `GET /v2/api-keys/info`                       | [`GET /v3/me`](/developers/v3/reference/get-v3-me): account, plan, limits, history window                                                               |
| `POST /v2/agents/indigo`                      | Removed: use the [MCP connector](https://aixbt.tech/connect)                                                                                            |
| `/v2/recipes/*`                               | Removed: recipes have been discontinued                                                                                                                 |
| all `/v1/*`                                   | Migrate to v3                                                                                                                                           |

## Envelope [#envelope]

| v2                                              | v3                                                                                                           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Body `status` integer + `data`                  | `{data, meta}`; the HTTP status is the status                                                                |
| `pagination {page, limit, totalCount, hasMore}` | Opaque `cursor` + `limit`; follow `meta.nextCursor`                                                          |
| Error strings and per-route codes               | One error shape `{code, message, details?}` with a fixed set of codes                                        |
| One generic 404                                 | Specific miss codes: `not_found` (never existed), `not_current` (no longer current)                          |
| `at` historical reads                           | Removed: use the Project or Topic `series/{measure}` route with a `from`/`to` window for measurement history |

## Properties [#properties]

| v2                                        | v3                                                                                                          |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `trendScore`                              | `trend`                                                                                                     |
| `trendScoreDelta`                         | `trendDelta {value, window: "PT24H"}`                                                                       |
| `signals[]` on Project                    | `intel[]`: a short preview of recent intel                                                                  |
| `cut` (undocumented)                      | `grade`: documented values `chipped` → `flawless`, filterable                                               |
| `stanceSeries` (undocumented)             | `stance` on Topic detail                                                                                    |
| `coingeckoData` block                     | Removed: `symbol`, `image`, and `categories` are now top-level fields; provider identifiers are not exposed |
| `tokens[]`                                | Typed `assets[]`: `{type, chain, address, primary}`                                                         |
| `xHandle`                                 | `identifiers.x` (join keys under `identifiers`, e.g. `identifiers.coingecko`)                               |
| `rationale`                               | Removed: use Intel items and their citations                                                                |
| `frontierReport {url, preview}` on topics | `report {id, title, publishedAt}` ref: fetch via `/v3/reports/{id}`                                         |

## Deprecation headers [#deprecation-headers]

Deprecated v2 routes respond with an RFC 9745 `Deprecation` header and an
RFC 8288 `Link` header pointing at the v3 successor, so clients can detect
the migration path programmatically.
