openapi: "3.0.0" info: title: Import API version: "v1" servers: - url: https://import.europe-west1.gcp.commercetools.com paths: /{projectKey}/business-units/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_project:{projectKey}" - "manage_business_units:{projectKey}" operationId: ByProjectKeyBusinessUnitsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Business Units. requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessUnitImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/categories/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyCategoriesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Categories. requestBody: content: application/json: schema: $ref: '#/components/schemas/CategoryImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/customers/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_customers:{projectKey}" operationId: ByProjectKeyCustomersImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Customers. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/discount-codes/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_discount_codes:{projectKey}" - "view_discount_codes:{projectKey}" operationId: ByProjectKeyDiscountCodesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Discount Codes. requestBody: content: application/json: schema: $ref: '#/components/schemas/DiscountCodeImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/import-containers: parameters: - name: projectKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersPost description: |- Creates an Import Container in the Project. Generates the [ImportContainerCreated](ctp:api:type:ImportContainerCreatedEvent) Event. requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportContainerDraft' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportContainer' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: security: - oauth_2_0: - "manage_import_containers:{projectKey}" - "view_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersGet description: |- Retrieves all ImportContainers in the Project. parameters: - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ImportContainerPagedResponse' /{projectKey}/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" put: security: - oauth_2_0: - "manage_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersByImportContainerKeyPut description: |- Updates an [ImportContainer](ctp:import:type:ImportContainer) in the Project. requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportContainerUpdateDraft' responses: "200": description: |- The [ImportContainer](ctp:import:type:ImportContainer) was successfully updated. content: application/json: schema: $ref: '#/components/schemas/ImportContainer' "409": description: |- A concurrent modification was detected. The client should retry and resolve the conflict. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' get: security: - oauth_2_0: - "manage_import_containers:{projectKey}" - "view_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersByImportContainerKeyGet description: |- Retrieves an [ImportContainer](ctp:import:type:ImportContainer) with the provided `importContainerKey`. responses: "200": description: |- The requested Import Container was found. content: application/json: schema: $ref: '#/components/schemas/ImportContainer' "404": description: |- The requested Import Container wasn't found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' delete: security: - oauth_2_0: - "manage_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersByImportContainerKeyDelete description: |- Deletes an Import Container in the Project. Generates the [ImportContainerDeleted](ctp:api:type:ImportContainerDeletedEvent) Event. responses: "200": description: |- The deleted Import Container. content: application/json: schema: $ref: '#/components/schemas/ImportContainer' "404": description: |- The Import Container to delete wasn't found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/import-containers/{importContainerKey}/import-operations: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_import_containers:{projectKey}" - "view_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersByImportContainerKeyImportOperationsGet description: |- Retrieves all ImportOperations within an [ImportContainer](ctp:import:type:ImportContainer). parameters: - name: limit x-annotation-default: 20 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: offset x-annotation-default: 0 in: query required: false style: form schema: type: "number" format: "double" explode: true - name: sort in: query required: false style: form schema: type: "array" items: type: "string" explode: true - name: resourceKey in: query required: false style: form schema: type: "string" explode: true - name: state in: query required: false style: form schema: $ref: '#/components/schemas/ProcessingState' explode: true - name: debug x-annotation-default: false in: query required: false style: form schema: type: "boolean" explode: true responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ImportOperationPagedResponse' /{projectKey}/import-containers/{importContainerKey}/import-summaries: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_import_containers:{projectKey}" - "view_import_containers:{projectKey}" operationId: ByProjectKeyImportContainersByImportContainerKeyImportSummariesGet description: |- Retrieves an [ImportSummary](ctp:import:type:ImportSummary) for the [ImportContainer](ctp:import:type:ImportContainer) with the provided `importContainerKey`. The returned values are [eventually consistent](/general-concepts#eventual-consistency). responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ImportSummary' /{projectKey}/import-operations/{id}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: id in: path required: true schema: type: "string" get: security: - oauth_2_0: - "manage_import_containers:{projectKey}" - "view_import_containers:{projectKey}" operationId: ByProjectKeyImportOperationsByIdGet description: |- Retrieves an ImportOperation with the provided `id`. responses: "200": description: |- 200 content: application/json: schema: $ref: '#/components/schemas/ImportOperation' "404": description: |- 404 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' "503": description: |- 503 content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/inventories/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyInventoriesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for InventoryEntries. requestBody: content: application/json: schema: $ref: '#/components/schemas/InventoryImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/order-patches/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrderPatchesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for updating Orders. requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderPatchImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/orders/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_orders:{projectKey}" operationId: ByProjectKeyOrdersImportContainersByImportContainerKeyPost description: |- Creates an Import Request for creating Orders. requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/prices/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyPricesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Embedded Prices. requestBody: content: application/json: schema: $ref: '#/components/schemas/PriceImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-drafts/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductDraftsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Products. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductDraftImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-selections/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_product_selections:{projectKey}" - "view_product_selections:{projectKey}" operationId: ByProjectKeyProductSelectionsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Product Selections. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductSelectionImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-tailorings/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTailoringsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Product Tailoring. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTailoringImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-types/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductTypesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for ProductTypes. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductTypeImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-variant-patches/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductVariantPatchesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for updating Product Variants. Returns an [InvalidField](ctp:import:type:InvalidFieldError) error if the [ProductVariantPatchRequest](ctp:import:type:ProductVariantPatchRequest) contains patches with and without the `product` field set. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductVariantPatchRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/product-variants/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductVariantsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for ProductVariants. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductVariantImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/products/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyProductsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Products. requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/standalone-prices/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_standalone_prices:{projectKey}" - "view_standalone_prices:{projectKey}" operationId: ByProjectKeyStandalonePricesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Standalone Prices. requestBody: content: application/json: schema: $ref: '#/components/schemas/StandalonePriceImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/types/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_project:{projectKey}" - "manage_types:{projectKey}" operationId: ByProjectKeyTypesImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Types. requestBody: content: application/json: schema: $ref: '#/components/schemas/TypeImportRequest' responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /{projectKey}/variants/import-containers/{importContainerKey}: parameters: - name: projectKey in: path required: true schema: type: "string" - name: importContainerKey in: path required: true schema: type: "string" post: security: - oauth_2_0: - "manage_products:{projectKey}" operationId: ByProjectKeyVariantsImportContainersByImportContainerKeyPost description: |- Creates an Import Request for Variants. This endpoint is only available for Projects with `productCatalogModel` set to `Modular`. requestBody: content: application/json: schema: $ref: '#/components/schemas/VariantImportRequest' x-beta: true responses: "201": description: |- 201 content: application/json: schema: $ref: '#/components/schemas/ImportResponse' "400": description: |- The request was invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: securitySchemes: oauth_2_0: type: oauth2 description: | HTTP API authorization uses [OAuth2](https://datatracker.ietf.org/doc/html/rfc6750){:target="_blank"}. Clients must obtain an access token from the auth service using one of the authorization flows described below, before they are able to make authorized requests to other Composable Commerce APIs. On successful completion of an authorization flow, a client will be given an `access_token`, which they need to include in requests to authorized service endpoints via the HTTP `Authorization` header like this: flows: clientCredentials: tokenUrl: https://auth.europe-west1.gcp.commercetools.com/oauth/token scopes: "manage_project:{projectKey}": "" "view_products:{projectKey}": "" "manage_products:{projectKey}": "" "view_orders:{projectKey}": "" "manage_orders:{projectKey}": "" schemas: ErrorResponse: type: "object" required: - message - statusCode properties: statusCode: type: "integer" format: "int32" message: type: "string" error: type: "string" error_description: type: "string" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' ErrorObject: type: "object" discriminator: propertyName: code mapping: access_denied: '#/components/schemas/AccessDeniedError' ConcurrentModification: '#/components/schemas/ConcurrentModificationError' Contention: '#/components/schemas/ContentionError' DuplicateAttributeValue: '#/components/schemas/DuplicateAttributeValueError' DuplicateAttributeValues: '#/components/schemas/DuplicateAttributeValuesError' DuplicateField: '#/components/schemas/DuplicateFieldError' DuplicateVariantValues: '#/components/schemas/DuplicateVariantValuesError' Generic: '#/components/schemas/GenericError' insufficient_scope: '#/components/schemas/InsufficientScopeError' InvalidCredentials: '#/components/schemas/InvalidCredentialsError' InvalidField: '#/components/schemas/InvalidFieldError' InvalidFieldUpdate: '#/components/schemas/InvalidFieldsUpdateError' InvalidInput: '#/components/schemas/InvalidInput' InvalidJsonInput: '#/components/schemas/InvalidJsonInput' InvalidOperation: '#/components/schemas/InvalidOperation' invalid_scope: '#/components/schemas/InvalidScopeError' InvalidTransition: '#/components/schemas/InvalidStateTransitionError' invalid_token: '#/components/schemas/InvalidTokenError' NewMasterVariantAdditionNotAllowed: '#/components/schemas/NewMasterVariantAdditionNotAllowedError' RequiredField: '#/components/schemas/RequiredFieldError' ResourceCreation: '#/components/schemas/ResourceCreationError' ResourceDeletion: '#/components/schemas/ResourceDeletionError' ResourceNotFound: '#/components/schemas/ResourceNotFoundError' ResourceUpdate: '#/components/schemas/ResourceUpdateError' required: - code - message properties: code: type: "string" message: type: "string" AccessDeniedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidOperation: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" DuplicateAttributeValueError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - attribute properties: code: type: "string" message: type: "string" attribute: $ref: '#/components/schemas/Attribute' DuplicateAttributeValuesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - attributes properties: code: type: "string" message: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' DuplicateFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" field: type: "string" duplicateValue: {} DuplicateVariantValuesError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - variantValues properties: code: type: "string" message: type: "string" variantValues: $ref: '#/components/schemas/VariantValues' VariantValues: type: "object" required: - attributes - prices properties: sku: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceImport' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' InsufficientScopeError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidCredentialsError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidTokenError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - field - invalidValue properties: code: type: "string" message: type: "string" field: type: "string" invalidValue: {} allowedValues: type: "array" items: {} resourceIndex: type: "integer" format: "int32" InvalidFieldsUpdateError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - fields - message properties: code: type: "string" message: type: "string" fields: type: "array" items: type: "string" InvalidJsonInput: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" InvalidInput: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" ResourceNotFoundError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" resource: {} ResourceCreationError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" resource: {} ResourceUpdateError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" resource: {} ResourceDeletionError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" resource: {} RequiredFieldError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - field properties: code: type: "string" message: type: "string" field: type: "string" InvalidStateTransitionError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - currentState - newState properties: code: type: "string" message: type: "string" currentState: $ref: '#/components/schemas/ProcessingState' newState: $ref: '#/components/schemas/ProcessingState' ConcurrentModificationError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - currentVersion properties: code: type: "string" message: type: "string" specifiedVersion: type: "integer" format: "int32" currentVersion: type: "integer" format: "int32" conflictedResource: {} ContentionError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" GenericError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" properties: code: type: "string" message: type: "string" NewMasterVariantAdditionNotAllowedError: allOf: - $ref: '#/components/schemas/ErrorObject' - type: "object" required: - message properties: code: type: "string" message: type: "string" Asset: type: "object" required: - key - name - sources properties: key: type: "string" sources: type: "array" items: $ref: '#/components/schemas/AssetSource' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' tags: type: "array" items: type: "string" custom: $ref: '#/components/schemas/Custom' AssetDimensions: type: "object" required: - h - w properties: w: type: "number" format: "double" h: type: "number" format: "double" AssetSource: type: "object" required: - uri properties: uri: type: "string" key: type: "string" dimensions: $ref: '#/components/schemas/AssetDimensions' contentType: type: "string" CountryCode: type: "string" CurrencyCode: type: "string" Image: type: "object" required: - dimensions - url properties: url: type: "string" dimensions: $ref: '#/components/schemas/AssetDimensions' label: type: "string" EnumValue: type: "object" required: - key - label properties: key: type: "string" label: type: "string" LocalizedEnumValue: type: "object" required: - key - label properties: key: type: "string" label: $ref: '#/components/schemas/LocalizedString' LocalizedString: type: "object" required: - /^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|d{3}))?$/ additionalProperties: type: "string" ImportResource: type: "object" required: - key properties: key: type: "string" KeyReference: type: "object" discriminator: propertyName: typeId mapping: associate-role: '#/components/schemas/AssociateRoleKeyReference' business-unit: '#/components/schemas/BusinessUnitKeyReference' cart-discount: '#/components/schemas/CartDiscountKeyReference' cart: '#/components/schemas/CartKeyReference' category: '#/components/schemas/CategoryKeyReference' channel: '#/components/schemas/ChannelKeyReference' key-value-document: '#/components/schemas/CustomObjectKeyReference' customer-group: '#/components/schemas/CustomerGroupKeyReference' customer: '#/components/schemas/CustomerKeyReference' discount-code: '#/components/schemas/DiscountCodeKeyReference' order: '#/components/schemas/OrderKeyReference' payment: '#/components/schemas/PaymentKeyReference' price: '#/components/schemas/PriceKeyReference' product-discount: '#/components/schemas/ProductDiscountKeyReference' product: '#/components/schemas/ProductKeyReference' product-type: '#/components/schemas/ProductTypeKeyReference' product-variant: '#/components/schemas/ProductVariantKeyReference' shipping-method: '#/components/schemas/ShippingMethodKeyReference' state: '#/components/schemas/StateKeyReference' store: '#/components/schemas/StoreKeyReference' tax-category: '#/components/schemas/TaxCategoryKeyReference' type: '#/components/schemas/TypeKeyReference' required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CartKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CartDiscountKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CategoryKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ChannelKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CustomerKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CustomerGroupKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' CustomObjectKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - container - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' container: type: "string" DiscountCodeKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' OrderKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' PaymentKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' PriceKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ProductKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ProductDiscountKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ProductTypeKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ProductVariantKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' ShippingMethodKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' StateKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' StoreKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' TaxCategoryKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' TypeKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' AssociateRoleKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' BusinessUnitKeyReference: allOf: - $ref: '#/components/schemas/KeyReference' - type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' UnresolvedReferences: type: "object" required: - key - typeId properties: key: type: "string" typeId: $ref: '#/components/schemas/ReferenceType' MoneyType: type: "string" enum: - centPrecision - highPrecision TypedMoney: type: "object" discriminator: propertyName: type mapping: highPrecision: '#/components/schemas/HighPrecisionMoney' centPrecision: '#/components/schemas/Money' required: - centAmount - currencyCode - type properties: type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "number" format: "double" centAmount: type: "number" format: "double" currencyCode: $ref: '#/components/schemas/CurrencyCode' HighPrecisionMoney: allOf: - $ref: '#/components/schemas/TypedMoney' - type: "object" required: - preciseAmount properties: type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "number" format: "double" centAmount: type: "number" format: "double" currencyCode: $ref: '#/components/schemas/CurrencyCode' preciseAmount: type: "number" format: "double" Money: allOf: - $ref: '#/components/schemas/TypedMoney' - type: "object" properties: type: $ref: '#/components/schemas/MoneyType' fractionDigits: type: "number" format: "double" centAmount: type: "number" format: "double" currencyCode: $ref: '#/components/schemas/CurrencyCode' DiscountedPrice: type: "object" required: - discount - value properties: value: $ref: '#/components/schemas/TypedMoney' discount: $ref: '#/components/schemas/ProductDiscountKeyReference' PriceTier: type: "object" required: - minimumQuantity - value properties: minimumQuantity: type: "number" format: "double" value: $ref: '#/components/schemas/TypedMoney' ImportResourceType: type: "string" enum: - business-unit - category - customer - discount-code - inventory - order - order-patch - price - product - product-draft - product-selection - product-tailoring - product-type - product-variant - product-variant-patch - standalone-price - variant - type x-annotation-enumDescriptions: business-unit: "The [Business Unit import](/import-export/import-resources#for-business-units) resource type." category: "The [Category import](ctp:import:type:CategoryImport) resource type." customer: "The [Customer import](ctp:import:type:CustomerImport) resource type." discount-code: "The [Discount Code import](ctp:import:type:DiscountCodeImport) resource type." inventory: "The [Inventory import](ctp:import:type:InventoryImport) resource type." order: "The [Order import](ctp:import:type:OrderImport) resource type." order-patch: "The [Order patch import](ctp:import:type:OrderPatchImport) resource type." price: "The [Embedded Price import](ctp:import:type:PriceImport) resource type." product: "The [Product import](ctp:import:type:ProductImport) resource type." product-draft: "The [Product draft import](ctp:import:type:ProductDraftImport) resource type." product-selection: "The [Product Selection import](ctp:import:type:ProductSelectionImport) resource type." product-tailoring: "The [Product Tailoring import](ctp:import:type:ProductTailoringImport) resource type." product-type: "The [Product Type import](ctp:import:type:ProductTypeImport) resource type." product-variant: "The [Product Variant import](ctp:import:type:ProductVariantImport) resource type." product-variant-patch: "The [Product Variant patch](ctp:import:type:ProductVariantPatch) resource type." standalone-price: "The [Standalone Price import](ctp:import:type:StandalonePriceImport) resource type." variant: "The [Variant import](ctp:import:type:VariantImport) resource type." type: "The [Type import](ctp:import:type:TypeImport) resource type." ReferenceType: type: "string" enum: - associate-role - business-unit - cart - cart-discount - category - channel - customer - customer-group - discount-code - key-value-document - order - payment - price - product - product-discount - product-type - product-variant - variant - shipping-method - state - store - tax-category - type x-annotation-enumDescriptions: associate-role: "References an associate role." business-unit: "References a business unit." cart: "References a cart." cart-discount: "References a cart discount." category: "References a category." channel: "References a channel." customer: "References a customer." customer-group: "References a customer group." discount-code: "References a discount code." key-value-document: "References a custom object" order: "References an order." payment: "References a payment" price: "References a price." product: "References a product." product-discount: "References a product discount." product-type: "References a product type." product-variant: "References a product variant." variant: "References a variant." shipping-method: "References a shipping method." state: "References a state." store: "References a store." tax-category: "References a tax-category." type: "References a type." ProcessingState: type: "string" enum: - processing - validationFailed - unresolved - waitForMasterVariant - imported - rejected - canceled - partiallyImported x-annotation-enumDescriptions: processing: "The initial state assigned if the request payload (JSON structure and fields) meets Import API specifications. The resource import is in progress." imported: "The resource was successfully imported." unresolved: "The import request contains [KeyReferences](ctp:api:type:KeyReference) to resources that do not exist in your Composable Commerce Project. Generates the [ImportUnresolved](ctp:api:type:ImportUnresolvedEvent) Event." validationFailed: "Either the request payload is missing the data as per Import API specifications, or even though the references were resolved, the data does not meet validation constraints. Generates the [ImportValidationFailed](ctp:api:type:ImportValidationFailedEvent) Event." waitForMasterVariant: "Products must have at least one Product Variant, also known as the Master Variant. If you import a Product without a Master Variant and the referenced Product Type has required Variant Attributes, the import request has this status until another import request includes Master Variant data for the Product. Products without required Variant Attributes are imported without entering this state. Generates the [ImportWaitForMasterVariant](ctp:api:type:ImportWaitForMasterVariantEvent) Event." rejected: "The resource could not be imported. References were resolved, but the system could not import the data due to an internal server error and the retry limit was reached. Generates the [ImportOperationRejected](ctp:api:type:ImportOperationRejectedEvent) Event." canceled: "The import request was canceled and the resource was not imported." partiallyImported: "The resource was partially imported. Some actions succeeded but others failed. The ImportOperation includes error details for the failed parts." Address: type: "object" required: - country properties: id: type: "string" key: type: "string" title: type: "string" salutation: type: "string" firstName: type: "string" lastName: type: "string" streetName: type: "string" streetNumber: type: "string" additionalStreetInfo: type: "string" postalCode: type: "string" city: type: "string" region: type: "string" state: type: "string" country: $ref: '#/components/schemas/CountryCode' company: type: "string" department: type: "string" building: type: "string" apartment: type: "string" pOBox: type: "string" phone: type: "string" mobile: type: "string" email: type: "string" fax: type: "string" additionalAddressInfo: type: "string" externalId: type: "string" custom: $ref: '#/components/schemas/Custom' ProductPriceModeEnum: type: "string" enum: - Embedded - Standalone Custom: type: "object" required: - type properties: type: $ref: '#/components/schemas/TypeKeyReference' fields: $ref: '#/components/schemas/FieldContainer' FieldContainer: type: "object" required: - // additionalProperties: type: "string" CustomField: type: "object" discriminator: propertyName: type mapping: Boolean: '#/components/schemas/BooleanField' BooleanSet: '#/components/schemas/BooleanSetField' Date: '#/components/schemas/DateField' DateSet: '#/components/schemas/DateSetField' DateTime: '#/components/schemas/DateTimeField' DateTimeSet: '#/components/schemas/DateTimeSetField' Enum: '#/components/schemas/EnumField' EnumSet: '#/components/schemas/EnumSetField' LocalizedEnum: '#/components/schemas/LocalizedEnumField' LocalizedEnumSet: '#/components/schemas/LocalizedEnumSetField' LocalizedString: '#/components/schemas/LocalizedStringField' LocalizedStringSet: '#/components/schemas/LocalizedStringSetField' Money: '#/components/schemas/MoneyField' MoneySet: '#/components/schemas/MoneySetField' Number: '#/components/schemas/NumberField' NumberSet: '#/components/schemas/NumberSetField' Reference: '#/components/schemas/ReferenceField' ReferenceSet: '#/components/schemas/ReferenceSetField' String: '#/components/schemas/StringField' StringSet: '#/components/schemas/StringSetField' Time: '#/components/schemas/TimeField' TimeSet: '#/components/schemas/TimeSetField' required: - type properties: type: type: "string" BooleanField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "boolean" BooleanSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "boolean" DateField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" format: "date-only" DateSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" format: "date-only" DateTimeField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" format: "datetime" DateTimeSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" format: "datetime" EnumField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" EnumSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" LocalizedEnumField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" LocalizedEnumSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" LocalizedStringField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: $ref: '#/components/schemas/LocalizedString' LocalizedStringSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: $ref: '#/components/schemas/LocalizedString' MoneyField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: $ref: '#/components/schemas/TypedMoney' MoneySetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: $ref: '#/components/schemas/TypedMoney' NumberField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "number" format: "double" NumberSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "number" format: "double" ReferenceField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: $ref: '#/components/schemas/KeyReference' ReferenceSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: $ref: '#/components/schemas/KeyReference' StringField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" StringSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" TimeField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "string" format: "time-only" TimeSetField: allOf: - $ref: '#/components/schemas/CustomField' - type: "object" required: - value properties: type: type: "string" value: type: "array" items: type: "string" format: "time-only" ImportOperation: type: "object" required: - createdAt - expiresAt - id - importContainerKey - lastModifiedAt - resourceKey - state - version properties: version: type: "integer" format: "int32" importContainerKey: type: "string" resourceKey: type: "string" id: type: "string" state: $ref: '#/components/schemas/ProcessingState' resourceVersion: type: "integer" format: "int32" errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' unresolvedReferences: type: "array" items: $ref: '#/components/schemas/UnresolvedReferences' createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" expiresAt: type: "string" format: "datetime" ImportOperationPagedResponse: type: "object" required: - count - limit - offset - results - total properties: limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" count: type: "integer" format: "int32" total: type: "integer" format: "int32" results: type: "array" items: $ref: '#/components/schemas/ImportOperation' ImportOperationState: type: "string" enum: - processing - validationFailed x-annotation-enumDescriptions: processing: "The import is in process. This is the initial state of the ImportOperation." validationFailed: "The validation of the import resource failed." ImportOperationStatus: type: "object" required: - state properties: operationId: type: "string" state: $ref: '#/components/schemas/ImportOperationState' errors: type: "array" items: $ref: '#/components/schemas/ErrorObject' StrategyEnum: type: "string" enum: - ttl x-annotation-enumDescriptions: ttl: "Time to live" RetentionPolicy: type: "object" discriminator: propertyName: strategy mapping: ttl: '#/components/schemas/TimeToLiveRetentionPolicy' required: - strategy properties: strategy: $ref: '#/components/schemas/StrategyEnum' TimeToLiveConfig: type: "object" required: - timeToLive properties: timeToLive: type: "string" TimeToLiveRetentionPolicy: allOf: - $ref: '#/components/schemas/RetentionPolicy' - type: "object" required: - config properties: strategy: $ref: '#/components/schemas/StrategyEnum' config: $ref: '#/components/schemas/TimeToLiveConfig' ImportContainer: type: "object" required: - createdAt - key - lastModifiedAt - version properties: key: type: "string" resourceType: $ref: '#/components/schemas/ImportResourceType' version: type: "number" format: "double" retentionPolicy: $ref: '#/components/schemas/RetentionPolicy' createdAt: type: "string" format: "datetime" lastModifiedAt: type: "string" format: "datetime" expiresAt: type: "string" format: "datetime" ImportContainerDraft: type: "object" required: - key properties: key: type: "string" resourceType: $ref: '#/components/schemas/ImportResourceType' retentionPolicy: $ref: '#/components/schemas/RetentionPolicy' ImportContainerUpdateDraft: type: "object" required: - version properties: version: type: "number" format: "double" resourceType: $ref: '#/components/schemas/ImportResourceType' ImportContainerPagedResponse: type: "object" required: - count - limit - offset - results - total properties: limit: type: "integer" format: "int32" offset: type: "integer" format: "int32" count: type: "integer" format: "int32" total: type: "integer" format: "int32" results: type: "array" items: $ref: '#/components/schemas/ImportContainer' ImportSummary: type: "object" required: - states - total properties: states: $ref: '#/components/schemas/OperationStates' total: type: "integer" format: "int32" OperationStates: type: "object" required: - canceled - imported - partiallyImported - processing - rejected - unresolved - validationFailed - waitForMasterVariant properties: processing: type: "integer" format: "int32" validationFailed: type: "integer" format: "int32" unresolved: type: "integer" format: "int32" waitForMasterVariant: type: "integer" format: "int32" imported: type: "integer" format: "int32" rejected: type: "integer" format: "int32" canceled: type: "integer" format: "int32" partiallyImported: type: "integer" format: "int32" ImportRequest: type: "object" discriminator: propertyName: type mapping: business-unit: '#/components/schemas/BusinessUnitImportRequest' category: '#/components/schemas/CategoryImportRequest' customer: '#/components/schemas/CustomerImportRequest' discount-code: '#/components/schemas/DiscountCodeImportRequest' inventory: '#/components/schemas/InventoryImportRequest' order: '#/components/schemas/OrderImportRequest' order-patch: '#/components/schemas/OrderPatchImportRequest' price: '#/components/schemas/PriceImportRequest' product-draft: '#/components/schemas/ProductDraftImportRequest' product: '#/components/schemas/ProductImportRequest' product-selection: '#/components/schemas/ProductSelectionImportRequest' product-tailoring: '#/components/schemas/ProductTailoringImportRequest' product-type: '#/components/schemas/ProductTypeImportRequest' product-variant: '#/components/schemas/ProductVariantImportRequest' product-variant-patch: '#/components/schemas/ProductVariantPatchRequest' standalone-price: '#/components/schemas/StandalonePriceImportRequest' type: '#/components/schemas/TypeImportRequest' variant: '#/components/schemas/VariantImportRequest' required: - type properties: type: $ref: '#/components/schemas/ImportResourceType' ImportResponse: type: "object" required: - operationStatus properties: operationStatus: type: "array" items: $ref: '#/components/schemas/ImportOperationStatus' CategoryImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/CategoryImport' ProductImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductImport' ProductDraftImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductDraftImport' ProductTypeImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductTypeImport' ProductVariantImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductVariantImport' PriceImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/PriceImport' StandalonePriceImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/StandalonePriceImport' VariantImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/VariantImport' OrderImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/OrderImport' OrderPatchImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - patches properties: type: $ref: '#/components/schemas/ImportResourceType' patches: type: "array" items: $ref: '#/components/schemas/OrderPatchImport' ProductVariantPatchRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - patches properties: type: $ref: '#/components/schemas/ImportResourceType' patches: type: "array" items: $ref: '#/components/schemas/ProductVariantPatch' CustomerImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/CustomerImport' InventoryImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/InventoryImport' TypeImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/TypeImport' DiscountCodeImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/DiscountCodeImport' ProductSelectionImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductSelectionImport' ProductTailoringImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/ProductTailoringImport' BusinessUnitImportRequest: allOf: - $ref: '#/components/schemas/ImportRequest' - type: "object" required: - resources properties: type: $ref: '#/components/schemas/ImportResourceType' resources: type: "array" items: $ref: '#/components/schemas/BusinessUnitImport' AssociateRoleInheritanceMode: type: "string" enum: - Enabled - Disabled BusinessUnitStatus: type: "string" enum: - Active - Inactive BusinessUnitAssociateMode: type: "string" enum: - Explicit - ExplicitAndFromParent x-annotation-enumDescriptions: Explicit: "All Associates of a Business Unit must be explicitly assigned. The Business Unit cannot inherit Associates from a parent.n" ExplicitAndFromParent: "Associates of a Business Unit can be assigned explicitly and inherited from a parent.n" BusinessUnitApprovalRuleMode: type: "string" enum: - Explicit - ExplicitAndFromParent x-annotation-enumDescriptions: Explicit: "Approval Rules of a Business Unit must be explicitly assigned. The Business Unit cannot inherit Approval Rules from a parent.n" ExplicitAndFromParent: "Approval Rules of a Business Unit are inherited from a parent and can also be explicitly assigned.n" BusinessUnitStoreMode: type: "string" enum: - Explicit - FromParent x-annotation-enumDescriptions: Explicit: "Stores are defined on the Business Unit.n" FromParent: "Stores are inherited from the closest parent in the hierarchy that has Stores defined.n" BusinessUnitType: type: "string" enum: - Company - Division AssociateRoleAssignmentDraft: type: "object" required: - associateRole - inheritance properties: associateRole: $ref: '#/components/schemas/AssociateRoleKeyReference' inheritance: $ref: '#/components/schemas/AssociateRoleInheritanceMode' AssociateDraft: type: "object" required: - associateRoleAssignments - customer properties: customer: $ref: '#/components/schemas/CustomerKeyReference' associateRoleAssignments: type: "array" items: $ref: '#/components/schemas/AssociateRoleAssignmentDraft' BusinessUnitImport: type: "object" discriminator: propertyName: unitType mapping: Company: '#/components/schemas/CompanyBusinessUnitImport' Division: '#/components/schemas/DivisionBusinessUnitImport' required: - key - name - unitType properties: unitType: $ref: '#/components/schemas/BusinessUnitType' key: type: "string" name: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' contactEmail: type: "string" associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' custom: $ref: '#/components/schemas/Custom' CompanyBusinessUnitImport: allOf: - $ref: '#/components/schemas/BusinessUnitImport' - type: "object" properties: unitType: $ref: '#/components/schemas/BusinessUnitType' key: type: "string" name: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' contactEmail: type: "string" associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' custom: $ref: '#/components/schemas/Custom' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' DivisionBusinessUnitImport: allOf: - $ref: '#/components/schemas/BusinessUnitImport' - type: "object" required: - parentUnit properties: unitType: $ref: '#/components/schemas/BusinessUnitType' key: type: "string" name: type: "string" status: $ref: '#/components/schemas/BusinessUnitStatus' contactEmail: type: "string" associates: type: "array" items: $ref: '#/components/schemas/AssociateDraft' addresses: type: "array" items: $ref: '#/components/schemas/Address' shippingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultBillingAddress: type: "integer" format: "int32" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' custom: $ref: '#/components/schemas/Custom' storeMode: $ref: '#/components/schemas/BusinessUnitStoreMode' parentUnit: $ref: '#/components/schemas/BusinessUnitKeyReference' associateMode: $ref: '#/components/schemas/BusinessUnitAssociateMode' approvalRuleMode: $ref: '#/components/schemas/BusinessUnitApprovalRuleMode' CategoryImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - name - slug properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' parent: $ref: '#/components/schemas/CategoryKeyReference' orderHint: type: "string" externalId: type: "string" metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' assets: type: "array" items: $ref: '#/components/schemas/Asset' custom: $ref: '#/components/schemas/Custom' AuthenticationMode: type: "string" enum: - Password - ExternalAuth x-annotation-enumDescriptions: Password: "If set, the `password` field is required for the Customer." ExternalAuth: "If set, the `password` field is optional for the Customer." CustomerAddress: type: "object" required: - country - key properties: key: type: "string" country: $ref: '#/components/schemas/CountryCode' title: type: "string" salutation: type: "string" firstName: type: "string" lastName: type: "string" streetName: type: "string" streetNumber: type: "string" additionalStreetInfo: type: "string" postalCode: type: "string" city: type: "string" region: type: "string" state: type: "string" company: type: "string" department: type: "string" building: type: "string" apartment: type: "string" pOBox: type: "string" phone: type: "string" mobile: type: "string" email: type: "string" fax: type: "string" additionalAddressInfo: type: "string" externalId: type: "string" custom: $ref: '#/components/schemas/Custom' CustomerImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - email - key properties: key: type: "string" customerNumber: type: "string" email: type: "string" password: type: "string" stores: type: "array" items: $ref: '#/components/schemas/StoreKeyReference' firstName: type: "string" lastName: type: "string" middleName: type: "string" title: type: "string" salutation: type: "string" externalId: type: "string" dateOfBirth: type: "string" format: "date-only" companyName: type: "string" vatId: type: "string" isEmailVerified: type: "boolean" customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' addresses: type: "array" items: $ref: '#/components/schemas/CustomerAddress' defaultBillingAddress: type: "integer" format: "int32" billingAddresses: type: "array" items: type: "integer" format: "int32" defaultShippingAddress: type: "integer" format: "int32" shippingAddresses: type: "array" items: type: "integer" format: "int32" locale: type: "string" custom: $ref: '#/components/schemas/Custom' authenticationMode: $ref: '#/components/schemas/AuthenticationMode' DiscountCodeImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - cartDiscounts - code - isActive - key properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' code: type: "string" cartDiscounts: type: "array" items: $ref: '#/components/schemas/CartDiscountKeyReference' cartPredicate: type: "string" isActive: type: "boolean" maxApplications: type: "number" format: "double" maxApplicationsPerCustomer: type: "number" format: "double" groups: type: "array" items: type: "string" validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" custom: $ref: '#/components/schemas/Custom' InventoryImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - quantityOnStock - sku properties: key: type: "string" sku: type: "string" quantityOnStock: type: "number" format: "double" restockableInDays: type: "number" format: "double" expectedDelivery: type: "string" format: "datetime" reservationExpirationInMinutes: type: "number" format: "double" supplyChannel: $ref: '#/components/schemas/ChannelKeyReference' custom: $ref: '#/components/schemas/Custom' ItemState: type: "object" required: - quantity - state properties: quantity: type: "number" format: "double" state: $ref: '#/components/schemas/StateKeyReference' ItemShippingTarget: type: "object" required: - addressKey - quantity properties: addressKey: type: "string" quantity: type: "number" format: "double" ItemShippingDetailsDraft: type: "object" required: - targets properties: targets: type: "array" items: $ref: '#/components/schemas/ItemShippingTarget' LineItemPrice: type: "object" required: - value properties: value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' channel: $ref: '#/components/schemas/ChannelKeyReference' discounted: $ref: '#/components/schemas/DiscountedPrice' tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' custom: $ref: '#/components/schemas/Custom' LineItemProductVariantImportDraft: type: "object" properties: productVariant: $ref: '#/components/schemas/ProductVariantKeyReference' sku: type: "string" prices: type: "array" items: $ref: '#/components/schemas/LineItemPrice' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' images: type: "array" items: $ref: '#/components/schemas/Image' LineItemImportDraft: type: "object" required: - name - price - quantity - variant properties: product: $ref: '#/components/schemas/ProductKeyReference' name: $ref: '#/components/schemas/LocalizedString' variant: $ref: '#/components/schemas/LineItemProductVariantImportDraft' price: $ref: '#/components/schemas/LineItemPrice' quantity: type: "number" format: "double" state: type: "array" items: $ref: '#/components/schemas/ItemState' supplyChannel: $ref: '#/components/schemas/ChannelKeyReference' distributionChannel: $ref: '#/components/schemas/ChannelKeyReference' taxRate: $ref: '#/components/schemas/TaxRate' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' custom: $ref: '#/components/schemas/Custom' ShippingRateTierType: type: "string" enum: - CartValue - CartClassification - CartScore ShippingRatePriceTier: type: "object" discriminator: propertyName: type mapping: CartClassification: '#/components/schemas/CartClassificationTier' required: - type properties: type: $ref: '#/components/schemas/ShippingRateTierType' CartClassificationTier: allOf: - $ref: '#/components/schemas/ShippingRatePriceTier' - type: "object" required: - price - tiers - value properties: type: $ref: '#/components/schemas/ShippingRateTierType' value: type: "string" price: $ref: '#/components/schemas/Money' tiers: type: "array" items: $ref: '#/components/schemas/ShippingRatePriceTier' isMatching: type: "boolean" ShippingRateDraft: type: "object" required: - price properties: price: $ref: '#/components/schemas/Money' freeAbove: $ref: '#/components/schemas/Money' tiers: type: "array" items: $ref: '#/components/schemas/ShippingRatePriceTier' ParcelMeasurements: type: "object" properties: heightInMillimeter: type: "number" format: "double" lengthInMillimeter: type: "number" format: "double" widthInMillimeter: type: "number" format: "double" weightInGram: type: "number" format: "double" TrackingData: type: "object" properties: trackingId: type: "string" carrier: type: "string" provider: type: "string" providerTransaction: type: "string" isReturn: type: "boolean" DeliveryItem: type: "object" required: - id - quantity properties: id: type: "string" quantity: type: "number" format: "double" Parcel: type: "object" required: - createdAt - id properties: id: type: "string" createdAt: type: "string" format: "datetime" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' custom: $ref: '#/components/schemas/Custom' Delivery: type: "object" required: - createdAt - id - items - parcels properties: id: type: "string" createdAt: type: "string" format: "datetime" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' parcels: type: "array" items: $ref: '#/components/schemas/Parcel' address: $ref: '#/components/schemas/Address' DiscountedLineItemPortion: type: "object" required: - discount - discountedAmount properties: discount: $ref: '#/components/schemas/CartDiscountKeyReference' discountedAmount: $ref: '#/components/schemas/Money' DiscountedLineItemPriceDraft: type: "object" required: - includedDiscounts - value properties: value: $ref: '#/components/schemas/Money' includedDiscounts: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPortion' ShippingMethodState: type: "string" enum: - DoesNotMatchCart - MatchesCart ShippingInfoImportDraft: type: "object" required: - price - shippingMethodName - shippingRate properties: shippingMethodName: type: "string" price: $ref: '#/components/schemas/TypedMoney' shippingRate: $ref: '#/components/schemas/ShippingRateDraft' taxRate: $ref: '#/components/schemas/TaxRate' taxCategory: $ref: '#/components/schemas/TaxCategoryKeyReference' shippingMethod: $ref: '#/components/schemas/ShippingMethodKeyReference' deliveries: type: "array" items: $ref: '#/components/schemas/Delivery' discountedPrice: $ref: '#/components/schemas/DiscountedLineItemPriceDraft' shippingMethodState: $ref: '#/components/schemas/ShippingMethodState' ExternalTaxRateDraft: type: "object" required: - country - name properties: name: type: "string" amount: type: "number" format: "double" country: $ref: '#/components/schemas/CountryCode' state: type: "string" subRates: type: "array" items: $ref: '#/components/schemas/SubRate' includedInPrice: type: "boolean" CustomLineItemTaxedPrice: type: "object" required: - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/TypedMoney' totalGross: $ref: '#/components/schemas/TypedMoney' CustomLineItemDraft: type: "object" required: - money - name - quantity - slug - totalPrice properties: name: $ref: '#/components/schemas/LocalizedString' money: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/CustomLineItemTaxedPrice' totalPrice: $ref: '#/components/schemas/TypedMoney' slug: type: "string" quantity: type: "number" format: "double" state: type: "array" items: $ref: '#/components/schemas/ItemState' taxCategory: $ref: '#/components/schemas/TaxCategoryKeyReference' taxRate: $ref: '#/components/schemas/TaxRate' externalTaxRate: $ref: '#/components/schemas/ExternalTaxRateDraft' discountedPricePerQuantity: type: "array" items: $ref: '#/components/schemas/DiscountedLineItemPriceDraft' shippingDetails: $ref: '#/components/schemas/ItemShippingDetailsDraft' TaxPortion: type: "object" required: - amount - rate properties: name: type: "string" rate: type: "number" format: "double" amount: $ref: '#/components/schemas/TypedMoney' TaxedPrice: type: "object" required: - taxPortions - totalGross - totalNet properties: totalNet: $ref: '#/components/schemas/Money' totalGross: $ref: '#/components/schemas/Money' taxPortions: type: "array" items: $ref: '#/components/schemas/TaxPortion' TaxMode: type: "string" enum: - Platform - External - ExternalAmount - Disabled OrderState: type: "string" enum: - Open - Confirmed - Complete - Cancelled ShipmentState: type: "string" enum: - Shipped - Ready - Pending - Delayed - Partial - Backorder PaymentState: type: "string" enum: - BalanceDue - Failed - Pending - CreditOwed - Paid InventoryMode: type: "string" enum: - TrackOnly - ReserveOnOrder RoundingMode: type: "string" enum: - HalfEven - HalfUp - HalfDown TaxCalculationMode: type: "string" enum: - LineItemLevel - UnitPriceLevel CartOrigin: type: "string" enum: - Customer - Merchant SyncInfo: type: "object" required: - channel - syncedAt properties: channel: $ref: '#/components/schemas/ChannelKeyReference' externalId: type: "string" syncedAt: type: "string" format: "datetime" DiscountCodeState: type: "string" enum: - NotActive - NotValid - DoesNotMatchCart - MatchesCart - MaxApplicationReached - ApplicationStoppedByPreviousDiscount DiscountCodeInfo: type: "object" required: - discountCode properties: discountCode: $ref: '#/components/schemas/DiscountCodeKeyReference' state: $ref: '#/components/schemas/DiscountCodeState' ShippingRateInputType: type: "string" enum: - Classification - Score ShippingRateInput: type: "object" discriminator: propertyName: type mapping: Classification: '#/components/schemas/ClassificationShippingRateInput' Score: '#/components/schemas/ScoreShippingRateInput' required: - type properties: type: $ref: '#/components/schemas/ShippingRateInputType' ClassificationShippingRateInput: allOf: - $ref: '#/components/schemas/ShippingRateInput' - type: "object" required: - key - label properties: type: $ref: '#/components/schemas/ShippingRateInputType' key: type: "string" label: $ref: '#/components/schemas/LocalizedString' ScoreShippingRateInput: allOf: - $ref: '#/components/schemas/ShippingRateInput' - type: "object" required: - score properties: type: $ref: '#/components/schemas/ShippingRateInputType' score: type: "number" format: "double" OrderImport: type: "object" required: - orderNumber - totalPrice properties: orderNumber: type: "string" customer: $ref: '#/components/schemas/CustomerKeyReference' customerEmail: type: "string" lineItems: type: "array" items: $ref: '#/components/schemas/LineItemImportDraft' customLineItems: type: "array" items: $ref: '#/components/schemas/CustomLineItemDraft' totalPrice: $ref: '#/components/schemas/TypedMoney' taxedPrice: $ref: '#/components/schemas/TaxedPrice' shippingAddress: $ref: '#/components/schemas/Address' billingAddress: $ref: '#/components/schemas/Address' customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' country: type: "string" orderState: $ref: '#/components/schemas/OrderState' shipmentState: $ref: '#/components/schemas/ShipmentState' paymentState: $ref: '#/components/schemas/PaymentState' shippingInfo: $ref: '#/components/schemas/ShippingInfoImportDraft' completedAt: type: "string" format: "datetime" custom: $ref: '#/components/schemas/Custom' inventoryMode: $ref: '#/components/schemas/InventoryMode' taxRoundingMode: $ref: '#/components/schemas/RoundingMode' taxCalculationMode: $ref: '#/components/schemas/TaxCalculationMode' origin: $ref: '#/components/schemas/CartOrigin' itemShippingAddresses: type: "array" items: $ref: '#/components/schemas/Address' store: $ref: '#/components/schemas/StoreKeyReference' state: $ref: '#/components/schemas/StateKeyReference' ReturnShipmentState: type: "string" enum: - Advised - Returned - BackInStock - Unusable ReturnItemDraft: type: "object" required: - quantity - shipmentState properties: quantity: type: "number" format: "double" lineItemId: type: "string" customLineItemId: type: "string" comment: type: "string" shipmentState: $ref: '#/components/schemas/ReturnShipmentState' ReturnInfo: type: "object" required: - items properties: items: type: "array" items: $ref: '#/components/schemas/ReturnItemDraft' returnTrackingId: type: "string" returnDate: type: "string" format: "datetime" DeliveryParcel: type: "object" required: - deliveryId properties: deliveryId: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' DeliveryParcelDraft: type: "object" properties: measurements: $ref: '#/components/schemas/ParcelMeasurements' trackingData: $ref: '#/components/schemas/TrackingData' items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' DeliveryDraft: type: "object" required: - items - parcels properties: items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' address: $ref: '#/components/schemas/Address' parcels: type: "array" items: $ref: '#/components/schemas/DeliveryParcelDraft' DeliveryAddressDraft: type: "object" required: - deliveryId properties: deliveryId: type: "string" address: $ref: '#/components/schemas/Address' ParcelMeasurementDraft: type: "object" required: - parcelId properties: parcelId: type: "string" measurements: $ref: '#/components/schemas/ParcelMeasurements' ParcelTrackingData: type: "object" required: - parcelId properties: parcelId: type: "string" trackingData: $ref: '#/components/schemas/TrackingData' ParcelItems: type: "object" required: - parcelId properties: parcelId: type: "string" items: type: "array" items: $ref: '#/components/schemas/DeliveryItem' RemoveDeliveryDraft: type: "object" required: - id properties: id: type: "string" RemoveParcelFromDeliveryDraft: type: "object" required: - parcelId properties: parcelId: type: "string" OrderField: type: "object" properties: addReturnInfo: $ref: '#/components/schemas/ReturnInfo' addParcelToDelivery: $ref: '#/components/schemas/DeliveryParcel' addDeliveries: type: "array" items: $ref: '#/components/schemas/DeliveryDraft' removeDelivery: $ref: '#/components/schemas/RemoveDeliveryDraft' removeParcelFromDelivery: $ref: '#/components/schemas/RemoveParcelFromDeliveryDraft' setDeliveryAddress: $ref: '#/components/schemas/DeliveryAddressDraft' setParcelMeasurements: $ref: '#/components/schemas/ParcelMeasurementDraft' setParcelTrackingData: $ref: '#/components/schemas/ParcelTrackingData' setParcelItems: type: "array" items: $ref: '#/components/schemas/ParcelItems' OrderPatchImport: type: "object" required: - fields - orderNumber properties: orderNumber: type: "string" fields: $ref: '#/components/schemas/OrderField' SubRate: type: "object" required: - amount - name properties: name: type: "string" amount: type: "number" format: "double" TaxRate: type: "object" required: - amount - country - includedInPrice - name properties: id: type: "string" name: type: "string" amount: type: "number" format: "double" includedInPrice: type: "boolean" country: $ref: '#/components/schemas/CountryCode' state: type: "string" subRates: type: "array" items: $ref: '#/components/schemas/SubRate' PriceImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - product - productVariant - value properties: key: type: "string" value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' channel: $ref: '#/components/schemas/ChannelKeyReference' discounted: $ref: '#/components/schemas/DiscountedPrice' publish: type: "boolean" staged: type: "boolean" tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' custom: $ref: '#/components/schemas/Custom' productVariant: $ref: '#/components/schemas/ProductVariantKeyReference' product: $ref: '#/components/schemas/ProductKeyReference' ProductDraftImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - name - productType - slug properties: key: type: "string" productType: $ref: '#/components/schemas/ProductTypeKeyReference' name: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryKeyReference' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' masterVariant: $ref: '#/components/schemas/ProductVariantDraftImport' variants: type: "array" items: $ref: '#/components/schemas/ProductVariantDraftImport' taxCategory: $ref: '#/components/schemas/TaxCategoryKeyReference' searchKeywords: $ref: '#/components/schemas/SearchKeywords' state: $ref: '#/components/schemas/StateKeyReference' publish: type: "boolean" priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' ProductVariantDraftImport: type: "object" required: - key properties: sku: type: "string" key: type: "string" prices: type: "array" items: $ref: '#/components/schemas/PriceDraftImport' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' PriceDraftImport: type: "object" required: - key - value properties: value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' channel: $ref: '#/components/schemas/ChannelKeyReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" custom: $ref: '#/components/schemas/Custom' discounted: $ref: '#/components/schemas/DiscountedPrice' tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' key: type: "string" SearchKeywords: type: "object" required: - /^[a-zA-Z]{2,3}(?:-[a-zA-Z]{4})?(?:-(?:[a-zA-Z]{2}|d{3}))?$/ additionalProperties: type: "string" SearchKeyword: type: "object" required: - text properties: text: type: "string" suggestTokenizer: $ref: '#/components/schemas/SuggestTokenizer' SuggestTokenizer: type: "object" discriminator: propertyName: type mapping: custom: '#/components/schemas/CustomTokenizer' whitespace: '#/components/schemas/WhitespaceTokenizer' required: - type properties: type: type: "string" CustomTokenizer: allOf: - $ref: '#/components/schemas/SuggestTokenizer' - type: "object" required: - inputs properties: type: type: "string" inputs: type: "array" items: type: "string" WhitespaceTokenizer: allOf: - $ref: '#/components/schemas/SuggestTokenizer' - type: "object" properties: type: type: "string" ProductImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - name - productType - slug properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' productType: $ref: '#/components/schemas/ProductTypeKeyReference' slug: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' categories: type: "array" items: $ref: '#/components/schemas/CategoryKeyReference' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' taxCategory: $ref: '#/components/schemas/TaxCategoryKeyReference' searchKeywords: $ref: '#/components/schemas/SearchKeywords' state: $ref: '#/components/schemas/StateKeyReference' publish: type: "boolean" priceMode: $ref: '#/components/schemas/ProductPriceModeEnum' VariantSelectionType: type: "string" enum: - includeOnly - includeAllExcept x-annotation-enumDescriptions: includeOnly: "Only the specified SKUs are included." includeAllExcept: "All variants except the specified SKUs are included." VariantSelection: type: "object" required: - type properties: type: $ref: '#/components/schemas/VariantSelectionType' skus: type: "array" items: type: "string" VariantExclusion: type: "object" properties: skus: type: "array" items: type: "string" ProductSelectionAssignment: type: "object" required: - product properties: product: $ref: '#/components/schemas/ProductKeyReference' variantSelection: $ref: '#/components/schemas/VariantSelection' variantExclusion: $ref: '#/components/schemas/VariantExclusion' ProductSelectionMode: type: "string" enum: - Individual - IndividualExclusion ProductSelectionImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - name properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' mode: $ref: '#/components/schemas/ProductSelectionMode' custom: $ref: '#/components/schemas/Custom' assignments: type: "array" items: $ref: '#/components/schemas/ProductSelectionAssignment' ProductVariantTailoringImport: type: "object" required: - sku properties: sku: type: "string" images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' ProductTailoringImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - product - store properties: key: type: "string" store: $ref: '#/components/schemas/StoreKeyReference' product: $ref: '#/components/schemas/ProductKeyReference' name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' metaTitle: $ref: '#/components/schemas/LocalizedString' metaDescription: $ref: '#/components/schemas/LocalizedString' metaKeywords: $ref: '#/components/schemas/LocalizedString' slug: $ref: '#/components/schemas/LocalizedString' publish: type: "boolean" variants: type: "array" items: $ref: '#/components/schemas/ProductVariantTailoringImport' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' AttributeDefinition: type: "object" required: - isRequired - label - name - type properties: type: $ref: '#/components/schemas/AttributeType' name: type: "string" label: $ref: '#/components/schemas/LocalizedString' isRequired: type: "boolean" attributeConstraint: $ref: '#/components/schemas/AttributeConstraintEnum' inputTip: $ref: '#/components/schemas/LocalizedString' inputHint: $ref: '#/components/schemas/TextInputHint' isSearchable: type: "boolean" level: $ref: '#/components/schemas/AttributeLevel' AttributeLevel: type: "string" enum: - Variant - Product AttributeType: type: "object" discriminator: propertyName: name mapping: boolean: '#/components/schemas/AttributeBooleanType' datetime: '#/components/schemas/AttributeDateTimeType' date: '#/components/schemas/AttributeDateType' enum: '#/components/schemas/AttributeEnumType' ltext: '#/components/schemas/AttributeLocalizableTextType' lenum: '#/components/schemas/AttributeLocalizedEnumType' money: '#/components/schemas/AttributeMoneyType' nested: '#/components/schemas/AttributeNestedType' number: '#/components/schemas/AttributeNumberType' reference: '#/components/schemas/AttributeReferenceType' set: '#/components/schemas/AttributeSetType' text: '#/components/schemas/AttributeTextType' time: '#/components/schemas/AttributeTimeType' required: - name properties: name: type: "string" AttributeBooleanType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeDateTimeType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeDateType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeEnumType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributePlainEnumValue' AttributePlainEnumValue: type: "object" required: - key - label properties: key: type: "string" label: type: "string" AttributeLocalizableTextType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeLocalizedEnumType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/AttributeLocalizedEnumValue' AttributeLocalizedEnumValue: type: "object" required: - key - label properties: key: type: "string" label: $ref: '#/components/schemas/LocalizedString' AttributeMoneyType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeNestedType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - typeReference properties: name: type: "string" typeReference: $ref: '#/components/schemas/ProductTypeKeyReference' AttributeNumberType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeReferenceType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - referenceTypeId properties: name: type: "string" referenceTypeId: $ref: '#/components/schemas/ReferenceType' AttributeSetType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" required: - elementType properties: name: type: "string" elementType: $ref: '#/components/schemas/AttributeType' AttributeTextType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeTimeType: allOf: - $ref: '#/components/schemas/AttributeType' - type: "object" properties: name: type: "string" AttributeConstraintEnum: type: "string" enum: - None - Unique - CombinationUnique - SameForAll TextInputHint: type: "string" enum: - SingleLine - MultiLine ProductTypeImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - description - key - name properties: key: type: "string" name: type: "string" description: type: "string" attributes: type: "array" items: $ref: '#/components/schemas/AttributeDefinition' Attribute: type: "object" discriminator: propertyName: type mapping: boolean: '#/components/schemas/BooleanAttribute' boolean-set: '#/components/schemas/BooleanSetAttribute' date: '#/components/schemas/DateAttribute' date-set: '#/components/schemas/DateSetAttribute' datetime: '#/components/schemas/DateTimeAttribute' datetime-set: '#/components/schemas/DateTimeSetAttribute' enum: '#/components/schemas/EnumAttribute' enum-set: '#/components/schemas/EnumSetAttribute' lenum: '#/components/schemas/LocalizableEnumAttribute' lenum-set: '#/components/schemas/LocalizableEnumSetAttribute' ltext: '#/components/schemas/LocalizableTextAttribute' ltext-set: '#/components/schemas/LocalizableTextSetAttribute' money: '#/components/schemas/MoneyAttribute' money-set: '#/components/schemas/MoneySetAttribute' number: '#/components/schemas/NumberAttribute' number-set: '#/components/schemas/NumberSetAttribute' reference: '#/components/schemas/ReferenceAttribute' reference-set: '#/components/schemas/ReferenceSetAttribute' text: '#/components/schemas/TextAttribute' text-set: '#/components/schemas/TextSetAttribute' time: '#/components/schemas/TimeAttribute' time-set: '#/components/schemas/TimeSetAttribute' required: - type properties: name: type: "string" type: type: "string" BooleanAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "boolean" BooleanSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "boolean" DateAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" format: "date-only" DateSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" format: "date-only" DateTimeAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" format: "datetime" DateTimeSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" format: "datetime" EnumAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" EnumSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" LocalizableEnumAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" LocalizableEnumSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" LocalizableTextAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: $ref: '#/components/schemas/LocalizedString' LocalizableTextSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: $ref: '#/components/schemas/LocalizedString' MoneyAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: $ref: '#/components/schemas/TypedMoney' MoneySetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: $ref: '#/components/schemas/TypedMoney' NumberAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "number" format: "double" NumberSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "number" format: "double" ReferenceAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: $ref: '#/components/schemas/KeyReference' ReferenceSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: $ref: '#/components/schemas/KeyReference' TextAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" TextSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" TimeAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "string" format: "time-only" TimeSetAttribute: allOf: - $ref: '#/components/schemas/Attribute' - type: "object" required: - value properties: name: type: "string" type: type: "string" value: type: "array" items: type: "string" format: "time-only" ProductVariantImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - isMasterVariant - key - product properties: key: type: "string" sku: type: "string" isMasterVariant: type: "boolean" attributes: type: "array" items: $ref: '#/components/schemas/Attribute' images: type: "array" items: $ref: '#/components/schemas/Image' assets: type: "array" items: $ref: '#/components/schemas/Asset' publish: type: "boolean" staged: type: "boolean" product: $ref: '#/components/schemas/ProductKeyReference' ProductVariantPatch: type: "object" required: - productVariant properties: productVariant: $ref: '#/components/schemas/ProductVariantKeyReference' attributes: $ref: '#/components/schemas/Attributes' staged: type: "boolean" product: $ref: '#/components/schemas/ProductKeyReference' Attributes: type: "object" required: - // additionalProperties: type: "string" StandalonePriceImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - sku - value properties: key: type: "string" sku: type: "string" value: $ref: '#/components/schemas/TypedMoney' country: $ref: '#/components/schemas/CountryCode' customerGroup: $ref: '#/components/schemas/CustomerGroupKeyReference' channel: $ref: '#/components/schemas/ChannelKeyReference' validFrom: type: "string" format: "datetime" validUntil: type: "string" format: "datetime" tiers: type: "array" items: $ref: '#/components/schemas/PriceTier' discounted: $ref: '#/components/schemas/DiscountedPrice' custom: $ref: '#/components/schemas/Custom' active: type: "boolean" VariantImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - product - sku properties: key: type: "string" sku: type: "string" product: $ref: '#/components/schemas/ProductKeyReference' publish: type: "boolean" images: type: "array" items: $ref: '#/components/schemas/Image' attributes: type: "array" items: $ref: '#/components/schemas/Attribute' assets: type: "array" items: $ref: '#/components/schemas/Asset' TypeTextInputHint: type: "string" enum: - SingleLine - MultiLine x-annotation-enumDescriptions: SingleLine: "Hint for GUIs to display the field's content in a single line of text." MultiLine: "Hint for GUIs to display the field's content over multiple lines of text." ResourceTypeId: type: "string" enum: - address - asset - business-unit - cart-discount - category - channel - customer - customer-group - custom-line-item - discount-code - inventory-entry - line-item - order - order-edit - order-delivery - order-parcel - order-return-item - payment - payment-interface-interaction - product-price - product-selection - quote - review - shipping - shipping-method - shopping-list - shopping-list-text-line-item - standalone-price - store - transaction x-annotation-enumDescriptions: address: "[Address](ctp:api:type:Address) on [BusinessUnit](ctp:api:type:BusinessUnit), [Cart](ctp:api:type:Cart), [Order](ctp:api:type:Order), [OrderEdit](ctp:api:type:OrderEdit), [Customer](ctp:api:type:Customer), and [Channel](ctp:api:type:Channel)n" asset: "[Asset](ctp:api:type:Asset) on [Category](ctp:api:type:Category) and [ProductVariant](ctp:api:type:ProductVariant)n" business-unit: "[BusinessUnit](ctp:api:type:BusinessUnit)n" cart-discount: "[CartDiscount](ctp:api:type:CartDiscount)n" category: "[Category](ctp:api:type:Category)n" channel: "[Channel](ctp:api:type:Channel)n" custom-line-item: "[CustomLineItem](ctp:api:type:CustomLineItem) on [Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order)n" customer: "[Customer](ctp:api:type:Customer)n" customer-group: "[CustomerGroup](ctp:api:type:CustomerGroup)n" discount-code: "[DiscountCode](ctp:api:type:DiscountCode)n" inventory-entry: "[InventoryEntry](ctp:api:type:InventoryEntry)n" line-item: "[LineItem](ctp:api:type:LineItem) on [Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order), and on [ShoppingListLineItem](ctp:api:type:ShoppingListLineItem).n" order: "[Cart](ctp:api:type:Cart) and [Order](ctp:api:type:Order).nWhen a [Cart](ctp:api:type:Cart) is ordered, the [CustomFields](ctp:api:type:CustomFields) need to be copied to the [Order](ctp:api:type:Order).nFor this reason, the Types for Carts are also valid for Orders, and hence both have the same identifier: `order`.n" order-edit: "[OrderEdit](ctp:api:type:OrderEdit)n" order-delivery: "[Delivery](ctp:api:type:Delivery)n" order-parcel: "[Parcel](ctp:api:type:Parcel)n" order-return-item: "[ReturnItem](ctp:api:type:ReturnItem)n" payment: "[Payment](ctp:api:type:Payment)n" payment-interface-interaction: "[InterfaceInteraction](ctp:api:type:PaymentAddInterfaceInteractionAction) on [Payment](ctp:api:type:Payment)n" product-price: "[Embedded Price](/api/types#price) on [ProductVariant](ctp:api:type:ProductVariant)n" product-selection: "[ProductSelection](ctp:api:type:ProductSelection)n" quote: "[Quote](ctp:api:type:Quote), [QuoteRequest](ctp:api:type:QuoteRequest) and [StagedQuote](ctp:api:type:StagedQuote).nWhen a [StagedQuote](ctp:api:type:StagedQuote) is created, the [CustomFields](ctp:api:type:CustomFields) will be copied from the [QuoteRequest](ctp:api:type:QuoteRequest) and when a [Quote](ctp:api:type:Quote) is created, the [CustomFields](ctp:api:type:CustomFields) will be copied from the [StagedQuote](ctp:api:type:StagedQuote).nFor this reason, the Types for Quotes are also valid for QuoteRequests and StagedQuotes, and hence all have the same identifier: `quote`.n" review: "[Review](ctp:api:type:Review)n" shipping: "[Shipping](ctp:api:type:Shipping)n" shipping-method: "[ShippingMethod](ctp:api:type:ShippingMethod)n" shopping-list: "[ShoppingList](ctp:api:type:ShoppingList)n" shopping-list-text-line-item: "[TextLineItem](ctp:api:type:TextLineItem) on [ShoppingList](ctp:api:type:ShoppingList)n" standalone-price: "[StandalonePrice](ctp:api:type:StandalonePrice)n" store: "[Store](ctp:api:type:Store)n" transaction: "[Transaction](ctp:api:type:Transaction) on [Payment](ctp:api:type:Payment)n" FieldType: type: "object" discriminator: propertyName: name mapping: Boolean: '#/components/schemas/CustomFieldBooleanType' DateTime: '#/components/schemas/CustomFieldDateTimeType' Date: '#/components/schemas/CustomFieldDateType' Enum: '#/components/schemas/CustomFieldEnumType' LocalizedEnum: '#/components/schemas/CustomFieldLocalizedEnumType' LocalizedString: '#/components/schemas/CustomFieldLocalizedStringType' Money: '#/components/schemas/CustomFieldMoneyType' Number: '#/components/schemas/CustomFieldNumberType' Reference: '#/components/schemas/CustomFieldReferenceType' Set: '#/components/schemas/CustomFieldSetType' String: '#/components/schemas/CustomFieldStringType' Time: '#/components/schemas/CustomFieldTimeType' required: - name properties: name: type: "string" CustomFieldBooleanType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldDateTimeType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldDateType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldEnumType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/CustomFieldEnumValue' CustomFieldEnumValue: type: "object" required: - key - label properties: key: type: "string" label: type: "string" CustomFieldLocalizedEnumType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - values properties: name: type: "string" values: type: "array" items: $ref: '#/components/schemas/CustomFieldLocalizedEnumValue' CustomFieldLocalizedEnumValue: type: "object" required: - key - label properties: key: type: "string" label: $ref: '#/components/schemas/LocalizedString' CustomFieldLocalizedStringType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldMoneyType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldNumberType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldReferenceType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - referenceTypeId properties: name: type: "string" referenceTypeId: $ref: '#/components/schemas/CustomFieldReferenceValue' CustomFieldReferenceValue: type: "string" enum: - associate-role - business-unit - cart - category - channel - customer - customer-group - key-value-document - order - product - product-type - review - state - shipping-method - zone x-annotation-enumDescriptions: associate-role: "[AssociateRole](ctp:api:type:AssociateRole)n" business-unit: "[BusinessUnit](ctp:api:type:BusinessUnit)n" cart: "[Cart](ctp:api:type:Cart)n" category: "[Category](ctp:api:type:Category)n" channel: "[Channel](ctp:api:type:Channel)n" customer: "[Customer](ctp:api:type:Customer)n" customer-group: "[CustomerGroup](ctp:api:type:CustomerGroup)n" key-value-document: "[CustomObject](ctp:api:type:CustomObject)n" order: "[Order](ctp:api:type:Order)n" product: "[Product](ctp:api:type:Product)n" product-type: "[ProductType](ctp:api:type:ProductType)n" review: "[Review](ctp:api:type:Review)n" state: "[State](ctp:api:type:State)n" shipping-method: "[ShippingMethod](ctp:api:type:ShippingMethod)n" zone: "[Zone](ctp:api:type:Zone)n" CustomFieldSetType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" required: - elementType properties: name: type: "string" elementType: $ref: '#/components/schemas/FieldType' CustomFieldStringType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" CustomFieldTimeType: allOf: - $ref: '#/components/schemas/FieldType' - type: "object" properties: name: type: "string" FieldDefinition: type: "object" required: - label - name - required - type properties: type: $ref: '#/components/schemas/FieldType' name: type: "string" label: $ref: '#/components/schemas/LocalizedString' required: type: "boolean" inputHint: $ref: '#/components/schemas/TypeTextInputHint' TypeImport: allOf: - $ref: '#/components/schemas/ImportResource' - type: "object" required: - key - name - resourceTypeIds properties: key: type: "string" name: $ref: '#/components/schemas/LocalizedString' description: $ref: '#/components/schemas/LocalizedString' resourceTypeIds: type: "array" items: $ref: '#/components/schemas/ResourceTypeId' fieldDefinitions: type: "array" items: $ref: '#/components/schemas/FieldDefinition'