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

# Get import

> One import, read again against the current templates.

Needs the `automations:read` scope.



## OpenAPI

````yaml automations/api/openapi.json GET /v1/automations/imports/{importId}
openapi: 3.1.0
info:
  title: Vortex IQ Automations API
  version: 1.0.0
  description: >
    REST API for Vortex IQ Automations. List the templates your organisation can
    use, set automations up on your

    stores, schedule them, run them, and follow every run, from your own tools
    instead of the Automations screens.


    The API is served from `https://automations-api.vortexiq.ai`; the login that
    gives you a token is on

    `https://app.vortexiq.ai`. Every call acts as the person who logged in,
    within their organisation, and every

    answer is JSON. See [Authentication](/automations/api/authentication).
  contact:
    name: Vortex IQ Support
    url: https://www.vortexiq.ai/contact-us
servers:
  - url: https://automations-api.vortexiq.ai
    description: Vortex IQ Automations (production)
security:
  - bearerAuth: []
  - apiCredential: []
tags:
  - name: Authentication
    description: >-
      Exchange your identity and your organisation's API credential for a bearer
      token.
  - name: Templates & stores
    description: What you can set up, and what it can run on.
  - name: Automations
    description: Set automations up, read them and change them.
  - name: Automation controls
    description: Pause, resume, archive and restore.
  - name: Runs
    description: Run an automation now, follow a run, read the history.
  - name: Schedules & calendar
    description: Preview a schedule, list the coming runs, move or skip one.
  - name: Approvals
    description: >-
      The runs waiting for a decision. Deciding happens in the Vortex IQ app
      only.
  - name: Imported workflows
    description: >-
      Bring an n8n or Shopify Flow workflow in, see how it would run, and run it
      as your own automation.
  - name: Status
    description: >-
      Whether Automations are on for your organisation, and how the service is
      doing.
paths:
  /v1/automations/imports/{importId}:
    get:
      tags:
        - Imported workflows
      summary: Get import
      description: |-
        One import, read again against the current templates.

        Needs the `automations:read` scope.
      operationId: getImport
      parameters:
        - name: importId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/Id'
          description: The import's id.
      responses:
        '200':
          description: The import and its analysis.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                  - contract_version
                properties:
                  success:
                    type: boolean
                    const: true
                  contract_version:
                    $ref: '#/components/schemas/ContractVersion'
                  data:
                    type: object
                    required:
                      - import
                      - analysis
                    properties:
                      import:
                        $ref: '#/components/schemas/AutomationImport'
                      analysis:
                        $ref: '#/components/schemas/ImportAnalysis'
              example:
                success: true
                contract_version: 1
                data:
                  import:
                    id: 01M520GX6YJ992K8Z6DHPJETKB
                    name: Daily product summary
                    source: n8n
                    platform: shopify
                    step_count: 2
                    store_change_count: 0
                    package_hash: >-
                      8df4f6656ebabac1688957fd022bc9e3b197a9f1ab1780c0bf80a46ae97ab1c2
                    created_at: '2026-10-16T09:26:07.326Z'
                  analysis:
                    intent:
                      source: n8n
                      platform: shopify
                      trigger:
                        kind: schedule
                        cadence: daily
                        run_at: '07:00'
                      steps:
                        - label: Products
                          connector: shopify
                          resource: products
                          action: read
                          mapping: alias
                        - label: Summary
                          connector: null
                          resource: other
                          action: read
                          mapping: none
                    matches:
                      - template_id: shopify-price-and-margin
                        name: Price and margin exceptions · Shopify
                        covered: 1
                        total: 2
                        not_covered:
                          - Summary
                        trigger_note: >-
                          Yours runs daily; this template runs when you press
                          Run by default. You can change it in set-up.
                        needs_store: null
                      - template_id: shopify-catalogue-quality
                        name: Catalogue quality checklist · Shopify
                        covered: 1
                        total: 2
                        not_covered:
                          - Summary
                        trigger_note: >-
                          Yours runs daily; this template runs when you press
                          Run by default. You can change it in set-up.
                        needs_store: null
                    preview:
                      steps:
                        - label: Products
                          words: Reads products from Shopify.
                          supported: true
                          changes_store: false
                        - label: Summary
                          words: No template does this yet.
                          supported: false
                          changes_store: false
                      changes: []
                    excluded: []
        '401':
          $ref: '#/components/responses/Unauthorised'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - bearerAuth:
            - automations:read
        - apiCredential:
            - automations:read
