Telnyx Data Migration API

Migrate data from an external provider into Telnyx Cloud Storage

OpenAPI Specification

telnyx-data-migration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@telnyx.com
  description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
  title: Telnyx Access Tokens Data Migration API
  version: 2.0.0
  x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
  url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Migrate data from an external provider into Telnyx Cloud Storage
  name: Data Migration
paths:
  /storage/migration_source_coverage:
    get:
      deprecated: false
      description: ''
      operationId: ListMigrationSourceCoverage
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/MigrationSourceCoverageParams'
                    type: array
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
                type: object
          description: List Migrations Source Coverage Response
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      summary: List Migration Source coverage
      tags:
      - Data Migration
      x-latency-category: responsive
  /storage/migration_sources:
    get:
      deprecated: false
      description: ''
      operationId: ListMigrationSources
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/MigrationSourceParams'
                    type: array
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
                type: object
          description: List Migration Sources Response
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      summary: List all Migration Sources
      tags:
      - Data Migration
      x-latency-category: responsive
    post:
      deprecated: false
      description: Create a source from which data can be migrated from.
      operationId: CreateMigrationSource
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationSourceParams'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
                type: object
          description: Create Migration Source Response
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      summary: Create a Migration Source
      tags:
      - Data Migration
      x-latency-category: responsive
  /storage/migration_sources/{id}:
    delete:
      deprecated: false
      description: ''
      operationId: DeleteMigrationSource
      parameters:
      - description: Unique identifier for the data migration source.
        example: ''
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
                type: object
          description: Create Migration Source Response
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration source not found
        '422':
          description: Unprocessable Entity
      summary: Delete a Migration Source
      tags:
      - Data Migration
      x-latency-category: responsive
    get:
      deprecated: false
      description: ''
      operationId: GetMigrationSource
      parameters:
      - description: Unique identifier for the data migration source.
        example: ''
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationSourceParams'
                type: object
          description: Create Migration Source Response
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration source not found
        '422':
          description: Unprocessable Entity
      summary: Get a Migration Source
      tags:
      - Data Migration
      x-latency-category: responsive
  /storage/migrations:
    get:
      deprecated: false
      description: ''
      operationId: ListMigrations
      parameters: []
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/MigrationParams'
                    type: array
                  meta:
                    $ref: '#/components/schemas/PaginationMetaSimple'
                type: object
          description: List Migrations Response
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      summary: List all Migrations
      tags:
      - Data Migration
      x-latency-category: responsive
    post:
      deprecated: false
      description: Initiate a migration of data from an external provider into Telnyx Cloud Storage. Currently, only S3 is supported.
      operationId: CreateMigration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationParams'
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
                type: object
          description: Create Migration Response
          headers: {}
        '401':
          description: Unauthorized
        '422':
          description: Unprocessable Entity
      summary: Create a Migration
      tags:
      - Data Migration
      x-latency-category: responsive
  /storage/migrations/{id}:
    get:
      deprecated: false
      description: ''
      operationId: GetMigration
      parameters:
      - description: Unique identifier for the data migration.
        example: ''
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
                type: object
          description: Create Migration Response
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration not found
        '422':
          description: Unprocessable Entity
      summary: Get a Migration
      tags:
      - Data Migration
      x-latency-category: responsive
  /storage/migrations/{id}/actions/stop:
    post:
      deprecated: false
      description: ''
      operationId: StopMigration
      parameters:
      - description: Unique identifier for the data migration.
        example: ''
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MigrationParams'
                type: object
          description: Create Migration Response
          headers: {}
        '401':
          description: Unauthorized
        '404':
          description: Migration not found
        '422':
          description: Unprocessable Entity
      summary: Stop a Migration
      tags:
      - Data Migration
      x-latency-category: responsive
components:
  schemas:
    PaginationMetaSimple:
      properties:
        page_number:
          example: 2
          type: integer
        page_size:
          example: 25
          type: integer
        total_pages:
          example: 3
          type: integer
        total_results:
          example: 55
          type: integer
      type: object
    MigrationSourceParams:
      properties:
        bucket_name:
          description: Bucket name to migrate the data from.
          type: string
        id:
          description: Unique identifier for the data migration source.
          readOnly: true
          type: string
        provider:
          description: Cloud provider from which to migrate data. Use 'telnyx' if you want to migrate data from one Telnyx bucket to another.
          enum:
          - aws
          - telnyx
          type: string
        provider_auth:
          properties:
            access_key:
              description: AWS Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here.
              type: string
            secret_access_key:
              description: AWS Secret Access Key. For Telnyx-to-Telnyx migrations, use your Telnyx API key here as well.
              type: string
          type: object
        source_region:
          description: For intra-Telnyx buckets migration, specify the source bucket region in this field.
          type: string
      required:
      - provider
      - provider_auth
      - bucket_name
      type: object
    MigrationParams:
      properties:
        bytes_migrated:
          description: Total amount of data that has been succesfully migrated.
          readOnly: true
          type: integer
        bytes_to_migrate:
          description: Total amount of data found in source bucket to migrate.
          readOnly: true
          type: integer
        created_at:
          description: Time when data migration was created
          example: '2020-01-01T00:00:00Z'
          format: date-time
          readOnly: true
          type: string
        eta:
          description: Estimated time the migration will complete.
          example: '2020-01-01T00:00:00Z'
          format: date-time
          readOnly: true
          type: string
        id:
          description: Unique identifier for the data migration.
          readOnly: true
          type: string
        last_copy:
          description: Time when data migration was last copied from the source.
          example: '2020-01-01T00:00:00Z'
          format: date-time
          readOnly: true
          type: string
        refresh:
          description: If true, will continue to poll the source bucket to ensure new data is continually migrated over.
          type: boolean
        source_id:
          description: ID of the Migration Source from which to migrate data.
          type: string
        speed:
          description: Current speed of the migration.
          readOnly: true
          type: integer
        status:
          description: Status of the migration.
          enum:
          - pending
          - checking
          - migrating
          - complete
          - error
          - stopped
          readOnly: true
          type: string
        target_bucket_name:
          description: Bucket name to migrate the data into. Will default to the same name as the `source_bucket_name`.
          type: string
        target_region:
          description: Telnyx Cloud Storage region to migrate the data to.
          type: string
      required:
      - source_id
      - target_bucket_name
      - target_region
      type: object
    MigrationSourceCoverageParams:
      properties:
        provider:
          description: Cloud provider from which to migrate data.
          enum:
          - aws
          type: string
        source_region:
          description: Provider region from which to migrate data.
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    branded-calling_bearerAuth:
      description: API key passed as a Bearer token in the Authorization header
      scheme: bearer
      type: http
    oauthClientAuth:
      description: OAuth 2.0 authentication for Telnyx API and MCP integrations
      flows:
        authorizationCode:
          authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
          refreshUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
        clientCredentials:
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
      type: oauth2
    outbound-voice-profiles_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
    pronunciation-dicts_bearerAuth:
      description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
      scheme: bearer
      type: http
    stored-payment-transactions_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http