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

# Check import status

> Returns the processing status of a catalog import.



## OpenAPI

````yaml /api/product-directory/openapi.json get /v1/catalogs/imports/{job_id}
openapi: 3.0.0
info:
  title: Product Directory API
  description: >-
    A service for uploading and managing a product catalog for use by an AI
    agent.
  version: 1.0.0
servers:
  - url: https://api.text.com/product-directory
    description: Main production server URL
security:
  - PersonalAccessToken: []
paths:
  /v1/catalogs/imports/{job_id}:
    get:
      tags:
        - Catalog
      summary: Check import status
      description: Returns the processing status of a catalog import.
      operationId: check-import-status
      parameters:
        - name: job_id
          in: path
          required: true
          description: >-
            The import job ID returned from [Upload a product
            catalog](/api/product-directory/catalog/upload-a-product-catalog).
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The import job's status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportJob'
              example:
                job_id: 550e8400-e29b-41d4-a716-446655440000
                status: processing
                total: 5000
                indexed_count: 2400
                failed_count: 3
                skipped_count: 2
                progress: 2403
                started_at: '2026-06-01T12:00:05Z'
                completed_at: null
        '401':
          description: Missing or invalid token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: authentication
                  message: No Authorization header.
        '404':
          description: The import job doesn't exist for this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: not_found
                  message: >-
                    import job with ID 550e8400-e29b-41d4-a716-446655440000 not
                    found
        '422':
          description: '`job_id` isn''t a valid UUID.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  type: validation
                  message: job_id is not a valid UUID.
components:
  schemas:
    ImportJob:
      type: object
      required:
        - job_id
        - status
        - total
        - indexed_count
        - failed_count
        - skipped_count
        - progress
        - started_at
        - completed_at
      properties:
        job_id:
          type: string
          format: uuid
          description: Unique import job identifier.
        status:
          type: string
          enum:
            - pending
            - processing
            - done
            - failed
          description: |-
            The current job status.

            - `pending` — the job is queued and waiting for a worker.
            - `processing` — a worker is actively processing the file.
            - `done` — the import completed.
            - `failed` — the import failed.
        total:
          type: integer
          description: The total number of products in the uploaded file.
        indexed_count:
          type: integer
          description: The number of products successfully indexed so far.
        failed_count:
          type: integer
          description: The number of products that failed validation or indexing.
        skipped_count:
          type: integer
          description: >-
            The number of products that remained unchanged since the last import
            and were not reprocessed.
        progress:
          type: integer
          description: >-
            The number of products processed so far out of `total`: the sum of
            `indexed_count` and `failed_count`.
        started_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            The timestamp when processing started, or `null` if processing
            hasn't started.
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            The timestamp when processing finished, or `null` if processing
            hasn't finished.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              description: The error category.
            message:
              type: string
              description: A message describing the error.
  securitySchemes:
    PersonalAccessToken:
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
      type: http
      scheme: basic

````