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

# Migration

> Learn more about migrating your existing API auth to Oneloop

Oneloop provides a simple way to manage your API keys and permissions. This guide will help you migrate your existing API key management to Oneloop.

We have a special private endpoint that we will provide you with that will allow you to create API keys and manage permissions. You can also initiate a migration service with us by reaching out to us at [support@oneloop.ai](mailto:support@oneloop.ai) for more information.

<Info>
  We have purposely decided not to expose our migration endpoint to the public
  and share it's structure. This is to ensure that only trusted parties can
  access this endpoint and migrate their API keys securely.
</Info>

## Migration Steps

Here is the general process for migrating your existing API key management to Oneloop:

<Steps>
  <Step title="Gather all your user API Keys">
    If you have been storing your user API keys in your database, you will need to
    gather all of them. You will need to use these keys to recreate them in
    Oneloop to make sure that your users can continue to use your API with their
    existing keys.
  </Step>

  <Step title="Gather user permissions">
    If you have been storing user permissions in your database, you will need to
    gather then as well. This information will be used to create scopes in Oneloop
    and assign them to the API keys that you migrate.
  </Step>

  <Step title="Create Scopes in Oneloop">
    From the user permissions that you have gathered, you can create scopes in
    Oneloop. Scopes are a way to group permissions together. For example, you can
    create a scope called `profile`. That way when you create an API key for a
    user, you can assign the `profile` scope along with access like `read`,
    `create`, `update`, and \`delete.
  </Step>

  <Step title="Create API Keys in Oneloop">
    You call our private migration endpoint and give the API key as a part of the json
    body. This endpoint access will be given to a particular IP address so that only
    your server can access this for a given time window. We will work with you setting
    this up.

    Once we get the API keys, we will encrypt these API keys using one-way
    hashing and store it in our database. This way we never store the actual API keys
    in our database and your user API keys are secure.
  </Step>

  <Step title="Update your backend code">
    You will need to update your API functions to use Oneloop SDKs. We have
    several native SDKs available to help you get started with this process. You
    can find more information on our SDKs [here](/sdk/introduction).
  </Step>

  <Step title="[Optional] Add our frontend SDK">
    If you would like to add our embeddable frontend UI to your app, you can use
    our frontend SDK. You can find more information on our frontend SDKs
    [here](/sdk/react).
  </Step>
</Steps>
