Mirakl Catalog Manager Front APIs
The Mirakl Catalog Platform (MCM) Front API — 20 paths for storefront-facing catalog reads and transformations against a Mirakl catalog instance. Front bearer token or OAuth 2.0.
The Mirakl Catalog Platform (MCM) Front API — 20 paths for storefront-facing catalog reads and transformations against a Mirakl catalog instance. Front bearer token or OAuth 2.0.
components:
schemas:
AF01_Response_200:
type: object
properties:
additional_fields:
type: array
items:
$ref: '#/components/schemas/AF01_Response_200_AdditionalFields'
total_count:
type: integer
format: int32
deprecated: true
required:
- additional_fields
- total_count
AF01_Response_200_AdditionalFields:
type: object
properties:
accepted_values:
type: array
description: >-
The list of accepted values for this additional field. This field is
only present for additional fields of type 'LIST'
items:
type: string
channels:
type: array
description: >-
The list of channels using this additional field. This field is only
present for additional fields linked to a 'SHOP' entity.
items:
type: string
code:
type: string
description: Additional field code
default_value:
type: string
deprecated: true
description:
type: string
description: The description of the additional field.
entity:
type: string
description: |
The object on which the additional field applies
Enum: `"SHOP"`, `"OFFER"`, `"ORDER_LINE"`, `"ORDER"`
label:
type: string
description: >-
<span>Additional field label </span><span title="This field is
localized: its value uses the locale provided in the parameters"
class="flag"></span>
models:
type: array
description: >-
The list of platform models using this additional field. This field
is only present for additional fields linked to a 'SHOP' entity.
items:
type: string
description: |
Enum: `"MARKETPLACE"`, `"DROPSHIP"`, `"ONE_CREDITOR"`
regex:
type: string
description: >-
The regular expression that is used to validate the value value of
this field.<br/>This field is only present for additional fields of
type 'REGEX'.
required:
type: boolean
description: Whether or not this additionnal field will be required
shop_permission:
type: string
description: >
The shop permission field determines how Shops are allowed to use a
Custom field.<ul><li><strong>INVISIBLE</strong>: the field is
visible only for the operator and front users. Shops cannot update
its value.</li><li><strong>READ_WRITE</strong>: all users can see
and update the value of the field, provided they have access to the
entity associated with the field.</li></ul>
Enum: `"INVISIBLE"`, `"READ_ONLY"`, `"READ_WRITE"`
type:
type: string
description: >
Additional field type:<ul><li><strong>STRING</strong> chain of
characters (up to 2000 characters)</li><li><strong>DATE</strong>
date in yyyy-mm-dd format</li><li><strong>NUMERIC</strong> decimal
value (eg 52.63)</li><li><strong>BOOLEAN</strong> true or
false</li><li><strong>LINK</strong> valid
URL</li><li><strong>LIST</strong> list of values. Valid values are
specified in accepted_values field</li><li><strong>REGEX</strong>
regular expression. The regex that is used to validate the value of
this field is specified in the regex
field</li><li><strong>TEXTAREA</strong> long chain of characters (up
to 5000 characters). May have multiple lines</li></ul>
Enum: `"STRING"`, `"DATE"`, `"NUMERIC"`, `"BOOLEAN"`, `"LINK"`,
`"REGEX"`, `"TEXTAREA"`, `"LIST"`, `"MULTIPLE_VALUES_LIST"`
required:
- code
- label
- required
- shop_permission
- type
CH11_Response_200:
type: object
properties:
channels:
type: array
description: List of channels
items:
$ref: '#/components/schemas/CH11_Response_200_Channels'
CH11_Response_200_Channels:
type: object
properties:
code:
type: string
description: Channel code
description:
type: string
description: Channel description
label:
type: string
description: >-
<span>Channel label </span><span title="This field is localized: its
value uses the locale provided in the parameters"
class="flag"></span>
required:
- code
- description
- label
CM11_Response_200_Ext_FileStructure:
type: object
description: JSON output
properties:
errors:
type: array
description: >-
The acceptance, synchronization and integration errors on the
product
items:
$ref: '#/components/schemas/CM11_Response_200_Ext_FileStructure_Errors'
provider_unique_identifier:
type: string
description: The provider unique identifier
status:
type: string
description: 'The liveness status of the product : LIVE or NOT_LIVE'
unique_identifiers:
type: array
description: The unique identifiers for the product
items:
$ref: >-
#/components/schemas/CM11_Response_200_Ext_FileStructure_UniqueIdentifiers
warnings:
type: array
description: The errors of the product
items:
$ref: '#/components/schemas/CM11_Response_200_Ext_FileStructure_Warnings'
required:
- status
CM11_Response_200_Ext_FileStructure_Errors:
type: object
properties:
channels:
type: array
description: Channels on which the rejection reason applies
items:
type: string
uniqueItems: true
code:
type: string
description: The Mirakl error code
integration_details:
type: array
description: The details of the integration error
items:
$ref: >-
#/components/schemas/CM11_Response_200_Ext_FileStructure_Errors_IntegrationDetails
message:
type: string
description: The error message
rejection_details:
$ref: >-
#/components/schemas/CM11_Response_200_Ext_FileStructure_Errors_RejectionDetails
description: The details of the rejection reason
required:
- code
- message
CM11_Response_200_Ext_FileStructure_Errors_IntegrationDetails:
type: object
properties:
attribute_code:
type: string
description: The integration error's attribute code
code:
type: string
description: The Mirakl code of the integration error
message:
type: string
description: The Mirakl label of the integration error
required:
- attribute_code
- code
CM11_Response_200_Ext_FileStructure_Errors_RejectionDetails:
type: object
properties:
message:
type: string
description: The operator's message for the rejection reason
reason_code:
type: string
description: The Mirakl code of the rejection reason
reason_label:
type: string
description: >-
<span>The Mirakl label of the rejection reason </span><span
title="This field is localized: its value uses the locale provided
in the parameters" class="flag"></span>
required:
- reason_code
- reason_label
CM11_Response_200_Ext_FileStructure_UniqueIdentifiers:
type: object
properties:
code:
type: string
description: The unique identifier type
value:
type: string
description: The unique identifier value
required:
- code
- value
CM11_Response_200_Ext_FileStructure_Warnings:
type: object
properties:
attribute_code:
type: string
description: The warning's attribute code
code:
type: string
description: The Mirakl warning code
message:
type: string
description: The warning message
required:
- code
- message
CM21_Request:
type: object
properties:
acceptance:
$ref: '#/components/schemas/CM21_Request_Acceptance'
description: Accept or reject product
catalogs:
type: array
description: List of catalogs codes, to assign product to catalog(s)
items:
type: string
data:
type: object
additionalProperties:
type: object
description: Attribute data of the Master Product Data Sheet
integration_errors:
type: array
description: Report product integration errors
items:
$ref: '#/components/schemas/CM21_Request_IntegrationErrors'
mirakl_product_id:
type: string
description: Mirakl product id of the product, retrieved from API CM51
operation:
type: string
description: >-
Operation <code>DELETE</code> or <code>CREATE_UPDATE</code>, default
value is <code>CREATE_UPDATE</code>
product_sku:
type: string
description: >-
SKU of the product, to confirm integration of products in your
system
product_urls:
type: array
description: Add links to external resources
items:
$ref: '#/components/schemas/CM21_Request_ProductUrls'
selling_authorization:
$ref: '#/components/schemas/CM21_Request_SellingAuthorization'
description: Manage selling authorization
CM21_Request_Acceptance:
type: object
properties:
channels:
type: array
description: Accept or reject product by channel
items:
$ref: '#/components/schemas/CM21_Request_Acceptance_Channels'
message:
type: string
description: Rejection message
reason_code:
type: string
description: >-
Rejection reason code, this field is required if the acceptance
status is <code>REJECTED</code>, <code>CHANGES_REQUESTED</code> or
<code>TO_REVIEW</code>
status:
type: string
description: >-
Acceptance status: <code>ACCEPTED</code>, <code>REJECTED</code>,
<code>CHANGES_REQUESTED</code> or <code>TO_REVIEW</code>
CM21_Request_Acceptance_Channels:
type: object
properties:
code:
type: string
description: Channel code
message:
type: string
description: Rejection message
reason_code:
type: string
description: >-
Rejection reason code, this field is required if the acceptance
status is <code>REJECTED</code>, <code>CHANGES_REQUESTED</code> or
<code>TO_REVIEW</code>
status:
type: string
description: >-
Acceptance status: <code>ACCEPTED</code>, <code>REJECTED</code>,
<code>CHANGES_REQUESTED</code> or <code>TO_REVIEW</code>
CM21_Request_IntegrationErrors:
type: object
properties:
attribute_code:
type: string
description: Code of the attribute with error(s)
code:
type: string
description: Error code from your product management system
message:
type: string
description: Error message from your product management system
CM21_Request_ProductUrls:
type: object
properties:
link:
type: string
description: Link to an external resource
qualifier:
type: string
description: Link text that appears on Master Product Data Sheets
required:
- link
- qualifier
CM21_Request_SellingAuthorization:
type: object
properties:
authorized_selling_shop_ids:
type: array
description: Restrict product sells to specific shops
items:
type: string
restricted:
type: boolean
description: Whether the product is restricted or not
required:
- authorized_selling_shop_ids
- restricted
CM21_Response_200:
type: object
properties:
tracking_id:
type: string
description: >-
Tracking Id to use when getting the status with CM22 or the report
with CM23
required:
- tracking_id
CM22_Response_200:
type: object
properties:
archived:
type: boolean
description: Whether the synchronization has been archived
failed:
type: integer
format: int32
description: Number of product synchronizations that failed
has_report:
type: boolean
description: Whether the synchronization report is available or not
partial_read:
type: boolean
description: Whether the product synchronization has been partially processed
processed:
type: integer
format: int32
description: Number of product synchronizations processed
status:
type: string
description: >-
Status of the synchronization, either WAITING, QUEUED, RUNNING,
COMPLETE, or FAILED
succeeded:
type: integer
format: int32
description: Number of product synchronizations successfully processed
tracking_id:
type: string
description: Tracking id to use when getting the report with CM23
required:
- status
- tracking_id
CM23_Response_200:
type: object
properties:
global_errors:
type: array
description: List of the global synchronization errors
items:
$ref: '#/components/schemas/CM23_Response_200_GlobalErrors'
processed_items:
type: array
description: Report for products synchronized with API CM21
items:
$ref: '#/components/schemas/CM23_Response_200_ProcessedItems'
CM23_Response_200_GlobalErrors:
type: object
properties:
code:
type: string
description: The Mirakl error code
message:
type: string
description: The error message
required:
- code
- message
CM23_Response_200_ProcessedItems:
type: object
properties:
acceptance:
$ref: '#/components/schemas/CM23_Response_200_ProcessedItems_Acceptance'
description: Accept or reject product
catalogs:
type: array
description: List of catalogs codes, to assign product to catalog(s)
items:
type: string
data:
type: object
additionalProperties:
type: object
description: Attribute data of the Master Product Data Sheet
integration_errors:
type: array
description: Report product integration errors
items:
$ref: >-
#/components/schemas/CM23_Response_200_ProcessedItems_IntegrationErrors
mirakl_product_id:
type: string
description: Mirakl product id of the product, retrieved from API CM51
operation:
type: string
description: >-
Operation <code>DELETE</code> or <code>CREATE_UPDATE</code>, default
value is <code>CREATE_UPDATE</code>
product_sku:
type: string
description: >-
SKU of the product, to confirm integration of products in your
system
product_urls:
type: array
description: Add links to external resources
items:
$ref: '#/components/schemas/CM23_Response_200_ProcessedItems_ProductUrls'
selling_authorization:
$ref: >-
#/components/schemas/CM23_Response_200_ProcessedItems_SellingAuthorization
description: Manage selling authorization
status:
type: string
description: >-
The product synchronization status, <code>SUCCESS</code> or
<code>FAILURE</code>
synchronization_errors:
type: array
description: List of the synchronization errors
items:
$ref: >-
#/components/schemas/CM23_Response_200_ProcessedItems_SynchronizationErrors
CM23_Response_200_ProcessedItems_Acceptance:
type: object
properties:
channels:
type: array
description: Accept or reject product by channel
items:
$ref: >-
#/components/schemas/CM23_Response_200_ProcessedItems_Acceptance_Channels
message:
type: string
description: Rejection message
reason_code:
type: string
description: >-
Rejection reason code, this field is required if the acceptance
status is <code>REJECTED</code>, <code>CHANGES_REQUESTED</code> or
<code>TO_REVIEW</code>
status:
type: string
description: >-
Acceptance status: <code>ACCEPTED</code>, <code>REJECTED</code>,
<code>CHANGES_REQUESTED</code> or <code>TO_REVIEW</code>
CM23_Response_200_ProcessedItems_Acceptance_Channels:
type: object
properties:
code:
type: string
description: Channel code
message:
type: string
description: Rejection message
reason_code:
type: string
description: >-
Rejection reason code, this field is required if the acceptance
status is <code>REJECTED</code>, <code>CHANGES_REQUESTED</code> or
<code>TO_REVIEW</code>
status:
type: string
description: >-
Acceptance status: <code>ACCEPTED</code>, <code>REJECTED</code>,
<code>CHANGES_REQUESTED</code> or <code>TO_REVIEW</code>
CM23_Response_200_ProcessedItems_IntegrationErrors:
type: object
properties:
attribute_code:
type: string
description: Code of the attribute with error(s)
code:
type: string
description: Error code from your product management system
message:
type: string
description: Error message from your product management system
CM23_Response_200_ProcessedItems_ProductUrls:
type: object
properties:
link:
type: string
description: Link to an external resource
qualifier:
type: string
description: Link text that appears on Master Product Data Sheets
required:
- link
- qualifier
CM23_Response_200_ProcessedItems_SellingAuthorization:
type: object
properties:
authorized_selling_shop_ids:
type: array
description: Restrict product sells to specific shops
items:
type: string
restricted:
type: boolean
description: Whether the product is restricted or not
required:
- authorized_selling_shop_ids
- restricted
CM23_Response_200_ProcessedItems_SynchronizationErrors:
type: object
properties:
code:
type: string
description: The Mirakl code of the synchronization error
message:
type: string
description: The synchronization error message
CM51_Response_200_Ext_FileStructure:
type: object
description: JSON output
properties:
acceptance:
$ref: '#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance'
description: >-
Mirakl acceptance status and possible rejection reasons and
messages.
catalogs:
type: array
description: The list of catalogs for the product, if any.
items:
type: string
creation_date:
type: string
format: date-time
description: The creation date of the product.
data:
type: object
description: >-
The content of the "data" field depends on your configuration. Each
subfield within the "data" field is the code of a product attribute.
data_origin:
type: object
description: >-
Origin of attribute values in your Master Product Data Sheets:
OPERATOR or PROVIDER. If you set the
<code>include_data_provider_origins</code> query parameter to TRUE,
data provider will also be returned. Variant group code attributes
and identifiers are not supported.
mirakl_product_id:
type: string
description: >-
The Mirakl unique identifier for each exported product. Store this
unique identifier in your system and use it in API CM21 to identify
the correct integration or to report integration errors for each
product.
product_sku:
type: string
description: The SKU of the product.
product_urls:
type: array
description: 'The list of product urls, if any. '
items:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_ProductUrls
selling_authorization:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_SellingAuthorization
description: The selling authorization of the product
sources:
type: array
description: The list of provider ids and unique identifiers.
items:
$ref: '#/components/schemas/CM51_Response_200_Ext_FileStructure_Sources'
synchronization:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Synchronization
description: Mirakl synchronization status and possible integration errors.
update_date:
type: string
format: date-time
description: The last updated date of the product.
validation:
$ref: '#/components/schemas/CM51_Response_200_Ext_FileStructure_Validation'
description: Mirakl validation for each exported product.
required:
- acceptance
- mirakl_product_id
- product_sku
- synchronization
- update_date
- validation
CM51_Response_200_Ext_FileStructure_Acceptance:
type: object
properties:
channels:
type: array
description: >-
Mirakl acceptance status and possible rejection reasons and messages
for each channel.
items:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_Channels
last_operator_action:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction
description: Last operator acceptance action information.
message:
type: string
description: >-
The rejection message for the product, if any. Otherwise, the column
is empty.
reason_code:
type: string
description: >-
The rejection reason for the product, if any. Otherwise, the column
is empty.
status:
type: string
description: Mirakl acceptance status for each exported product.
required:
- message
- reason_code
- status
CM51_Response_200_Ext_FileStructure_Acceptance_Channels:
type: object
properties:
code:
type: string
description: Channel code in Mirakl.
last_operator_action:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction
description: Last operator acceptance action information.
message:
type: string
description: >-
The rejection message for the product in this specific channel, if
any.
reason_code:
type: string
description: >-
The rejection reason for the product in this specific channel, if
any.
status:
type: string
description: Product acceptance status in Mirakl for this specific channel.
required:
- code
- status
CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction:
type: object
properties:
date:
type: string
format: date-time
description: >-
Date/time of last operator action that changed the acceptance status
of the product.
rule:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction_Rule
description: Automation rule to last modify the acceptance status
user:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction_User
description: >-
User who performed last action that changed the acceptance status of
the product.
required:
- date
CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction_Rule:
type: object
properties:
code:
type: string
description: Code of the automation rule to last modify the acceptance status
required:
- code
CM51_Response_200_Ext_FileStructure_Acceptance_Channels_LastOperatorAction_User:
type: object
properties:
name:
type: string
description: >-
Name of user who performed last action that changed the acceptance
status of the product.
required:
- name
CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction:
type: object
properties:
date:
type: string
format: date-time
description: >-
Date/time of last operator action that changed the acceptance status
of the product.
rule:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction_Rule
description: Automation rule to last modify the acceptance status
user:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction_User
description: >-
User who performed last action that changed the acceptance status of
the product.
required:
- date
CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction_Rule:
type: object
properties:
code:
type: string
description: Code of the automation rule to last modify the acceptance status
required:
- code
CM51_Response_200_Ext_FileStructure_Acceptance_LastOperatorAction_User:
type: object
properties:
name:
type: string
description: >-
Name of user who performed last action that changed the acceptance
status of the product.
required:
- name
CM51_Response_200_Ext_FileStructure_ProductUrls:
type: object
properties:
link:
type: string
description: Link to an external resource
qualifier:
type: string
description: Link text that appears on Master Product Data Sheets
required:
- link
- qualifier
CM51_Response_200_Ext_FileStructure_SellingAuthorization:
type: object
properties:
authorized_selling_shop_ids:
type: array
description: The list of authorized selling shop ids, if any.
items:
type: string
restricted:
type: boolean
description: The boolean to determined if the product has selling restriction.
required:
- authorized_selling_shop_ids
- restricted
CM51_Response_200_Ext_FileStructure_Sources:
type: object
properties:
provider_code:
type: string
description: The Id of the provider
provider_sku:
type: string
description: The unique Identifier given by the provider
CM51_Response_200_Ext_FileStructure_Synchronization:
type: object
properties:
integration_errors:
type: array
description: Integration errors for each exported product.
items:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Synchronization_IntegrationErrors
status:
type: string
description: Mirakl synchronization status for each exported product.
required:
- integration_errors
- status
CM51_Response_200_Ext_FileStructure_Synchronization_IntegrationErrors:
type: object
properties:
attribute_code:
type: string
description: The attribute code
code:
type: string
description: The integration error code
message:
type: string
description: The integration error message
CM51_Response_200_Ext_FileStructure_Validation:
type: object
properties:
channels:
type: array
description: Mirakl validation status for each channel on exported product.
items:
$ref: >-
#/components/schemas/CM51_Response_200_Ext_FileStructure_Validation_Channels
status:
type: string
description: Mirakl validation status for each exported product.
required:
- status
CM51_Response_200_Ext_FileStructure_Validation_Channels:
type: object
properties:
code:
type: string
description: Channel code in Mirakl.
status:
type: string
description: >-
Mirakl channel validation status on exported product. Can be
<code>VALID</code>, <code>INVALID</code>, or
<code>NOT_ANALYZED</code> if the validation status is not yet
calculated for this channel.
required:
- code
- status
CM51_Response_200_TextCsv_Ext_FileStructure:
type: object
description: CSV output
properties:
mirakl-acceptance-status:
type: string
description: Mirakl acceptance status for each exported product.
mirakl-authorized-selling-shop-ids:
type: array
description: The list of authorized selling shop ids, if any.
items:
type: string
mirakl-catalogs:
type: array
description: >-
The list of catalogs for the product, if any. Otherwise, the column
is empty.
items:
type: string
mirakl-channels-acceptance-status:
type: string
description: >-
Product acceptance status in Mirakl for each channel, using this
pattern: <code>channel_code|status</code>.
mirakl-channels-last-operator-acceptance-action-date:
type: string
description: >-
Date/time of last operator action that changed the acceptance status
of the product, specific to each channel, if any. It uses this
pattern: <code>channel_code|date</code>.
mirakl-channels-last-operator-acceptance-action-rule-code:
type: string
description: >-
Code of the automation rule to last modify the acceptance status,
specific to each channel, if any. It uses this pattern:
<code>channel_code|rule_code</code>.
mirakl-channels-last-
# --- truncated at 32 KB (565 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mirakl/refs/heads/main/openapi/_original/mirakl-mcm-front-openapi.yaml