components:
  schemas:
    Id:
      type: string
      description: A public id (a ULID).
      pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
    ContractVersion:
      type: integer
      minimum: 1
      description: >-
        The version of the API this answer follows. It changes only for a
        breaking change.
    AutomationImport:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - source
        - platform
        - step_count
        - store_change_count
        - package_hash
        - created_at
      properties:
        id:
          $ref: '#/components/schemas/Id'
        name:
          type: string
        source:
          type: string
          enum:
            - n8n
            - words
            - shopify_flow
        platform:
          description: >-
            The store platform the import's steps are for; null when they name
            none.
          oneOf:
            - $ref: '#/components/schemas/Platform'
            - type: 'null'
        step_count:
          type: integer
          minimum: 1
        store_change_count:
          description: >-
            How many of its steps would change your store; zero means it only
            reads.
          type: integer
          minimum: 0
        package_hash:
          type: string
        created_at:
          $ref: '#/components/schemas/Timestamp'
    ImportAnalysis:
      type: object
      additionalProperties: false
      required:
        - intent
        - matches
        - preview
        - excluded
      properties:
        intent:
          $ref: '#/components/schemas/Intent'
        matches:
          type: array
          maxItems: 3
          items:
            $ref: '#/components/schemas/ImportMatch'
        preview:
          type: object
          additionalProperties: false
          required:
            - steps
            - changes
          properties:
            steps:
              type: array
              items:
                $ref: '#/components/schemas/ImportPreviewStep'
            changes:
              type: array
              items:
                type: string
        excluded:
          type: array
          items:
            type: string
          description: What was left out of the kept copy, e.g. n8n credential references.
    Platform:
      type: string
      pattern: ^[a-z][a-z0-9_]{1,63}$
      description: >-
        What an automation runs on: a store's platform (`shopify`,
        `bigcommerce`), or an account a template runs on, such as a cloud
        account (`aws`).
      example: shopify
    Timestamp:
      type: string
      format: date-time
      description: A time in UTC (ISO 8601).
    Intent:
      type: object
      additionalProperties: false
      required:
        - source
        - platform
        - trigger
        - steps
      properties:
        source:
          type: string
          enum:
            - n8n
            - words
            - shopify_flow
        platform:
          oneOf:
            - $ref: '#/components/schemas/Platform'
            - type: 'null'
        trigger:
          $ref: '#/components/schemas/ImportTrigger'
        steps:
          type: array
          minItems: 1
          maxItems: 500
          items:
            $ref: '#/components/schemas/IntentStep'
    ImportMatch:
      type: object
      additionalProperties: false
      required:
        - template_id
        - name
        - covered
        - total
        - not_covered
        - trigger_note
        - needs_store
      properties:
        template_id:
          $ref: '#/components/schemas/TemplateId'
        name:
          type: string
        covered:
          type: integer
          minimum: 1
        total:
          type: integer
          minimum: 1
        not_covered:
          type: array
          items:
            type: string
        trigger_note:
          oneOf:
            - type: string
            - type: 'null'
        needs_store:
          oneOf:
            - $ref: '#/components/schemas/Platform'
            - type: 'null'
    ImportPreviewStep:
      type: object
      additionalProperties: false
      required:
        - label
        - words
        - supported
        - changes_store
      properties:
        label:
          type: string
        words:
          type: string
        supported:
          type: boolean
        changes_store:
          type: boolean
    ErrorResponse:
      type: object
      required:
        - success
        - message
        - contract_version
      properties:
        success:
          type: boolean
          const: false
        contract_version:
          $ref: '#/components/schemas/ContractVersion'
        message:
          type: string
          description: Plain words saying what happened and what to do.
        code:
          type: string
          description: >-
            A stable code to act on, such as `wrong_state`, `stale_version` or
            `allowance_spent`.
        errors:
          type: object
          description: Field name to messages, for 422.
          additionalProperties:
            type: array
            items:
              type: string
    ImportTrigger:
      description: >-
        When the workflow runs. A schedule is in the store's time zone; an event
        is a store event, a webhook or a form.
      oneOf:
        - type: object
          additionalProperties: false
          required:
            - kind
            - cadence
          properties:
            kind:
              type: string
              const: schedule
            cadence:
              type: string
              enum:
                - hourly
                - daily
                - weekly
                - monthly
            run_at:
              type: string
              pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
            day:
              type: integer
              minimum: 1
              maximum: 31
              description: 'Weekly: 1 (Monday) to 7 (Sunday). Monthly: the day of the month.'
        - type: object
          additionalProperties: false
          required:
            - kind
            - event
          properties:
            kind:
              type: string
              const: event
            event:
              type: string
              minLength: 1
              maxLength: 80
        - type: object
          additionalProperties: false
          required:
            - kind
          properties:
            kind:
              type: string
              const: manual
    IntentStep:
      type: object
      additionalProperties: false
      required:
        - label
        - connector
        - resource
        - action
        - mapping
      properties:
        label:
          type: string
          minLength: 1
          maxLength: 120
        connector:
          oneOf:
            - type: string
              pattern: ^[a-z0-9_]{1,40}$
            - type: 'null'
        resource:
          $ref: '#/components/schemas/ImportResource'
        action:
          type: string
          enum:
            - read
            - change
            - notify
        channel:
          type: string
          enum:
            - email
            - slack
            - sms
            - webhook
            - other
        mapping:
          type: string
          enum:
            - exact
            - alias
            - none
          description: >-
            How the step was recognised: exact (a catalogue operation), alias
            (its connector and resource by name), none (not supported yet).
        operation_id:
          type: string
          maxLength: 120
    TemplateId:
      type: string
      description: The template's id, such as `shopify-catalogue-quality`.
      pattern: ^[a-z0-9][a-z0-9-]{1,80}$
    ImportResource:
      type: string
      enum:
        - products
        - stock
        - orders
        - customers
        - fulfilments
        - store
        - content
        - other
  responses:
    Unauthorised:
      description: >-
        The token is missing, has expired, or is no longer valid (for example,
        the API credential was rotated or disabled). The answer carries
        `WWW-Authenticate`; log in again for a new token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: >-
        Your token is valid but may not do this: it lacks the scope, the
        operation is not part of the Automations API, or Automations are
        switched off for your organisation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: >-
        Not found. Anything that belongs to another organisation is answered the
        same way.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: >-
        Too many calls in a minute from you or your organisation; nothing was
        done. `Retry-After` says how many seconds to wait.
      headers:
        Retry-After:
          schema:
            type: integer
            minimum: 1
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        A bearer token from [Login](/automations/api/login), sent as
        `Authorization: Bearer <token>`. Valid for 60 minutes; it acts as the
        person named at login, within their organisation, and never approves.
        Rotating or disabling the organisation's API credential ends every token
        made with it on its next call. See
        [Authentication](/automations/api/authentication).
    apiCredential:
      type: oauth2
      description: >-
        Your organisation's API credential, exchanged at
        [Login](/automations/api/login) for the bearer token above: an OAuth 2.0
        client-credentials request, with the `username`, `email` and
        `organization_name` of the person the token acts as sent as extra
        fields, as Postman's OAuth 2.0 helper can send them. The token never
        holds `automations:approve`.
      flows:
        clientCredentials:
          tokenUrl: https://app.vortexiq.ai/v2/api/automations/login
          scopes:
            automations:read: >-
              Read automations, templates, stores, runs, the calendar, approvals
              and imports.
            automations:write: >-
              Set automations up, change, pause, resume, archive, restore and
              run them; move and skip coming runs; keep and delete imports.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.