Omni Content migration API

Export and import dashboards

OpenAPI Specification

omni-content-migration-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Omni AI Content migration API
  description: "The Omni REST API provides programmatic access to your Omni instance for managing users, documents, queries, schedules, and more.  \n"
  version: 1.0.0
  contact:
    name: Omni Support
    url: https://docs.omni.co
servers:
- url: https://{instance}.omniapp.co/api
  description: Production
  variables:
    instance:
      default: blobsrus
      description: Your production Omni instance subdomain
- url: https://{instance}.playground.exploreomni.dev/api
  description: Playground
  variables:
    instance:
      default: blobsrus
      description: Your playground Omni instance subdomain
security:
- bearerAuth: []
- orgApiKey: []
tags:
- name: Content migration
  description: Export and import dashboards
paths:
  /unstable/documents/{dashboardId}/export:
    get:
      tags:
      - Content migration
      summary: Export dashboard
      description: Export dashboard for migration between Omni instances
      x-mint:
        content: "<Warning>\n  This API is in beta and may have future breaking changes.\n</Warning>\n"
      security:
      - orgApiKey: []
      operationId: exportDashboard
      parameters:
      - name: dashboardId
        in: path
        required: true
        schema:
          type: string
        description: Dashboard identifier
      responses:
        '200':
          description: Dashboard export data
          content:
            application/json:
              schema:
                type: object
                properties:
                  dashboard:
                    type: object
                    description: Dashboard configuration
                  document:
                    type: object
                    description: Document metadata
                  exportVersion:
                    type: string
                    example: '0.1'
                  workbookModel:
                    type: object
                    description: Workbook model data
                  fileUploads:
                    type: array
                    description: Spreadsheet file data included in the export. Each item contains the file content and metadata needed to restore spreadsheet tiles during import.
                    items:
                      type: object
                      properties:
                        fileUploadId:
                          type: string
                          description: Unique identifier for the file upload
                        fileName:
                          type: string
                          description: Original file name
                        contentType:
                          type: string
                          description: MIME type of the file
                        data:
                          type: string
                          description: Base64-encoded file content
        '404':
          $ref: '#/components/responses/NotFound'
  /unstable/documents/import:
    post:
      tags:
      - Content migration
      summary: Import dashboard
      description: 'Import dashboard to Omni instance.

        '
      x-mint:
        content: "<Warning>\n  This API is in beta and may have future breaking changes.\n</Warning>\n"
      security:
      - orgApiKey: []
      operationId: importDashboard
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - baseModelId
              - dashboard
              - document
              - workbookModel
              - exportVersion
              properties:
                baseModelId:
                  type: string
                  format: uuid
                  description: Target model ID
                dashboard:
                  type: object
                  description: Dashboard configuration from export
                document:
                  type: object
                  description: Document metadata from export
                workbookModel:
                  type: object
                  description: Workbook model from export
                exportVersion:
                  type: string
                  enum:
                  - '0.1'
                  description: Export format version (must be "0.1")
                identifier:
                  type: string
                  description: Custom identifier for the imported dashboard
                folderPath:
                  type: string
                  description: Destination folder path
                fileUploads:
                  type: array
                  description: Spreadsheet file data to restore during import. Include the `fileUploads` array from the export response to restore spreadsheet tiles in the imported dashboard.
                  items:
                    type: object
                    properties:
                      fileUploadId:
                        type: string
                        description: Unique identifier for the file upload (from export)
                      fileName:
                        type: string
                        description: Original file name
                      contentType:
                        type: string
                        description: MIME type of the file
                      data:
                        type: string
                        description: Base64-encoded file content
      responses:
        '200':
          description: Dashboard imported successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  dashboard:
                    type: object
                    properties:
                      dashboardId:
                        type: string
                        format: uuid
                  miniUuidMap:
                    type: object
                  workbook:
                    type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          description: 'Forbidden


            Possible error messages/causes:


            - `User-scoped API keys cannot act on behalf of other users`

            - Operations targeting personal/restricted scope require the user''s **Personal content access** setting (`omni_allows_personal_content` system attribute) to be enabled for the user. If not enabled, the API will respond with `403 Forbidden`.

            '
components:
  responses:
    BadRequest:
      description: Bad Request - Invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not Found - Resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: HTTP response code for the error
          example: <response_code>
        message:
          type: string
          description: Detailed error description
          example: <error_reason>
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Can be either an [Organization API Key](/api/authentication#organization-api-keys) or [Personal Access Token (PAT)](/api/authentication#token-types).


        Include in the `Authorization` header as: `Bearer YOUR_TOKEN`

        '
    orgApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Requires an [Organization API Key](/api/authentication#organization-api-keys). Personal Access Tokens (PATs) are not supported for this endpoint.


        Include in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`

        '