---
title: "Migrate Personal Token"
method: POST
path: "/api/v1/access_tokens/migrate_personal_token"
tags: ["Authorization"]
---

# Migrate Personal Token

`POST /api/v1/access_tokens/migrate_personal_token`

Tokens obtained via the old email/password authentication method can be
migrated to the new OAuth access token. Migrating your users' personal tokens
will allow users to see your app in their Todoist Settings page and give them
the ability to manage their app authorization.

A successful response has `200 OK` status and `application/json` Content-Type.

## Request body

- Body999fd79a
  - `client_id` string, required — The unique Client ID of the Todoist application that you registered.
  - `client_secret` string, required — The unique Client Secret of the Todoist application that you registered.
  - `personal_token` string, required — Token obtained from the email/password authentication.
  - `scope` string, required — Scopes of the OAuth token. Please refer to the [Authorization](#tag/Authorization) guide for the detailed list of available scopes.

## Response `200`

Successful Response

- MigratePersonalTokenResponse
  - `access_token` string, nullable, required — OAuth access token created from the personal token.
  - `token_type` 'Bearer', required — OAuth token type.
  - `expires_in` integer, required — Access token lifetime in seconds.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/todoist/apis/todoist-api.md) · [All operations](https://skmtc.net/todoist/apis/todoist-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/todoist/todoist-api/revisions/69a962f1578f/schema)
