Telnyx Data Migration API

Migrate data from an external provider into Telnyx Cloud Storage

Operations 9

GET /storage/migration_source_coverage List Migration Source coverage #
GET /storage/migration_sources List all Migration Sources #
POST /storage/migration_sources Create a Migration Source #
DELETE /storage/migration_sources/{id} Delete a Migration Source #
GET /storage/migration_sources/{id} Get a Migration Source #
GET /storage/migrations List all Migrations #
POST /storage/migrations Create a Migration #
GET /storage/migrations/{id} Get a Migration #
POST /storage/migrations/{id}/actions/stop Stop a Migration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/telnyx:telnyx-data-migration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

telnyx-data-migration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Telnyx Data Migration API
  version: 2.0.0
  contact:
    email: support@telnyx.com
  x-endpoint-cost: light
  x-refined-note:
  - x-latency-category differs across the merged source definitions and was not carried
  description: 'Operations tagged Data Migration across 3 of this provider''s published API definitions: telnyx-openapi.json, telnyx-openapi.yml, telnyx-openapi_2.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.telnyx.com/v2
  description: Version 2.0.0 of the Telnyx API
security:
- bearerAuth: []
tags:
- name: Data Migration
  description: Migrate data from an external provider into Telnyx Cloud Storage
paths:
  /storage/migration_source_coverage:
    get:
      summary: List Migration Source coverage
      deprecated: false
      description: List the external storage providers and regions supported as migration sources.
      operationId: ListMigrationSourceCoverage
      tags:
      - Data Migration
      parameters: []
      responses:
        '200':
          description: List Migrations Source Coverage Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/MigrationSourceCoverageParams'
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /storage/migration_sources:
    get:
      summary: List all Migration Sources
      deprecated: false
      description: List the migration sources configured on your account. A migration source is an external storage bucket from which data can be migrated into Telnyx Cloud Storage.
      operationId: ListMigrationSources
      tags:
      - Data Migration
      parameters: []
      responses:
        '200':
          description: List Migration Sources Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/MigrationSourceParams'
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
    post:
      summary: Create a Migration Source
      deprecated: false
      description: Create a source from which data can be migrated from.
      operationId: CreateMigrationSource
      tags:
      - Data Migration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationSourceParams'
            example:
              provider: aws
              source_region: string
              provider_auth:
                access_key: string
                secret_access_key: string
              bucket_name: string
      responses:
        '200':
          description: Create Migration Source Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
              example:
                data:
                  id: string
                  provider: aws
                  source_region: string
                  provider_auth:
                    access_key: string
                    secret_access_key: string
                  bucket_name: string
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /storage/migration_sources/{id}:
    delete:
      summary: Delete a Migration Source
      deprecated: false
      description: Delete a migration source configuration.
      operationId: DeleteMigrationSource
      tags:
      - Data Migration
      parameters:
      - name: id
        in: path
        description: Unique identifier for the data migration source.
        required: true
        example: ''
        schema:
          type: string
      responses:
        '200':
          description: Create Migration Source Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
              example:
                data:
                  id: string
                  provider: aws
                  source_region: string
                  provider_auth:
                    access_key: string
                    secret_access_key: string
                  bucket_name: string
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration source not found
        '422':
          description: Unprocessable Entity
    get:
      summary: Get a Migration Source
      deprecated: false
      description: Retrieve the details of a specific migration source.
      operationId: GetMigrationSource
      tags:
      - Data Migration
      parameters:
      - name: id
        in: path
        description: Unique identifier for the data migration source.
        required: true
        example: ''
        schema:
          type: string
      responses:
        '200':
          description: Create Migration Source Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
              example:
                data:
                  id: string
                  provider: aws
                  source_region: string
                  provider_auth:
                    access_key: string
                    secret_access_key: string
                  bucket_name: string
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration source not found
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /storage/migrations:
    get:
      summary: List all Migrations
      deprecated: false
      description: Retrieve a list of the storage migrations on your account.
      operationId: ListMigrations
      tags:
      - Data Migration
      parameters: []
      responses:
        '200':
          description: List Migrations Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/MigrationParams'
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
    post:
      summary: Create a Migration
      deprecated: false
      description: Initiate a migration of data from an external provider into Telnyx Cloud Storage. Currently, only S3 is supported.
      operationId: CreateMigration
      tags:
      - Data Migration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationParams'
      responses:
        '200':
          description: Create Migration Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /storage/migrations/{id}:
    get:
      summary: Get a Migration
      deprecated: false
      description: Retrieve the details and status of a specific storage migration.
      operationId: GetMigration
      tags:
      - Data Migration
      parameters:
      - name: id
        in: path
        description: Unique identifier for the data migration.
        required: true
        example: ''
        schema:
          type: string
      responses:
        '200':
          description: Create Migration Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration not found
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
  /storage/migrations/{id}/actions/stop:
    post:
      summary: Stop a Migration
      deprecated: false
      description: Stops the specified in-progress storage migration and returns the updated migration.
      operationId: StopMigration
      tags:
      - Data Migration
      parameters:
      - name: id
        in: path
        description: Unique identifier for the data migration.
        required: true
        example: ''
        schema:
          type: string
      responses:
        '200':
          description: Create Migration Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration not found
        '422':
          description: Unprocessable Entity
    servers:
    - url: https://api.telnyx.com/v2
      description: Version 2.0.0 of the Telnyx API
