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

# Run an instance import

> Requires a migration token.



## OpenAPI

````yaml /openapi.snapshot.json post /cloud/import
openapi: 3.1.0
info:
  description: >-
    Public REST API for bisibility keyword rank tracking. Clients may optionally
    declare v1 with the Bisibility-API-Version header. Resource IDs use strict
    v3 prefixed public IDs and list cursors are version 3.
  title: bisibility Public API
  version: 1.0.0
servers:
  - url: /api/v1
security: []
tags:
  - description: >-
      Discover the API contract, capabilities, health, and public provider
      pricing.
    name: discovery
    x-group: Discovery
  - description: Manage the authenticated account and personal access tokens.
    name: account-access
    x-group: Account & Access
  - description: Create projects and manage their core settings.
    name: projects
    x-group: Projects
  - description: Create, list, and revoke API keys.
    name: api-keys
    x-group: API Keys
  - description: Manage tracked keywords and exact keyword matching.
    name: keywords
    x-group: Keywords
  - description: Run rank checks and retrieve rank-check history.
    name: rank-checks
    x-group: Rank Checks
  - description: Research keywords, metrics, locations, and ranked keyword suggestions.
    name: keyword-research
    x-group: Keyword Research
  - description: Analyze backlinks and page through backlink snapshots.
    name: backlinks
    x-group: Backlinks
  - description: Analyze domain visibility and load its history, keywords, and pages.
    name: domain-overview
    x-group: Domain Overview
  - description: Read project analytics, traffic snapshots, and search-performance data.
    name: analytics
    x-group: Analytics
  - description: Manage alert rules, triggered alerts, and notification preferences.
    name: alerts
    x-group: Alerts
  - description: Manage project competitors.
    name: competitors
    x-group: Competitors
  - description: Inspect and configure project sitemap monitoring.
    name: sitemap-monitoring
    x-group: Sitemap Monitoring
  - description: Save keywords for later without putting them under rank tracking.
    name: saved-keywords
    x-group: Saved Keywords
  - description: Create, list, and delete saved views.
    name: saved-views
    x-group: Saved Views
  - description: Ingest and list project signals.
    name: signals
    x-group: Signals
  - description: Connect and configure external providers.
    name: providers
    x-group: Providers
  - description: Create and manage webhook endpoints.
    name: webhooks
    x-group: Webhooks
  - description: Manage team members and invitations.
    name: team
    x-group: Team
  - description: Manage migration tokens and instance import sessions.
    name: migration
    x-group: Migration
paths:
  /cloud/import:
    post:
      tags:
        - migration
      summary: Run an instance import
      description: Requires a migration token.
      operationId: importCloudExport
      parameters:
        - description: >-
            API contract version requested by the client. Omit this header to
            use the current backward-compatible behavior.
          in: header
          name: Bisibility-API-Version
          required: false
          schema:
            enum:
              - v1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloudImportPackage'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CloudImportFinalizeResponse'
          description: Import completed
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Bad request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Unauthorized
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Conflict; Unsupported API version
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Payload too large
        '419':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Migration token invalid or expired
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Project read-only
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Rate limited
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: Import failed
      security:
        - MigrationToken: []
