---
title: Overview
description: Get a high-level overview of the migration process.
sidebar:
  order: 1
---

The **Migration** section covers instructions on how you can move your authentication data from your current authentication solution to **SuperTokens**

---


## Before You Start

The migration steps are intended to be executed after you have configured your [initial **SuperTokens** integration](/quickstart).
Hence, to complete any of the next instructions you will need the following:
- An existing application that has a working **SuperTokens** integration. You can follow the [quickstart guide](/quickstart) for instructions on how to achieve this.
- A **SuperTokens** managed service account or a self-hosted **SuperTokens Core** instance.
More specifically, you will have to make HTTP requests to your `CORE_API_ENDPOINT` using an `API_KEY`. 


## Migration Steps

The entire migration process can be broken down into two steps.
Both are required to achieve a seamless transition. 

1. [**Account Migration**](/migration/account-migration/)

This is the main part of the migration flow.
You will be importing your users, together with their account credentials, from the legacy authentication provider into **SuperTokens**.

2. [**Session Migration**](/migration/session-migration)

This step prevents any users with active sessions from experiencing authentication issues.
You will extend the **SuperTokens** functionality to create new sessions for users that have authenticated using your legacy provider.


:::info[You need to keep using your legacy authentication provider until you have implemented all the migration steps.]
After that, you can go ahead and switch to **SuperTokens** in your production application.

:::


With that in mind, you can now move to the first step, the [**Account Migration**](/migration/account-migration/) process.
