Import2 Imports API

Create and manage data migration (import) jobs.

Operations 5

POST /imports Create an import #
GET /imports List imports #
GET /imports/{id} Get import status #
POST /imports/{id}/payment/accept Accept sponsored migration #
POST /imports/{id}/payment/reject Reject sponsored 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/import2-imports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

import2-imports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Import2 Imports API
  version: '2.1'
  description: The Import2 API lets partners and vendors programmatically create and manage automated data migrations between SaaS applications. It exposes the catalog of supported source/destination tools and the lifecycle of an import job — create, list, check status, and accept or reject a sponsored (vendor-paid) migration. Authentication is HTTP Basic using an API token as the username. API tokens are issued to partners on request (partners@import2.com).
  contact:
    name: Import2 Partners
    email: partners@import2.com
    url: https://partners.import2.com/
  x-apievangelist-provenance:
    generated: '2026-07-19'
    method: generated
    source: https://import2.github.io/
    note: Authored faithfully from Import2's published API reference at https://import2.github.io/ (Import2 API v2.1). No provider-published OpenAPI exists; fields, endpoints, auth, error codes, and rate limits transcribed from the public docs. Not fabricated.
servers:
- url: https://www.import2.com/api/v2.1
  description: Production
- url: https://www.import2.com/api/sandbox
  description: Sandbox
security:
- basicAuth: []
tags:
- name: Imports
  description: Create and manage data migration (import) jobs.
paths:
  /imports:
    post:
      operationId: createImport
      summary: Create an import
      description: Creates a new data migration (import) job for a source tool and optional destination credentials.
      tags:
      - Imports
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportCreateRequest'
      responses:
        '201':
          description: Import created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/RateLimited'
    get:
      operationId: listImports
      summary: List imports
      description: Lists imports for a given destination username.
      tags:
      - Imports
      parameters:
      - name: destination_username
        in: query
        required: true
        description: The destination account username whose imports should be listed.
        schema:
          type: string
      responses:
        '200':
          description: A list of imports.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ImportSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /imports/{id}:
    get:
      operationId: getImport
      summary: Get import status
      description: Retrieves the status and progress of a single import job.
      tags:
      - Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import identifier.
        schema:
          type: string
      responses:
        '200':
          description: The import job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Import'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /imports/{id}/payment/accept:
    post:
      operationId: acceptImportPayment
      summary: Accept sponsored migration
      description: Accepts the sponsorship (vendor-paid) obligation for the import job.
      tags:
      - Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import identifier.
        schema:
          type: string
      responses:
        '200':
          description: Sponsorship accepted (empty body).
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /imports/{id}/payment/reject:
    post:
      operationId: rejectImportPayment
      summary: Reject sponsored migration
      description: Rejects the sponsorship (vendor-paid) obligation for the import job.
      tags:
      - Imports
      parameters:
      - name: id
        in: path
        required: true
        description: The import identifier.
        schema:
          type: string
      responses:
        '200':
          description: Sponsorship rejected (empty body).
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ImportStatus:
      type: string
      description: Lifecycle status of the import job.
      enum:
      - Collecting credentials
      - Waiting to start sample migration
      - Sample migration in progress
      - Sample migration completed
      - Migration in progress
      - Migration completed
      - Undo in progress
      - Migration cleaned
      - In preparation
    ImportSummary:
      type: object
      properties:
        id:
          type: string
        token:
          type: string
        status:
          $ref: '#/components/schemas/ImportStatus'
        items:
          type: integer
          description: Count of records/items in the migration.
        users:
          type: integer
          description: Count of users involved in the migration.
    ImportCreated:
      type: object
      properties:
        id:
          type: string
          description: The import identifier.
        token:
          type: string
          description: The import token.
        redirect_url:
          type: string
          description: URL to redirect the user into the migration portal to continue.
    ImportCreateRequest:
      type: object
      required:
      - source_tool
      properties:
        source_tool:
          type: string
          description: Machine name of the source tool to migrate from.
          example: highrise
        destination_instance_url:
          type: string
          description: Destination instance URL, when the destination requires one.
        destination_username:
          type: string
          description: Destination account username.
        destination_token:
          type: string
          description: Destination account API token/credential.
        start_full:
          type: boolean
          description: When true, begins a full migration rather than a sample.
        family:
          type: string
          description: Product family for the migration (e.g. crm, helpdesk).
    Import:
      type: object
      properties:
        id:
          type: string
        token:
          type: string
        status:
          $ref: '#/components/schemas/ImportStatus'
        family:
          type: string
        items:
          type: integer
        users:
          type: integer
    ValidationErrors:
      type: object
      description: Map of field names to validation error messages.
      additionalProperties:
        type: array
        items:
          type: string
  responses:
    ValidationError:
      description: Validation failure.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrors'
    BadRequest:
      description: Bad syntax in the request.
    NotFound:
      description: The import was not found, archived, or cancelled.
    Unauthorized:
      description: Missing or invalid API token.
    RateLimited:
      description: Rate limit exceeded (more than 10 requests per second).
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic Authentication. Supply the API token as the username and any value (e.g. "X") as the password. Example: curl -u <api_token>:X.'