---
title: "Create a Migration"
method: POST
path: "/storage/migrations"
tags: ["Data Migration"]
---

# Create a Migration

`POST /storage/migrations`

Initiate a migration of data from an external provider into Telnyx Cloud Storage. Currently, only S3 is supported.

## Request body

- MigrationParams
  - `bytes_migrated` integer — Total amount of data that has been succesfully migrated.
  - `bytes_to_migrate` integer — Total amount of data found in source bucket to migrate.
  - `created_at` string, date-time — Time when data migration was created
  - `eta` string, date-time — Estimated time the migration will complete.
  - `id` string — Unique identifier for the data migration.
  - `last_copy` string, date-time — Time when data migration was last copied from the source.
  - `refresh` boolean — If true, will continue to poll the source bucket to ensure new data is continually migrated over.
  - `source_id` string, required — ID of the Migration Source from which to migrate data.
  - `speed` integer — Current speed of the migration.
  - `status` 'pending' | 'checking' | 'migrating' | 'complete' | 'error' | 'stopped' — Status of the migration.
  - `target_bucket_name` string, required — Bucket name to migrate the data into. Will default to the same name as the `source_bucket_name`.
  - `target_region` string, required — Telnyx Cloud Storage region to migrate the data to.

## Response `200`

Create Migration Response

- object
  - `data` MigrationParams
    - `bytes_migrated` integer — Total amount of data that has been succesfully migrated.
    - `bytes_to_migrate` integer — Total amount of data found in source bucket to migrate.
    - `created_at` string, date-time — Time when data migration was created
    - `eta` string, date-time — Estimated time the migration will complete.
    - `id` string — Unique identifier for the data migration.
    - `last_copy` string, date-time — Time when data migration was last copied from the source.
    - `refresh` boolean — If true, will continue to poll the source bucket to ensure new data is continually migrated over.
    - `source_id` string, required — ID of the Migration Source from which to migrate data.
    - `speed` integer — Current speed of the migration.
    - `status` 'pending' | 'checking' | 'migrating' | 'complete' | 'error' | 'stopped' — Status of the migration.
    - `target_bucket_name` string, required — Bucket name to migrate the data into. Will default to the same name as the `source_bucket_name`.
    - `target_region` string, required — Telnyx Cloud Storage region to migrate the data to.

## Other responses

- `401` — Unauthorized
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/revisions/1571b0380bd7/schema)
