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

# Migrate from v0

> How to move your code from the v0 API to v1: the kinds of change to expect, and the order to work in.

This section is for anyone whose code calls the v0 API today. v1 changes more than the path prefix.
Some endpoints work differently, and some have no v1 equivalent.

## Kinds of change

The [endpoint map](https://docs.lumos.com/reference/v1/migrate/endpoint-map.md) marks each v0 endpoint with one of these
labels:

* **Shared conventions only.** The endpoint moves under `/v1` and changes only in the ways every
  endpoint does: paths, pagination, errors, and status codes. The user and group endpoints, for
  example, work this way.
* **Migration guide.** The endpoint works differently in v1, and a guide describes the changes.
  These resources have a guide:
  * [Access Policies](https://docs.lumos.com/reference/v1/migrate/access-policies.md)
  * [access requests and tasks](https://docs.lumos.com/reference/v1/migrate/access-requests-and-tasks.md)
  * [activity logs and identity events](https://docs.lumos.com/reference/v1/migrate/activity-logs-and-identity-events.md)
  * [apps, the AppStore, and account uploads](https://docs.lumos.com/reference/v1/migrate/app-store-and-apps.md)
  * [requestable permissions](https://docs.lumos.com/reference/v1/migrate/permissions-to-entitlements.md), which v1 replaces
    with entitlements
* **Replaced by.** A different v1 endpoint does the job. For example,
  [Get Operation](https://docs.lumos.com/api-reference/v1/operations/get-operation.md) replaces
  `GET /accounts/upload/{job_id}`. These endpoints link their migration guide too.
* **Retired.** The endpoint has no v1 equivalent. For example, the vendor agreement and activity
  record endpoints are retired. [Retired endpoints](https://docs.lumos.com/reference/v1/migrate/retired-endpoints.md) lists
  each one.

## Work in this order

1. Read [What changes in v1](https://docs.lumos.com/reference/v1/migrate/what-changes.md) for the conventions every
   endpoint shares.
2. Find each endpoint you call in the [endpoint map](https://docs.lumos.com/reference/v1/migrate/endpoint-map.md).
3. Read the migration guide for each endpoint that links one.
4. Switch one call at a time to v1. v0 keeps working while you switch, and both versions accept
   the same token, so you can compare each call's v0 and v1 results.

## Terraform

Version 1.x of the [Lumos Terraform provider](https://registry.terraform.io/providers/teamlumos/lumos/latest/docs)
calls v1. Some 0.x resources were renamed or split, and approvals and provisioning moved into
workflows, so Terraform can't carry 0.x state over. Instead, you remove the 0.x resources from state
and import the same objects as 1.x resources, which doesn't change anything in Lumos.
[Migrating from 0.x to 1.x](https://registry.terraform.io/providers/teamlumos/lumos/latest/docs/guides/migrating-from-0x)
covers each step, and every renamed resource and attribute.
