commercetools ImportContainers API
Manage import containers that hold import requests before processing.
Manage import containers that hold import requests before processing.
openapi: 3.1.0
info:
title: commercetools Change History Carts ImportContainers API
description: The commercetools Change History API provides a queryable audit log of all changes made to resources within a Composable Commerce project. It records mutations applied to resources such as products, orders, customers, discounts, and carts, along with metadata about who made the change and when. The API is hosted on separate regional endpoints from the main HTTP API and supports filtering by resource type, date range, user, and API client. It is useful for compliance workflows, debugging unexpected state changes, and building audit trails for regulated industries.
version: '1.0'
contact:
name: commercetools Support
url: https://support.commercetools.com
termsOfService: https://commercetools.com/terms-conditions
servers:
- url: https://history.{region}.commercetools.com
description: Production Change History Server
variables:
region:
default: us-central1.gcp
enum:
- us-central1.gcp
- us-east-2.aws
- europe-west1.gcp
- eu-central-1.aws
- australia-southeast1.gcp
description: The deployment region.
security:
- bearerAuth: []
tags:
- name: ImportContainers
description: Manage import containers that hold import requests before processing.
paths:
/{projectKey}/import-containers:
get:
operationId: listImportContainers
summary: List import containers
description: Returns a paginated list of all import containers in the project. Import containers are the primary organizational unit for grouping related import requests. Each project can have up to 1,000 containers.
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: A paged list of import containers.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainerPagedQueryResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createImportContainer
summary: Create an import container
description: Creates a new import container. The container acts as a namespace for related import operations. A maximum of 1,000 containers can be created per project. Optimal performance is maintained under 200,000 import operations per container.
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainerDraft'
responses:
'201':
description: The created import container.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainer'
'400':
$ref: '#/components/responses/BadRequest'
/{projectKey}/import-containers/{importContainerKey}:
get:
operationId: getImportContainerByKey
summary: Get an import container by key
description: Retrieves an import container by its user-defined key, including its resource type scope and version information.
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
- $ref: '#/components/parameters/importContainerKey'
responses:
'200':
description: The requested import container.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainer'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateImportContainerByKey
summary: Update an import container by key
description: Replaces the import container identified by the given key with the provided draft. The key itself cannot be changed.
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
- $ref: '#/components/parameters/importContainerKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainerDraft'
responses:
'200':
description: The updated import container.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainer'
delete:
operationId: deleteImportContainerByKey
summary: Delete an import container by key
description: Permanently deletes the import container with the given key. All associated import operations and their status records are also removed.
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
- $ref: '#/components/parameters/importContainerKey'
responses:
'200':
description: The deleted import container.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportContainer'
/{projectKey}/import-containers/{importContainerKey}/import-summary:
get:
operationId: getImportContainerSummary
summary: Get import summary for a container
description: Returns aggregated statistics for all import operations in the given container, grouped by processing state (Accepted, ValidationFailed, Unresolved, WaitForMasterVariant, Imported, Rejected, Cancelled).
tags:
- ImportContainers
parameters:
- $ref: '#/components/parameters/projectKey'
- $ref: '#/components/parameters/importContainerKey'
responses:
'200':
description: The import summary with operation counts by state.
content:
application/json:
schema:
$ref: '#/components/schemas/ImportSummary'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
ImportSummary:
type: object
description: Aggregated counts of import operations grouped by processing state.
required:
- states
- total
properties:
states:
type: object
description: Map of import operation state names to their counts.
properties:
Accepted:
type: integer
description: Number of operations accepted and queued for processing.
ValidationFailed:
type: integer
description: Number of operations that failed schema or data validation.
Unresolved:
type: integer
description: Number of operations waiting for referenced resources to be created.
WaitForMasterVariant:
type: integer
description: Number of variant operations waiting for the master variant.
Imported:
type: integer
description: Number of operations successfully imported.
Rejected:
type: integer
description: Number of operations permanently rejected after retry exhaustion.
Cancelled:
type: integer
description: Number of operations cancelled before processing.
total:
type: integer
description: Total number of import operations in the container.
ImportContainerPagedQueryResponse:
type: object
description: Paginated response containing a list of import containers.
required:
- limit
- offset
- count
- total
- results
properties:
limit:
type: integer
offset:
type: integer
count:
type: integer
total:
type: integer
results:
type: array
items:
$ref: '#/components/schemas/ImportContainer'
ImportContainerDraft:
type: object
description: Request body for creating or replacing an import container.
required:
- key
properties:
key:
type: string
description: User-defined unique key (2-256 characters, alphanumeric with hyphens/underscores).
resourceType:
type: string
description: Optional resource type scope for the container.
ImportContainer:
type: object
description: A container that groups related import requests for a specific resource type.
required:
- key
- version
- resourceType
properties:
key:
type: string
description: User-defined unique key for the container (2-256 characters).
version:
type: integer
description: Current version of the import container.
resourceType:
type: string
description: The resource type this container is scoped to (e.g., 'product', 'category').
createdAt:
type: string
format: date-time
description: ISO 8601 timestamp when the container was created.
lastModifiedAt:
type: string
format: date-time
description: ISO 8601 timestamp when the container was last modified.
responses:
Unauthorized:
description: The request lacked valid authentication credentials.
content:
application/json:
schema:
type: object
properties:
statusCode:
type: integer
message:
type: string
BadRequest:
description: The request was malformed or contained invalid parameters.
content:
application/json:
schema:
type: object
properties:
statusCode:
type: integer
message:
type: string
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
type: object
properties:
statusCode:
type: integer
message:
type: string
parameters:
projectKey:
name: projectKey
in: path
required: true
schema:
type: string
description: The unique key of the commercetools project.
importContainerKey:
name: importContainerKey
in: path
required: true
schema:
type: string
description: The user-defined key of the import container.
offset:
name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
description: Number of results to skip for pagination.
limit:
name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 500
default: 20
description: Maximum number of results to return.
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: OAuth 2.0 Bearer token obtained from the commercetools authentication service using client credentials flow. Requires the view_audit_log scope.
externalDocs:
description: commercetools Change History API Documentation
url: https://docs.commercetools.com/api/history/overview