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

# Import-Job abrufen

> Poll an async batch import job for status, progress and — once `completed` — the merged result. Requires the job kind's read scope (`articles:read`, `suppliers:read` or `orders:read`; the corresponding write scope implies it). Poll every ~2 s and back off for large jobs; `completed` and `failed` are terminal. An unknown job id and another company's job id both return the same `404`.



## OpenAPI

````yaml GET /api/import-jobs/{jobId}
openapi: 3.1.0
info:
  title: Polygon One EUDR Compliance API
  description: >-
    API for integrating ERP systems with the Polygon One EUDR Compliance
    Platform. Allows management of Articles, Suppliers, Orders, and Due
    Diligence Statements (DDS).
  version: 1.0.0
servers:
  - url: https://app.polygonone.com
    description: Production Server
security:
  - bearerAuth: []
paths:
  /api/import-jobs/{jobId}:
    get:
      summary: Get Import Job
      description: >-
        Poll an async batch import job for status, progress and — once
        `completed` — the merged result. Requires the job kind's read scope
        (`articles:read`, `suppliers:read` or `orders:read`; the corresponding
        write scope implies it). Poll every ~2 s and back off for large jobs;
        `completed` and `failed` are terminal. An unknown job id and another
        company's job id both return the same `404`.
      operationId: getImportJob
      parameters:
        - name: jobId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Job id returned by the batch `POST` (also in its `Location` header)
      responses:
        '200':
          description: The import job
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportJob'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ImportJob:
      type: object
      description: >-
        Async batch import job. `completed` and `failed` are terminal — stop
        polling. The staged input payload is freed ~24 h after the job finishes
        and the job row itself is deleted ~30 days after creation; poll and
        persist the result within that window.
      properties:
        jobId:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - articles
            - suppliers
            - orders
        status:
          type: string
          enum:
            - queued
            - running
            - completed
            - failed
        progress:
          $ref: '#/components/schemas/ImportJobProgress'
        result:
          oneOf:
            - $ref: '#/components/schemas/BatchImportResult'
            - type: 'null'
          description: >-
            Entity-native merged batch result, present once `status` is
            `completed`. Orders additionally carry `skippedOrders` and
            `autoCreated`; articles carry `skippedRows`; suppliers carry
            `inferredCountryCount`.
        error:
          type:
            - string
            - 'null'
          description: >-
            Stable machine key when `status` is `failed` — e.g. `workerError`,
            `dispatchFailed`, or a JSON string for structured failures:
            `{"key":"lineReplacementRequired","orderNumbers":[…]}` or
            `{"key":"invalidPayload","issues":[{"path","code"}]}`. Never
            contains payload values.
        createdAt:
          type: string
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
    ImportJobProgress:
      type: object
      properties:
        total:
          type: integer
          description: Rows accepted into the job
        processed:
          type: integer
          description: Rows processed so far (authoritative once the job is terminal)
        failed:
          type: integer
          description: Rows that failed with a per-row error
    BatchImportResult:
      type: object
      properties:
        imported:
          type: array
          items:
            type: object
          description: Successfully imported items
        failed:
          type: array
          items:
            type: object
            properties:
              error:
                type: string
                description: >-
                  Stable machine error key (e.g. `dbError`,
                  `supplierExternalIdConflict`)
          description: Items that failed to import
        skipped:
          type: integer
          description: Number of skipped (duplicate) items
        updated:
          type: array
          items:
            type: object
          description: Existing items updated by the import
      description: >-
        Merged result of an async batch import, returned in the import job's
        `result` field once the job is `completed`. Valid rows commit even when
        other rows fail (partial accept); replaying an identical import is
        idempotent (matched rows return as skipped/updated, no duplicates).
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        details:
          description: Additional error details (e.g. validation issues)
      required:
        - error
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Insufficient permissions for this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        API key generated in Settings > API Keys. Include as `Authorization:
        Bearer <key>`.

````