components:
  schemas:
    CloudImportPackage:
      additionalProperties: false
      properties:
        alert_rules:
          items:
            $ref: '#/components/schemas/CloudImportAlertRule'
          maxItems: 500
          type: array
        competitors:
          items:
            $ref: '#/components/schemas/CloudImportCompetitor'
          maxItems: 500
          type: array
        exported_at:
          format: date-time
          type: string
        keywords:
          items:
            $ref: '#/components/schemas/CloudImportKeyword'
          maxItems: 500
          type: array
        notification_preferences:
          items:
            $ref: '#/components/schemas/CloudImportNotificationPreference'
          maxItems: 50
          type: array
        project_id:
          pattern: ^prj_[a-z][a-z0-9]{23}$
          type: string
        saved_views:
          items:
            $ref: '#/components/schemas/CloudImportSavedView'
          maxItems: 500
          type: array
        scope:
          enum:
            - current
            - history
          type: string
        version:
          const: 6
          type: integer
      required:
        - version
        - project_id
        - keywords
        - alert_rules
        - competitors
        - notification_preferences
        - saved_views
      type: object
    CloudImportFinalizeResponse:
      properties:
        counts:
          $ref: '#/components/schemas/CloudImportCounts'
        job_id:
          pattern: ^imp_[a-z][a-z0-9]{23}$
          type: string
        state:
          enum:
            - done
          type: string
      required:
        - counts
        - job_id
        - state
      type: object
    Problem:
      properties:
        detail:
          type: string
        docs_url:
          type: string
        errors: {}
        instance:
          type: string
        status:
          type: integer
        title:
          type: string
        type:
          type: string
      required:
        - type
        - title
        - status
        - detail
        - instance
        - docs_url
      type: object
    CloudImportAlertRule:
      additionalProperties: false
      properties:
        change_pct:
          type:
            - number
            - 'null'
        channels:
          description: >-
            Delivery channels for alert notifications. Slack tenant delivery is
            available as an API-only preview. Workspace installation and channel
            management are not yet exposed in the dashboard.
          items:
            enum:
              - email
              - slack
              - webhook
            type: string
          type: array
        competitor_domain:
          type:
            - string
            - 'null'
        condition_type:
          enum:
            - change_pct
            - competitor_overtake
            - ctr_drop
            - downtrend
            - enters_top_n
            - exits_top_n
            - position_drop
            - serp_feature
            - threshold
            - url_mismatch
          type: string
        drop_positions:
          minimum: 1
          type:
            - integer
            - 'null'
        enabled:
          type: boolean
        id:
          pattern: ^alr_[a-z][a-z0-9]{23}$
          type: string
        name:
          maxLength: 120
          minLength: 1
          type: string
        serp_feature:
          type:
            - string
            - 'null'
        severity:
          enum:
            - info
            - warning
            - urgent
          type: string
        target_type:
          enum:
            - all
            - keyword
            - tag
          type: string
        targets:
          items:
            $ref: '#/components/schemas/CloudImportAlertRuleTarget'
          maxItems: 1000
          type: array
        threshold_position:
          minimum: 1
          type:
            - integer
            - 'null'
        top_n:
          minimum: 1
          type:
            - integer
            - 'null'
      required:
        - id
        - name
      type: object
    CloudImportCompetitor:
      additionalProperties: false
      properties:
        domain:
          description: >-
            Canonical lowercase hostname without a scheme, path, www prefix,
            surrounding whitespace, or trailing dot.
          maxLength: 253
          minLength: 1
          type: string
        id:
          pattern: ^cmp_[a-z][a-z0-9]{23}$
          type: string
        label:
          maxLength: 80
          type:
            - string
            - 'null'
      required:
        - id
        - domain
      type: object
    CloudImportKeyword:
      additionalProperties: false
      properties:
        device:
          enum:
            - desktop
            - mobile
          type: string
        id:
          pattern: ^kw_[a-z][a-z0-9]{23}$
          type: string
        keyword:
          maxLength: 180
          minLength: 1
          type: string
        location:
          enum:
            - United States
            - United Kingdom
            - Canada
            - Australia
            - Germany
            - France
            - Spain
            - Italy
            - Netherlands
            - Sweden
            - Poland
            - Ireland
            - Portugal
            - Belgium
            - Switzerland
            - Austria
            - Denmark
            - Norway
            - Finland
            - Brazil
            - Mexico
            - India
            - Japan
            - Singapore
            - New Zealand
            - South Africa
            - United Arab Emirates
          type: string
        rankingHistory:
          items:
            $ref: '#/components/schemas/CloudImportRankingHistory'
          maxItems: 5000
          type: array
        tags:
          items:
            maxLength: 48
            minLength: 1
            type: string
          maxItems: 12
          type: array
        target_url:
          description: Absolute URL, path, null, or omitted.
          maxLength: 500
          type:
            - string
            - 'null'
      required:
        - id
        - keyword
        - device
        - location
      type: object
    CloudImportNotificationPreference:
      additionalProperties: false
      properties:
        alert_email:
          type: boolean
        alert_in_app:
          type: boolean
        check_email:
          type: boolean
        check_in_app:
          type: boolean
        import_email:
          type: boolean
        import_in_app:
          type: boolean
        invite_email:
          type: boolean
        invite_in_app:
          type: boolean
        report_email:
          type: boolean
      type: object
    CloudImportSavedView:
      additionalProperties: false
      properties:
        config: {}
        id:
          pattern: ^viw_[a-z][a-z0-9]{23}$
          type: string
        name:
          maxLength: 120
          minLength: 1
          type: string
        surface:
          enum:
            - keywords
            - competitors
          type: string
      required:
        - id
        - name
      type: object
    CloudImportCounts:
      additionalProperties:
        type: integer
      type: object
    CloudImportAlertRuleTarget:
      discriminator:
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/CloudImportKeywordAlertTarget'
        - $ref: '#/components/schemas/CloudImportTagAlertTarget'
    CloudImportRankingHistory:
      additionalProperties: false
      properties:
        checkedAt:
          format: date-time
          type: string
        normalizationVersion:
          enum:
            - v1
            - v2
          type: string
        position:
          minimum: 1
          type:
            - integer
            - 'null'
        previousPosition:
          minimum: 1
          type:
            - integer
            - 'null'
        provider:
          maxLength: 120
          minLength: 1
          type: string
        rankingUrl:
          description: Absolute URL, path, null, or omitted.
          maxLength: 500
          type:
            - string
            - 'null'
        requestedDepth:
          enum:
            - 10
            - 20
            - 50
            - 100
          type:
            - integer
            - 'null'
      required:
        - checkedAt
        - normalizationVersion
        - position
        - previousPosition
        - provider
        - rankingUrl
        - requestedDepth
      type: object
    CloudImportKeywordAlertTarget:
      additionalProperties: false
      properties:
        device:
          enum:
            - desktop
            - mobile
          type: string
        keyword:
          maxLength: 180
          minLength: 1
          type: string
        keyword_id:
          pattern: ^kw_[a-z][a-z0-9]{23}$
          type: string
        location:
          enum:
            - United States
            - United Kingdom
            - Canada
            - Australia
            - Germany
            - France
            - Spain
            - Italy
            - Netherlands
            - Sweden
            - Poland
            - Ireland
            - Portugal
            - Belgium
            - Switzerland
            - Austria
            - Denmark
            - Norway
            - Finland
            - Brazil
            - Mexico
            - India
            - Japan
            - Singapore
            - New Zealand
            - South Africa
            - United Arab Emirates
          type: string
        type:
          const: keyword
          type: string
      required:
        - keyword_id
        - type
      type: object
    CloudImportTagAlertTarget:
      additionalProperties: false
      properties:
        tag:
          maxLength: 80
          minLength: 1
          type: string
        type:
          const: tag
          type: string
      required:
        - tag
        - type
      type: object
  securitySchemes:
    MigrationToken:
      bearerFormat: mig_...
      description: 'Migration token sent as `Authorization: Bearer mig_...`.'
      scheme: bearer
      type: http

````