components:
  schemas:
    MigrationSourceParams:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the data migration source.
          readOnly: true
        provider:
          type: string
          enum:
          - aws
          - telnyx
          description: Cloud provider from which to migrate data. Use 'telnyx' if you want to migrate data from one Telnyx bucket to another.
        source_region:
          type: string
          description: For intra-Telnyx buckets migration, specify the source bucket region in this field.
        provider_auth:
          type: object
          properties:
            access_key:
              type: string
              description: AWS Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here.
            secret_access_key:
              type: string
              description: AWS Secret Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here as well.
        bucket_name:
          type: string
          description: Bucket name to migrate the data from.
      required:
      - provider
      - provider_auth
      - bucket_name
    PaginationMetaSimple:
      type: object
      properties:
        page_number:
          type: integer
          example: 2
        page_size:
          type: integer
          example: 25
        total_pages:
          type: integer
          example: 3
        total_results:
          type: integer
          example: 55
    MigrationParams:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the data migration.
          readOnly: true
        source_id:
          type: string
          description: ID of the Migration Source from which to migrate data.
        target_bucket_name:
          type: string
          description: Bucket name to migrate the data into. Will default to the same name as the `source_bucket_name`.
        target_region:
          type: string
          description: Telnyx Cloud Storage region to migrate the data to.
        refresh:
          type: boolean
          description: If true, will continue to poll the source bucket to ensure new data is continually migrated over.
        last_copy:
          type: string
          format: date-time
          description: Time when data migration was last copied from the source.
          readOnly: true
          example: '2020-01-01T00:00:00Z'
        status:
          type: string
          enum:
          - pending
          - checking
          - migrating
          - complete
          - error
          - stopped
          readOnly: true
          description: Status of the migration.
        bytes_to_migrate:
          type: integer
          readOnly: true
          description: Total amount of data found in source bucket to migrate.
        bytes_migrated:
          type: integer
          readOnly: true
          description: Total amount of data that has been succesfully migrated.
        speed:
          type: integer
          readOnly: true
          description: Current speed of the migration.
        eta:
          type: string
          format: date-time
          readOnly: true
          description: Estimated time the migration will complete.
          example: '2020-01-01T00:00:00Z'
        created_at:
          type: string
          format: date-time
          description: Time when data migration was created
          readOnly: true
          example: '2020-01-01T00:00:00Z'
      required:
      - source_id
      - target_bucket_name
      - target_region
    MigrationSourceCoverageParams:
      type: object
      properties:
        provider:
          type: string
          enum:
          - aws
          description: Cloud provider from which to migrate data.
        source_region:
          type: string
          description: Provider region from which to migrate data.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: 'Telnyx API key supplied as `Authorization: Bearer <token>`. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.'
    Payment:
      type: apiKey
      in: header
      name: Authorization
      description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.'
    agent-memory_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key
    bearerAuth:
      type: http
      scheme: bearer
    branded-calling_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
    collections_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization.
    number-reputation_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys.
    oauthClientAuth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
        authorizationCode:
          authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
          tokenUrl: https://api.telnyx.com/v2/oauth/token
          refreshUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
      description: OAuth 2.0 authentication for Telnyx API and MCP integrations
    outbound-voice-profiles_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    pronunciation-dicts_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
    rcs-registration_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
    stored-payment-transactions_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    transcriptions-search_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key. Results are automatically scoped to the authenticated user's organization.
    web-search_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key
    pay-connectors_bearerAuth:
      type: http
      scheme: bearer
      description: Telnyx API key, not the processor bearer token.
    telnyxApiKey:
      type: http
      scheme: bearer
      description: Management-only Telnyx account credential.
x-refined-from:
- telnyx-openapi.json
- telnyx-openapi.yml
- telnyx-openapi_2.json
x-service-info:
  categories:
  - communication
  - developer-tools
  docs:
    apiReference: https://developers.telnyx.com
    homepage: https://telnyx.com
    llms: https://telnyx.com/llms.txt