Download OpenAPI specification:
This is the reference documentation for the Akeneo PIM REST API. It provides detailed information about the available endpoints, request and response formats, and authentication methods.
For more information, visit the Akeneo PIM documentation.
A product is a single item that can be managed in the PIM. It can have various attributes and values, and can be associated with product models, categories, and other entities. Products are the core entities in the PIM and are used to manage the product information. We strongly recommend using this endpoint for its reliability and flexibility. UUIDs, or Universally Unique Identifiers, are guaranteed to be unique and never change, even if other product identifiers like SKUs are modified. This ensures consistent product identification regardless of future changes. Additionally, UUIDs allow interaction with products that lack a traditional identifier.
This endpoint allows you to get a list of products. Products are paginated and they can be filtered. Permissions based on your user groups are applied to the set of products you request.
| search | string Examples:
Filter products, for more details see the Filters section |
| scope | string Example: scope=ecommerce Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes. It is useful for retrieving product information specific to a particular sales channel, which is essential for channel-specific applications. For more details see the Filter product values via channel section. |
| locales | string Example: locales=en_US,fr_FR Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes. It is useful for retrieving product information in specific languages, which is essential for multi-locale applications. For more details see the Filter product values via locale section. |
| attributes | string Example: attributes=name,description Filter product values to only return those concerning the given attributes. It is useful for limiting the response to specific attributes, reducing payload size and improving performance. For more details see the Filter product values via attributes section. |
| pagination_type | string Default: "page" Enum: "page" "search_after" Example: pagination_type=page Specify which pagination method to use for navigating through large datasets. It is useful for choosing between different pagination strategies based on your specific use case and performance requirements. See Pagination section for more details. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| search_scope | string Example: search_scope=ecommerce Filter scopes based on specific criteria. If you need to filter on several attributes on the same scope, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| search_locale | string Example: search_locale=en_US Filter locales based on specific criteria. If you need to filter on several attributes on the same locale, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| convert_measurements | boolean Default: false Example: convert_measurements=true Convert values of measurement attributes to the unit configured in the channel provided by the
|
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
| with_attribute_options | boolean Default: false Example: with_attribute_options=true Return labels of attribute options in the response.
When set to |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Default: false Example: with_quality_scores=true Return product quality scores in the response.
When set to |
| with_completenesses | boolean Default: false Example: with_completenesses=true Return product completenesses information in the response.
When set to |
| with_root_parent | boolean Default: false Example: with_root_parent=true Return the root parent product model code of a variant in the response.
When set to |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
{- "_links": {
}, - "current_page": 3,
- "items_count": 3,
- "_embedded": {
- "items": [
- {
- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}, - {
- "uuid": "aec6780b-c813-4bd7-8e24-1a8574471576",
- "family": "caps",
- "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "categories": [
- "summer_collection"
], - "enabled": true,
- "values": {
- "sku": [
- {
- "data": "cap",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Cap",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Casquette",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "20",
- "currency": "EUR"
}, - {
- "amount": "20",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:0",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { },
- "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 20
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 55
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 70
}
], - "workflow_execution_statuses": [ ]
}, - {
- "uuid": "93f14b03-5ed3-4f23-87c6-ae3806041b6a",
- "family": null,
- "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "categories": [
- "winter_collection"
], - "enabled": true,
- "values": {
- "sku": [
- {
- "data": "sweat",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
]
}, - "created": "2016-06-23T11:24:44+02:00",
- "updated": "2016-06-23T11:24:44+02:00",
- "associations": { },
- "quantified_associations": { },
- "quality_scores": [ ],
- "completenesses": [ ],
- "workflow_execution_statuses": [ ]
}
]
}
}This endpoint allows you to create a new product. Permissions based on your user groups are applied to the product you try to create. If no uuid is provided, the PIM will generate one for you.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body of a product creation request
| uuid | string Product UUID |
| enabled | boolean Default: true Whether the product is enabled |
| family | string or null Default: "null only in the case of a non variant product" Family code from which the product inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family. |
| categories | |
| groups | Array of strings Default: [] Codes of the groups to which the product belong |
| parent | |
object Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. | |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types |
{- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several products at once. Learn more about Update behavior. Note that if no product exists for the given uuid, it creates it. Permissions based on your user groups are applied to the products you try to update. It may result in the creation of drafts if you only have edit rights through the product's categories.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body containing the products to update or create using UUIDs. Each line is a JSON object representing a product. Each object contains the following properties:
uuid: Product UUID (string) (mandatory)enabled: Whether the product is enabled (boolean) (optional)family: Family code from which the product inherits its attributes and attributes requirements (string) (optional)categories: Codes of the categories in which the product is classified (array) (optional)add_categories: Codes of the categories to add to the product (array) (optional)remove_categories: Codes of the categories to remove from the product (array) (optional)groups: Codes of the groups to which the product belong (array) (optional)parent: Code of the parent product model when the product is a variant (string) (optional)values: Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute (object) (optional)associations: Several associations related to groups, product models and/or other products, grouped by association types (object) (optional)quantified_associations: Several quantified associations related to products and/or product models, grouped by quantified association types (object) (optional)created: Date of creation (string) (read-only)updated: Date of the last update (string) (read-only)metadata: More information around the product (object) (read-only)quality_scores: Product quality scores for each channel/locale combination (only available when the with_quality_scores query parameter is set to true) (object) (read-only)completenesses: Product completenesses for each channel/locale combination (only available when the with_completenesses query parameter is set to true) (object) (read-only)"{\"uuid\":\"fc24e6c3-933c-4a93-8a81-e5c703d134d5\",\"values\":{\"description\":[{\"scope\":\"ecommerce\",\"locale\":\"en_US\",\"data\":\"My amazing cap\"}]}}\n{\"uuid\":\"573dd613-0c7f-4143-83d5-63cc5e535966\",\"values\":{\"sku\":[{\"data\":\"updated_sku\",\"locale\":null,\"scope\":null}]}, \"group\":[\"promotion\"]}\n{\"uuid\":\"25566245-55c3-42ce-86d9-8610ac459fa8\",\"values\":{\"sku\":[{\"data\":\"new_product\",\"locale\":null,\"scope\":null}]},\"family\":\"clothes\"}\n""{\"line\":1,\"uuid\":\"fc24e6c3-933c-4a93-8a81-e5c703d134d5\",\"status_code\":204}\n{\"line\":2,\"uuid\":\"573dd613-0c7f-4143-83d5-63cc5e535966\",\"status_code\":422,\"message\":\"Property \\\"group\\\" does not exist.\"}\n{\"line\":3,\"uuid\":\"25566245-55c3-42ce-86d9-8610ac459fa8\",\"status_code\":201}\n"This endpoint allows you to search for products that match the filters provided in the request body. Products are paginated and can be filtered by scope, locales, attributes, and other criteria. User-group-based permissions are applied to the products you request.
Important limitations
IN or NOT IN) is 800.| pagination_type | string Default: "page" Enum: "page" "search_after" Example: pagination_type=page Specify which pagination method to use for navigating through large datasets. It is useful for choosing between different pagination strategies based on your specific use case and performance requirements. See Pagination section for more details. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
Body of the request to search for products
| search | string Stringified JSON to filter products, for more details see the Filters section. |
| scope | string Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the Filter product values via channel section. |
| locales | string Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the Filter product values via locale section. |
| attributes | string Filter product values to only return those concerning the given attributes, for more details see the Filter product values via attributes section. |
| convert_measurements | boolean Convert values of measurement attributes to the unit configured in the channel provided by the parameter "scope".
Therefore, this parameter requires the |
| with_attribute_options | boolean Return labels of attribute options in the response.
See the |
| with_asset_share_links | boolean Whether to return asset collection share link URLs in the response.
See the |
| with_quality_scores__products | boolean Return product quality scores in the response |
| with_completenesses | boolean Return product completenesses in the response |
| with_workflow_execution_statuses | boolean Return an array of workflow_execution_statuses in the response |
{- "scope": "ecommerce",
- "locales": "en_US",
- "search": "{\"completeness\":[{\"operator\": \"=\",\"value\": 100,\"scope\":\"ecommerce\"}]}",
- "attributes": "description, name",
- "with_attribute_options": false,
- "with_asset_share_links": true,
- "with_quality_scores__products": true,
- "with_completenesses": true
}{- "_links": {
}, - "current_page": 3,
- "items_count": 3,
- "_embedded": {
- "items": [
- {
- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}, - {
- "uuid": "aec6780b-c813-4bd7-8e24-1a8574471576",
- "family": "caps",
- "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "categories": [
- "summer_collection"
], - "enabled": true,
- "values": {
- "sku": [
- {
- "data": "cap",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Cap",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Casquette",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "20",
- "currency": "EUR"
}, - {
- "amount": "20",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:0",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { },
- "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 20
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 55
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 70
}
], - "workflow_execution_statuses": [ ]
}, - {
- "uuid": "93f14b03-5ed3-4f23-87c6-ae3806041b6a",
- "family": null,
- "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "categories": [
- "winter_collection"
], - "enabled": true,
- "values": {
- "sku": [
- {
- "data": "sweat",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
]
}, - "created": "2016-06-23T11:24:44+02:00",
- "updated": "2016-06-23T11:24:44+02:00",
- "associations": { },
- "quantified_associations": { },
- "quality_scores": [ ],
- "completenesses": [ ],
- "workflow_execution_statuses": [ ]
}
]
}
}This endpoint allows you to get the information about a given product. Permissions based on your user groups are applied to the product you request.
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
| with_attribute_options | boolean Default: false Example: with_attribute_options=true Return labels of attribute options in the response.
When set to |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Default: false Example: with_quality_scores=true Return product quality scores in the response.
When set to |
| with_completenesses | boolean Default: false Example: with_completenesses=true Return product completenesses information in the response.
When set to |
| with_root_parent | boolean Default: false Example: with_root_parent=true Return the root parent product model code of a variant in the response.
When set to |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
{- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}This endpoint allows you to update a given product. Learn more about Update behavior. Note that if no product exists for the given uuid, it creates it. In the Enterprise Edition, permissions based on your user groups are applied to the product you try to update. It may result in the creation of a draft if you only have edit rights through the product's categories.
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body of the request to update a product
| uuid | string Product UUID |
| enabled | boolean Default: true Whether the product is enabled |
| family | string or null Default: "null only in the case of a non variant product" Family code from which the product inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family. |
| categories | |
| add_categories | Array of strings Default: [] Codes of the categories to add to the product. Existing categories will be preserved. |
| remove_categories | Array of strings Default: [] Codes of the categories to remove from the product. Other categories will be preserved.d |
| groups | Array of strings Default: [] Codes of the groups to which the product belong |
| parent | |
| values | object Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types |
{- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to delete a given product. Permissions based on your user groups are applied to the product you try to delete.
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to submit a draft for approval
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to get the information about a given draft
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "parent": null,
- "root_parent": "null",
- "values": {
- "sku": [
- {
- "data": "top",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_identifier"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}A product is a single item that can be managed in the PIM. It can have various attributes and values, and can be associated with product models, categories, and other entities. Products are the core entities in the PIM and are used to manage the product information. This endpoint is useful when you already have a product identifier within your systems. This identifier, which could be a SKU or internal code, can be used to directly interact with the corresponding product in our API. This simplifies integration for workflows that rely on existing product identification methods.
This endpoint allows you to get a list of products. Products are paginated and they can be filtered. Permissions based on your user groups are applied to the set of products you request.
| search | string Examples:
Filter products, for more details see the Filters section. |
| scope | string Example: scope=ecommerce Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes. It is useful for retrieving product information specific to a particular sales channel, which is essential for channel-specific applications. For more details see the Filter product values via channel section. |
| locales | string Example: locales=en_US,fr_FR Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes. It is useful for retrieving product information in specific languages, which is essential for multi-locale applications. For more details see the Filter product values via locale section. |
| attributes | string Example: attributes=name,description Filter product values to only return those concerning the given attributes. It is useful for limiting the response to specific attributes, reducing payload size and improving performance. For more details see the Filter product values via attributes section. |
| pagination_type | string Default: "page" Enum: "page" "search_after" Example: pagination_type=page Specify which pagination method to use for navigating through large datasets. It is useful for choosing between different pagination strategies based on your specific use case and performance requirements. See Pagination section for more details. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| search_scope | string Example: search_scope=ecommerce Filter scopes based on specific criteria. If you need to filter on several attributes on the same scope, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| search_locale | string Example: search_locale=en_US Filter locales based on specific criteria. If you need to filter on several attributes on the same locale, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| convert_measurements | boolean Default: false Example: convert_measurements=true Convert values of measurement attributes to the unit configured in the channel provided by the
|
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
| with_attribute_options | boolean Default: false Example: with_attribute_options=true Return labels of attribute options in the response.
When set to |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Default: false Example: with_quality_scores=true Return product quality scores in the response.
When set to |
| with_completenesses | boolean Default: false Example: with_completenesses=true Return product completenesses information in the response.
When set to |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
{- "_links": {
}, - "current_page": 3,
- "items_count": 3,
- "_embedded": {
- "items": [
- {
- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "identifier": "top",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}, - {
- "uuid": "aec6780b-c813-4bd7-8e24-1a8574471576",
- "identifier": "cap",
- "family": "caps",
- "groups": [ ],
- "parent": null,
- "categories": [
- "summer_collection"
], - "enabled": true,
- "values": {
- "name": [
- {
- "data": "Cap",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Casquette",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Cap unisex",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Casquette unisexe",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "20",
- "currency": "EUR"
}, - {
- "amount": "20",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:0",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { },
- "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 20
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 55
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 70
}
], - "workflow_execution_statuses": [ ]
}, - {
- "uuid": "93f14b03-5ed3-4f23-87c6-ae3806041b6a",
- "identifier": "sweat",
- "family": null,
- "groups": [ ],
- "parent": null,
- "categories": [
- "winter_collection"
], - "enabled": true,
- "values": { },
- "created": "2016-06-23T11:24:44+02:00",
- "updated": "2016-06-23T11:24:44+02:00",
- "associations": { },
- "quantified_associations": { },
- "quality_scores": [ ],
- "completenesses": [ ],
- "workflow_execution_statuses": [ ]
}
]
}
}This endpoint allows you to create a new product. Permissions based on your user groups are applied to the product you try to create.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body of the request should contain a JSON object representing the product to create
| uuid | string Product UUID |
| identifier required | string Product identifier, i.e. the value of the only |
| enabled | boolean Default: true Whether the product is enabled |
| groups | Array of strings Default: [] Codes of the groups to which the product belong |
| family | string or null Default: "null only in the case of a non variant product." Family code from which the product inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family |
| categories | |
| parent | |
object Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. | |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types | |
| property name* additional property | any |
{- "identifier": "top",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
]
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several products at once. Learn more about Update behavior. Note that if no product exists for the given identifier, it creates it. Permissions based on your user groups are applied to the products you try to update. It may result in the creation of drafts if you only have edit rights through the product's categories.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body containing the products to update or create. Each line is a JSON object representing a product. Each object contains the following properties:
identifier: Product identifier, i.e. the value of the only pim_catalog_identifier attribute (string) (mandatory)enabled: Whether the product is enabled (boolean) (optional)family: Family code from which the product inherits its attributes and attributes requirements (string) (optional)categories: Codes of the categories in which the product is classified (array) (optional)add_categories: Codes of the categories to add to the product (array) (optional)remove_categories: Codes of the categories to remove from the product (array) (optional)groups: Codes of the groups to which the product belong (array) (optional)parent: Code of the parent product model when the product is a variant (string) (optional)values: Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute (object) (optional)associations: Several associations related to groups, product models and/or other products, grouped by association types (object) (optional)quantified_associations: Several quantified associations related to products and/or product models, grouped by quantified association types (object) (optional)created: Date of creation (string) (read-only)updated: Date of the last update (string) (read-only)metadata: More information around the product (object) (read-only)quality_scores: Product quality scores for each channel/locale combination (only available when the with_quality_scores query parameter is set to true) (object) (read-only)completenesses: Product completenesses for each channel/locale combination (only available when the with_completenesses query parameter is set to true) (object) (read-only)"{\"line\":1,\"identifier\":\"cap\",\"status_code\":204}\n{\"line\":2,\"identifier\":\"mug\",\"status_code\":422,\"message\":\"Property \\\"group\\\" does not exist.\"}\n{\"line\":3,\"identifier\":\"tshirt\",\"status_code\":201}\n""{\"line\":1,\"identifier\":\"cap\",\"status_code\":204}\n{\"line\":2,\"identifier\":\"mug\",\"status_code\":422,\"message\":\"Property \\\"group\\\" does not exist.\"}\n{\"line\":3,\"identifier\":\"tshirt\",\"status_code\":201}\n"This endpoint allows you to get the information about a given product. Permissions based on your user groups are applied to the product you request.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| with_attribute_options | boolean Default: false Example: with_attribute_options=true Return labels of attribute options in the response.
When set to |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Default: false Example: with_quality_scores=true Return product quality scores in the response.
When set to |
| with_completenesses | boolean Default: false Example: with_completenesses=true Return product completenesses information in the response.
When set to |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
{- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "identifier": "top",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}This endpoint allows you to update a given product. Learn more about Update behavior. Note that if no product exists for the given identifier, it creates it. In the Enterprise Edition, since the v2.0, permissions based on your user groups are applied to the product you try to update. It may result in the creation of a draft if you only have edit rights through the product's categories.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body of the request to update a product by its identifier
| uuid | string Product UUID |
| identifier | string Product identifier, i.e. the value of the only |
| enabled | boolean Default: true Whether the product is enabled |
| groups | Array of strings Default: [] Codes of the groups to which the product belong |
| family | string or null Default: "null only in the case of a non variant product" Family code from which the product inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family. |
| categories | |
| add_categories | Array of strings Default: [] Codes of the categories to add to the product. Existing categories will be preserved |
| remove_categories | Array of strings Default: [] Codes of the categories to remove from the product. Other categories will be preserved. |
| parent | |
| values | object Product attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types |
{- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "identifier": "top",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to delete a given product. Permissions based on your user groups are applied to the product you try to delete.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to submit a draft for approval.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Empty body to submit the draft for approval
{ }{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to get the information about a given draft.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "identifier": "top",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "name": [
- {
- "data": "Top",
- "locale": "en_US",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce",
- "attribute_type": "pim_catalog_textarea"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet",
- "attribute_type": "pim_catalog_textarea"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "color": [
- {
- "data": "black",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "size": [
- {
- "data": "m",
- "locale": null,
- "scope": null,
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}, - "attribute_type": "pim_catalog_simpleselect"
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "locale": null,
- "scope": null,
- "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}, - "attribute_type": "pim_catalog_multiselect"
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
]
}A product model is a template for products that share the same attributes and values. It allows you to create a hierarchy of products, where a product model can have several variants. A product model can also have its own attributes and values, which are inherited by its variants.
This endpoint allows you to get a list of product models. Product models are paginated. Permissions based on your user groups are applied to the set of products you request.
| search | string Examples:
Filter product models, for more details see the Filters. |
| scope | string Example: scope=ecommerce Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes. It is useful for retrieving product information specific to a particular sales channel, which is essential for channel-specific applications. For more details see the Filter product values via channel section. |
| locales | string Example: locales=en_US,fr_FR Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes. It is useful for retrieving product information in specific languages, which is essential for multi-locale applications. For more details see the Filter product values via locale section. |
| attributes | string Example: attributes=name,description Filter product values to only return those concerning the given attributes. It is useful for limiting the response to specific attributes, reducing payload size and improving performance. For more details see the Filter product values via attributes section. |
| pagination_type | string Default: "page" Enum: "page" "search_after" Example: pagination_type=page Specify which pagination method to use for navigating through large datasets. It is useful for choosing between different pagination strategies based on your specific use case and performance requirements. See Pagination section for more details. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| search_scope | string Example: search_scope=ecommerce Filter scopes based on specific criteria. If you need to filter on several attributes on the same scope, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| search_locale | string Example: search_locale=en_US Filter locales based on specific criteria. If you need to filter on several attributes on the same locale, you can use this parameter, to avoid repeating yourself for each attribute. For more details see the Filters section. |
| convert_measurements | boolean Default: false Example: convert_measurements=true Convert values of measurement attributes to the unit configured in the channel provided by the
|
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
| with_attribute_options | boolean Default: false Example: with_attribute_options=true Return labels of attribute options in the response.
See the |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Example: with_quality_scores=true Return product model quality scores in the response. |
{- "_links": {
}, - "current_page": 1,
- "items_count": 3,
- "_embedded": {
- "items": [
- {
- "code": "amarisshoe",
- "family": "shoes",
- "family_variant": "shoes_VariantA1",
- "categories": [
- "clothing",
- "shoes"
], - "values": {
- "price": [
- {
- "data": [
- {
- "amount": "50.00",
- "currency": "EUR"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "I like shoes!",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglasses"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}, - {
- "identifier": "shoes",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
], - "created": "2017-10-04T18:04:10+02:00",
- "updated": "2017-10-04T18:04:10+02:00"
}, - {
- "code": "Abiloitshirt",
- "family": "clothing",
- "family_variant": "clothing_VariantA1",
- "categories": [
- "clothing",
- "tshirt"
], - "values": {
- "price": [
- {
- "data": [
- {
- "amount": "50.00",
- "currency": "EUR"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "I like tshirt!",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglasses"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "cap",
- "quantity": 2
}
], - "product_models": [ ]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "workflow_execution_statuses": [ ],
- "created": "2017-10-04T18:04:10+02:00",
- "updated": "2017-10-04T18:04:10+02:00"
}, - {
- "code": "Astertrousers",
- "family": "clothing",
- "family_variant": "clothing_VariantA1",
- "categories": [
- "clothing",
- "trousers"
], - "values": {
- "price": [
- {
- "data": [
- {
- "amount": "50.00",
- "currency": "EUR"
}
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_price_collection"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "I like trousers!",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglasses"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { },
- "workflow_execution_statuses": [ ],
- "created": "2017-10-04T18:04:10+02:00",
- "updated": "2017-10-04T18:04:10+02:00"
}
]
}
}This endpoint allows you to create a new product model. Permissions based on your user groups are applied to the product model you try to create.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body of the request should contain the product model to create
| code required | string Product model code. Required for POST (create) operations. Optional for PATCH (update) operations as it can be inferred from the URL. |
| family | string Family code from which the product model inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family. |
| family_variant | string Family variant code from which the product model inherits its attributes and variant attributes. Required for root product models (without parent). Optional for sub-product models (with parent), as it can be inferred from the parent. |
| parent | |
| categories | |
object Product model attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. | |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types |
{- "code": "model-biker-jacket-leather",
- "family": "clothing",
- "family_variant": "clothing_material_size",
- "parent": "model-biker-jacket",
- "categories": [
- "summer_collection"
], - "values": {
- "color": [
- {
- "data": "antique_white",
- "locale": null,
- "scope": null
}
], - "material": [
- {
- "data": "leather",
- "locale": null,
- "scope": null
}
], - "variation_name": [
- {
- "locale": "en_US",
- "data": "Biker jacket leather",
- "scope": null
}
], - "name": [
- {
- "locale": "en_US",
- "data": "Biker jacket",
- "scope": null
}
], - "collection": [
- {
- "data": [
- "summer_2017"
], - "locale": null,
- "scope": null
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "Biker jacket"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "top",
- "quantity": 2
}, - {
- "identifier": "cap",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several product models at once. Learn more about Update behavior. Note that if no product models exists for the given code, it creates it. Permissions based on your user groups are applied to the product models you try to update. It may result in the creation of drafts if you only have edit rights through the product model's categories.
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
Body containing the product models to update or create. Each line is a JSON object representing a product model. Each object contains the following properties:
code: Product model code (string) (mandatory)family: Family code from which the product model inherits its attributes and attributes requirements (string) (optional)family_variant: Family variant code from which the product model inherits its attributes and variant attributes (string) (mandatory for root product models, optional for sub-product models)parent: Code of the parent product model (string) (optional)categories: Codes of the categories in which the product model is categorized (array) (optional)add_categories: Codes of the categories to add to the product model (array) (optional)remove_categories: Codes of the categories to remove from the product model (array) (optional)values: Product model attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute (object) (optional)associations: Several associations related to groups, product and/or other product models, grouped by association types (object) (optional)quantified_associations: Several quantified associations related to products and/or product models, grouped by quantified association types (object) (optional)created: Date of creation (string) (read-only)updated: Date of the last update (string) (read-only)metadata: More information around the product model (object) (read-only)quality_scores: Product model quality scores for each channel/locale combination (only available when the with_quality_scores query parameter is set to true) (object) (read-only)"{\"code\": \"sub_sweat_option_a\", \"parent\": \"sweat\", \"values\": {\"a_simple_select\": [{\"locale\": null, \"scope\": null, \"data\": \"optionA\"}]}}\n{\"code\": \"sub_sweat_option_b\", \"parent\": \"sweat\", \"values\": {\"a_simple_select\": [{\"locale\": null, \"scope\": null, \"data\": \"optionA\"}]}}\n{\"code\":\"tshirt\", \"parent\": \"root_tshirt\", \"family_variant\":\"clothesvariant\",\"values\":{\"description\":[{\"scope\":\"ecommerce\",\"locale\":\"en_US\",\"data\":\"My amazing tshirt\"}]}}\n""{\"line\":1,\"code\":\"sub_sweat_option_a\",\"status_code\":204}\n{\"line\":2,\"code\":\"sub_sweat_option_b\",\"status_code\":422,\"message\":\"Validation failed.\",\"errors\":[{\"property\":\"attribute\",\"message\":\"Cannot set value \\\"Option A\\\" for the attribute axis \\\"a_simple_select\\\", as another sibling entity already has this value\"}]}\n{\"line\":3,\"code\":\"tshirt\",\"status_code\":201}\n"This endpoint allows you to get the information about a given product model. Permissions based on your user groups are applied to the product model you request.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| with_asset_share_links | boolean Default: false Example: with_asset_share_links=true Return asset collection share link URLs in the response.
When set to |
| with_quality_scores | boolean Default: false Example: with_quality_scores=true Return product quality scores in the response.
When set to |
| with_workflow_execution_statuses | boolean Default: false Example: with_workflow_execution_statuses=true Return an array of workflow_execution_statuses directly associated with the requested entity (product or product model) in the response. Statuses are level-specific and are not inherited from parent models. For a complete overview of a variant product, you must query the variant itself and its parent model(s) in separate requests. Each workflow object contains:
|
{- "code": "model-biker-jacket-leather",
- "family": "clothing",
- "family_variant": "clothing_material_size",
- "parent": "model-biker-jacket",
- "categories": [
- "summer_collection"
], - "values": {
- "color": [
- {
- "data": "antique_white",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_simpleselect"
}
], - "material": [
- {
- "data": "leather",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "variation_name": [
- {
- "locale": "en_US",
- "data": "Biker jacket leather",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "name": [
- {
- "locale": "en_US",
- "data": "Biker jacket",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "collection": [
- {
- "data": [
- "summer_2017"
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_multiselect"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "Biker jacket",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "top",
- "quantity": 2
}, - {
- "identifier": "cap",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
], - "created": "2017-10-02T15:03:55+02:00",
- "updated": "2017-10-02T15:03:55+02:00"
}This endpoint allows you to update a given product model. Learn more about Update behavior. Note that if no product model exists for the given code, it creates it. Permissions based on your user groups are applied to the product model you try to update. It may result in the creation of a draft if you only have edit rights through the product model's categories.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| create_missing_options | string When present in the query string (regardless of value), automatically creates missing attribute options during product/product model creation or update.
This only works for simple select and multi select attributes that have the |
The product model to update
| code | string Product model code. Required for POST (create) operations. Optional for PATCH (update) operations as it can be inferred from the URL. |
| family | string Family code from which the product model inherits its attributes and attributes requirements. In the case of variant product, the given family should be the same as the product model family. |
| family_variant | string Family variant code from which the product model inherits its attributes and variant attributes. Required for root product models (without parent). Optional for sub-product models (with parent), as it can be inferred from the parent. |
| parent | |
| categories | |
| add_categories | Array of strings Default: [] Codes of the categories to add to the product model. Existing categories will be preserved. |
| remove_categories | Array of strings Default: [] Codes of the categories to remove from the product model. Other categories will be preserved. |
| values | object Product model attributes values. Each key is an attribute code, and the value is an array of value objects for that attribute. See documentation for details. |
object Several associations related to groups, product models and/or other products, grouped by association types | |
object Several quantified associations related to products and/or product models, grouped by quantified association types |
{- "code": "model-biker-jacket-leather",
- "family": "clothing",
- "family_variant": "clothing_material_size",
- "parent": "model-biker-jacket",
- "categories": [
- "summer_collection"
], - "values": {
- "color": [
- {
- "data": "antique_white",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_simpleselect"
}
], - "material": [
- {
- "data": "leather",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "variation_name": [
- {
- "locale": "en_US",
- "data": "Biker jacket leather",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "name": [
- {
- "locale": "en_US",
- "data": "Biker jacket",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "collection": [
- {
- "data": [
- "summer_2017"
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_multiselect"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "Biker jacket",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "top",
- "quantity": 2
}, - {
- "identifier": "cap",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
], - "created": "2017-10-02T15:03:55+02:00",
- "updated": "2017-10-02T15:03:55+02:00"
}{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to delete a given product model. All its children, product models and variant products, will be also deleted. Permissions based on your connection user group are applied to the product model you try to delete.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to submit a product model draft for approval
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
The content of the request body is not used
{ }{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to get the information about a given product model draft
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "model-biker-jacket-leather",
- "family": "clothing",
- "family_variant": "clothing_material_size",
- "parent": "model-biker-jacket",
- "categories": [
- "summer_collection"
], - "values": {
- "color": [
- {
- "data": "antique_white",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_simpleselect"
}
], - "material": [
- {
- "data": "leather",
- "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "variation_name": [
- {
- "locale": "en_US",
- "data": "Biker jacket leather",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "name": [
- {
- "locale": "en_US",
- "data": "Biker jacket",
- "scope": null,
- "attribute_type": "pim_catalog_text"
}
], - "collection": [
- {
- "data": [
- "summer_2017"
], - "locale": null,
- "scope": null,
- "attribute_type": "pim_catalog_multiselect"
}
], - "description": [
- {
- "locale": "en_US",
- "scope": "ecommerce",
- "data": "Biker jacket",
- "attribute_type": "pim_catalog_textarea"
}
]
}, - "associations": {
- "PACK": {
- "products": [
- "sunglass"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "identifier": "top",
- "quantity": 2
}, - {
- "identifier": "cap",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}, - {
- "uuid": "59169984-6d6c-4fa7-b925-68b8e9d31ddb",
- "status": "completed",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": "2024-02-22T17:31:00Z",
- "workflow": {
- "uuid": "b69ee158-a421-4680-bec0-a71bc73b8e31",
- "code": "compliance_workflow",
- "labels": { }
}, - "tasks": [ ]
}
], - "created": "2017-10-02T15:03:55+02:00",
- "updated": "2017-10-02T15:03:55+02:00"
}A media file is a file that can be attached to a product, product model, category, or asset. It can be an image, a video, a PDF, or any other type of file. Media files are used to enrich the product information and provide additional context to the products.
This endpoint allows you to get a list of media files that are used as attribute values in products or product models
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "first": {
}, - "previous": {
},
}, - "current_page": 2,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "_links": {
}, - "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
- "original_filename": "10806799-1356.jpg",
- "mime_type": "image/jpeg",
- "size": 16070,
- "extension": "jpg"
}, - {
- "code": "d/0/3/2/d032a92d994df3ef67ee6746b7b7a795c2964e7c_10734346_1480.jpg",
- "original_filename": "10734346-1480.jpg",
- "mime_type": "image/jpeg",
- "size": 16454,
- "extension": "jpg"
}, - {
- "code": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_12431976_8797.jpg",
- "original_filename": "12431976-8797.jpg",
- "mime_type": "image/jpeg",
- "size": 19725,
- "extension": "jpg"
}, - {
- "code": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343e6207ab54c7b_107406_9841.jpg",
- "original_filename": "107406-9841.jpg",
- "mime_type": "image/jpeg",
- "size": 17639,
- "extension": "jpg"
}
]
}
}This endpoint allows you to create a new media file and associate it to an attribute value of a given product or product model
Body of the request to create a new media file
| product required | string or null The product to which the media file will be associated.
It is a JSON string that follows this format
'{"identifier":"product_identifier", "attribute":"attribute_code", "scope":"channel_code","locale":"locale_code"}'.
You have to either use this field or the |
| file required | string <binary> The binaries of the file |
{ "product": "{\"identifier\":\"product_identifier\", \"attribute\":\"attribute_code\", \"scope\":null,\"locale\":null}", "file": "" }
{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to get the information about a given media file that is used as an attribute value of a product or a product model.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "_links": {
}, - "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
- "original_filename": "10806799-1356.jpg",
- "mime_type": "image/jpeg",
- "size": 16070,
- "extension": "jpg"
}This endpoint allows you to download a given media file that is used as an attribute value of a product or a product model
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
A job is a process that can be executed in the PIM to perform various tasks, such as importing or exporting data. Jobs can be used to synchronize data between the PIM and external systems, or to perform bulk operations on products, product models, or other entities.
This endpoint allows you to launch an export job by code
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Export jobs accept an optional request body
| is_dry_run | boolean Whether to run the export in dry-run mode |
{- "is_dry_run": false
}{- "job_execution_id": 12345
}This endpoint allows you to launch an import job by code
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body to change the import mode for this job.
| import_mode | string Enum: "create_only" "update_only" "create_or_update" Change the import mode for this job by overriding the profile value. Available values are: create_only, update_only and create_or_update. |
| is_dry_run | boolean Whether to run the import in dry-run mode |
{- "import_mode": "create_or_update",
- "is_dry_run": false
}{- "job_execution_id": 12345
}A family is a set of attributes that are shared by products belonging to this family. In other words, a family can be considered as a template for products. A product family can use all of the attributes available in the PIM. Several families of products can use the same attributes.
This endpoint allows you to get a list of families. Families are paginated and sorted by code.
| search | string Examples:
The |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "previous": {
},
}, - "current_page": 2,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "tshirt",
- "attributes": [
- "sku",
- "name",
- "description",
- "price",
- "size",
- "color",
- "picture"
], - "attribute_as_label": "name",
- "attribute_as_image": "picture",
- "attribute_requirements": {
- "ecommerce": [
- "sku",
- "name",
- "description",
- "price",
- "size",
- "color"
], - "tablet": [
- "sku",
- "name",
- "description",
- "price"
]
}, - "labels": {
- "en_US": "Tshirt",
- "fr_FR": "Tshirt"
}, - "parent": null
}, - {
- "code": "caps",
- "attributes": [
- "sku",
- "name",
- "description",
- "price",
- "color",
- "picture"
], - "attribute_as_label": "name",
- "attribute_as_image": "picture",
- "attribute_requirements": {
- "ecommerce": [
- "sku",
- "name",
- "description",
- "price",
- "color"
], - "tablet": [
- "sku",
- "name",
- "description",
- "price"
]
}, - "labels": {
- "en_US": "Caps",
- "fr_FR": "Casquettes"
}, - "parent": "accessories"
}
]
}
}This endpoint allows you to create a new family
| Content-Type required | string Default: application/json Example: application/json This header indicates the media type of the resource being sent to the server. It is used to specify the format of the request body, allowing the server to correctly interpret the data being sent. Equal to 'application/json' or 'application/x-www-form-urlencoded', no other value allowed. |
The family to be created
| code required | string Family code |
| attribute_as_label | string Attribute code used as label |
| attribute_as_image | string or null Attribute code used as the main picture in the user interface |
| attributes | Array of strings Attribute codes that compose the family. Each string in the array must be an existing attribute code |
object Attribute codes of the family that are required for the completeness calculation for each channel | |
object Default: {} Family labels for each locale. The | |
| parent | string or null The code of the parent family. If not provided, the family is a root family |
{- "code": "caps",
- "attributes": [
- "sku",
- "name",
- "description",
- "price",
- "color",
- "picture",
- "material"
], - "attribute_as_label": "name",
- "attribute_as_image": "picture,",
- "attribute_requirements": {
- "ecommerce": [
- "sku",
- "name",
- "description",
- "price",
- "color"
], - "tablet": [
- "sku",
- "name",
- "description",
- "price"
]
}, - "labels": {
- "en_US": "Caps",
- "fr_FR": "Casquettes"
}, - "parent": null
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several families at once
| Content-Type required | string Value: "application/vnd.akeneo.collection+json" The content type of the request |
Body containing the families to update or create. Each line is a JSON object representing a family. Each object contains the following properties:
code: Family code (string) (mandatory)attribute_as_label: Attribute code used as label (string) (optional)attribute_as_image: Attribute code used as the main picture in the user interface (string) (optional)attributes: Attribute codes that compose the family. Each string in the array must be an existing attribute code (array of strings) (optional)attribute_requirements: Attribute codes of the family that are required for the completeness calculation for each channel (object) (optional)labels: Family labels for each locale. The localeCode must be the code of an existing and activated locale (object) (optional)parent: The code of the parent family. If not provided, the family is a root family (string) (optional)"{ \"code\": \"tshirt\",\"attribute_as_label\": \"description\",\"attributes\": [ \"description\",\"size\" ] }\n{ \"code\": \"cap\",\"attribute_as_label\": \"descripion\" }\n{ \"code\": \"mug\",\"attributes\": [ \"description\",\"short_description\" ] }\n""{\"line\":1,\"code\":\"camcorders\",\"status_code\":201}\n{\"line\":2,\"code\":\"cap\",\"status_code\":422,\"message\":\"Attribute \\\"descripion\\\" does not exist.\"}\n{\"line\":3,\"code\":\"clothes\",\"status_code\":204}\n"This endpoint allows you to get the information about a given family
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "caps",
- "attributes": [
- "sku",
- "name",
- "description",
- "price",
- "color",
- "picture",
- "material"
], - "attribute_as_label": "name",
- "attribute_as_image": "picture,",
- "attribute_requirements": {
- "ecommerce": [
- "sku",
- "name",
- "description",
- "price",
- "color"
], - "tablet": [
- "sku",
- "name",
- "description",
- "price"
]
}, - "labels": {
- "en_US": "Caps",
- "fr_FR": "Casquettes"
}, - "parent": null
}This endpoint allows you to update a given family. Know more about Update behavior. Note that if no family exists for the given code, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| Content-Type required | string Default: application/json Example: application/json This header indicates the media type of the resource being sent to the server. It is used to specify the format of the request body, allowing the server to correctly interpret the data being sent. Equal to 'application/json' or 'application/x-www-form-urlencoded', no other value allowed. |
The family object to update or create
| code | string Family code |
| attribute_as_label | string Attribute code used as label |
| attribute_as_image | string or null Attribute code used as the main picture in the user interface |
| attributes | Array of strings Attribute codes that compose the family. Each string in the array must be an existing attribute code |
object Attribute codes of the family that are required for the completeness calculation for each channel | |
object Default: {} Family labels for each locale. The | |
| parent | string or null The code of the parent family. If not provided, the family is a root family |
{- "code": "caps",
- "attributes": [
- "sku",
- "name",
- "description",
- "price",
- "color",
- "picture",
- "material"
], - "attribute_as_label": "name",
- "attribute_as_image": "picture,",
- "attribute_requirements": {
- "ecommerce": [
- "sku",
- "name",
- "description",
- "price",
- "color"
], - "tablet": [
- "sku",
- "name",
- "description",
- "price"
]
}, - "labels": {
- "en_US": "Caps",
- "fr_FR": "Casquettes"
}, - "parent": null
}{- "code": 400,
- "message": "Invalid JSON message received"
}A family variant is a specific type of family that allows you to create variants of a product model. It allows you to define the attributes and values that are specific to the variants of a product model. Family variants are used to manage the relationships between product models and their variants.
This endpoint allows you to get a list of family variants. Family variants are paginated and sorted by code.
| family_code required | string Example: caps This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "previous": {
},
}, - "current_page": 1,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "_links": {
}, - "code": "shoesVariant",
- "labels": {
- "en_US": "Shoes variant",
- "fr_FR": "Variante de chaussures"
}, - "common_attributes": [
- "name",
- "description",
- "image"
], - "variant_attribute_sets": [
- {
- "level": 1,
- "axes": [
- "color"
], - "attributes": [
- "color",
- "material"
]
}, - {
- "level": 2,
- "axes": [
- "size"
], - "attributes": [
- "sku",
- "size"
]
}
]
}
]
}
}This endpoint allows you to create a family variant
| family_code required | string Example: caps This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. |
The body should contain a family variant in JSON standard format
| code required | string Family variant code |
required | Array of objects Attributes distribution according to the enrichment level |
object Default: {} Family variant labels for each locale |
{- "code": "shoesVariant",
- "labels": {
- "en_US": "Shoes variant",
- "fr_FR": "Variante de chaussures"
}, - "variant_attribute_sets": [
- {
- "level": 1,
- "attributes": [
- "color",
- "material"
], - "axes": [
- "color"
]
}, - {
- "level": 2,
- "attributes": [
- "sku",
- "size"
], - "axes": [
- "size"
]
}
]
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several family variants at once
| family_code required | string Example: caps This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. |
Body containing the family variants to update or create. Each line is a JSON object representing a family variant. Each object contains the following properties:
code: Family variant code (string) (mandatory)variant_attribute_sets: Attributes distribution according to the enrichment level (array) (mandatory)labels: Family variant labels for each locale (object) (optional)"{\"code\": \"shoes_by_size\", \"variant_attribute_sets\": [{\"level\": 1, \"axes\": [\"size\"], \"attributes\": [\"color\"]}]}\n{\"code\": \"shoes_by_color\",\"labels\": {\"en_US\": \"Shoes by color\"}}\n{\"code\": \"shoes_without_axes\", \"variant_attribute_sets\": [{\"level\": 1, \"axes\": [], \"attributes\": [\"color\"]}]}\n""{\"line\":1,\"code\":\"shoes_by_size\",\"status_code\":201}\n{\"line\":2,\"code\":\"shoes_by_color\",\"status_code\":204}\n{\"line\":3,\"code\":\"mug\",\"status_code\":422, \"message\":\"There should be at least one attribute defined as axis for the attribute set for level \\\"1\\\"\"}\n"This endpoint allows you to get the information about a given family variant
| family_code required | string Example: caps This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "shoesVariant",
- "labels": {
- "en_US": "Shoes variant",
- "fr_FR": "Variante de chaussures"
}, - "common_attributes": [
- "name",
- "description"
], - "variant_attribute_sets": [
- {
- "level": 1,
- "attributes": [
- "color",
- "material"
], - "axes": [
- "color"
]
}, - {
- "level": 2,
- "attributes": [
- "sku",
- "size"
], - "axes": [
- "size"
]
}
]
}This endpoint allows you to update a given family variant. Know more about Update behavior. Note that if no family variant exists for the given code, it creates it.
| family_code required | string Example: caps This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Family variants to update or create
| code | string Family variant code |
required | Array of objects Attributes distribution according to the enrichment level |
object Default: {} Family variant labels for each locale |
{- "code": "shoesVariant",
- "labels": {
- "en_US": "Shoes variant",
- "fr_FR": "Variante de chaussures"
}, - "variant_attribute_sets": [
- {
- "level": 1,
- "attributes": [
- "color",
- "material"
], - "axes": [
- "color"
]
}, - {
- "level": 2,
- "attributes": [
- "sku",
- "size"
], - "axes": [
- "size"
]
}
]
}{- "code": 400,
- "message": "Invalid JSON message received"
}An attribute is a piece of information that can be associated with a product or product model. Attributes can be used to store various types of data, such as text, numbers, dates, or media files. They are used to define the characteristics of products and to provide additional information about them.
This endpoint allows you to get a list of attributes. Attributes are paginated and sorted by code.
| search | string Examples:
Filter attributes, for more details see the Filters section. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
| with_table_select_options | boolean Default: false Example: with_table_select_options=true Return the options of 'select' column types (of a table attribute) in the response.
When set to |
{- "_links": {
- "previous": {
},
}, - "current_page": 3,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "sku",
- "type": "pim_catalog_identifier",
- "group": "other",
- "unique": true,
- "useable_as_grid_filter": true,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": false,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": false,
- "negative_allowed": false,
- "date_min": null,
- "date_max": null,
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 1,
- "localizable": false,
- "scopable": false,
- "labels": {
- "en_US": "Identifier",
- "fr_FR": "Identifiant"
}, - "guidelines": { },
- "auto_option_sorting": null,
- "default_value": null,
- "is_mandatory": false,
- "decimal_places": null,
- "decimal_places_strategy": null,
- "is_read_only": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null,
- "group_labels": {
- "en_US": "Other",
- "fr_FR": "Autre"
}
}, - {
- "code": "release_date",
- "type": "pim_catalog_date",
- "group": "marketing",
- "unique": false,
- "useable_as_grid_filter": true,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": false,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": false,
- "negative_allowed": false,
- "date_min": "2017-06-28T08:00:00",
- "date_max": "2017-08-08T22:00:00",
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 1,
- "localizable": false,
- "scopable": false,
- "labels": {
- "en_US": "Sale date",
- "fr_FR": "Date des soldes"
}, - "guidelines": { },
- "auto_option_sorting": null,
- "default_value": null,
- "is_mandatory": false,
- "decimal_places": null,
- "decimal_places_strategy": null,
- "is_read_only": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null,
- "group_labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}
}, - {
- "code": "food_composition",
- "type": "pim_catalog_table",
- "group": "product",
- "unique": false,
- "useable_as_grid_filter": false,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": null,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": null,
- "negative_allowed": null,
- "date_min": null,
- "date_max": null,
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 0,
- "localizable": false,
- "scopable": false,
- "labels": {
- "en_US": "Composition",
- "fr_FR": "Composition"
}, - "guidelines": { },
- "auto_option_sorting": null,
- "default_value": null,
- "is_mandatory": false,
- "decimal_places": null,
- "decimal_places_strategy": null,
- "is_read_only": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null,
- "table_configuration": [
- {
- "code": "ingredient",
- "data_type": "select",
- "labels": {
- "en_US": "Ingredient",
- "fr_FR": "Ingrédient"
}, - "validations": { },
- "is_required_for_completeness": true
}, - {
- "code": "percentage",
- "data_type": "number",
- "labels": {
- "en_US": "%",
- "fr_FR": "%"
}, - "validations": {
- "max": 100,
- "min": 0,
- "decimals_allowed": true
}, - "is_required_for_completeness": true
}, - {
- "code": "allergen",
- "data_type": "boolean",
- "labels": {
- "en_US": "Allergen",
- "fr_FR": "Allergène"
}, - "validations": { },
- "is_required_for_completeness": false
}
], - "group_labels": {
- "en_US": "Product",
- "fr_FR": "Produit"
}
}
]
}
}This endpoint allows you to create a new attribute.
The body of the request must be a JSON object containing the attribute to create.
The code field is mandatory, it is used to identify the attribute.
If the attribute already exists, an error will be returned.
Note: The code field must be unique across all attributes.
| code required | string Attribute code |
| type required | string Enum: "pim_catalog_identifier" "pim_catalog_metric" "pim_catalog_number" "pim_reference_data_multiselect" "pim_reference_data_simpleselect" "pim_catalog_simpleselect" "pim_catalog_multiselect" "pim_catalog_date" "pim_catalog_textarea" "pim_catalog_text" "pim_catalog_file" "pim_catalog_image" "pim_catalog_price_collection" "pim_catalog_boolean" "akeneo_reference_entity" "akeneo_reference_entity_collection" "pim_catalog_asset_collection" "pim_catalog_product_link" "pim_catalog_table" Attribute type. See type section for more details. |
object Default: {} Attribute labels for each locale | |
| group required | string Attribute group |
| sort_order | integer Default: 0 Order of the attribute in its group |
| localizable | boolean Default: false Whether the attribute is localizable, i.e. can have one value by locale |
| scopable | boolean Default: false Whether the attribute is scopable, i.e. can have one value by channel |
| available_locales | Array of strings To make the attribute locale specfic, specify here for which locales it is specific |
| unique | boolean Whether two values for the attribute cannot be the same |
| useable_as_grid_filter | boolean Whether the attribute can be used as a filter for the product grid in the PIM user interface |
| max_characters | integer or null Number maximum of characters allowed for the value of the attribute when the attribute type is |
| validation_rule | string or null Validation rule type used to validate any attribute value when the attribute type is |
| validation_regexp | string or null Regexp expression used to validate any attribute value when the attribute type is |
| wysiwyg_enabled | boolean or null Whether the WYSIWYG interface is shown when the attribute type is |
| number_min | string or null Minimum integer value allowed when the attribute type is |
| number_max | string or null Maximum integer value allowed when the attribute type is |
| decimals_allowed | boolean or null Whether decimals are allowed when the attribute type is |
| negative_allowed | boolean or null Whether negative values are allowed when the attribute type is |
| metric_family | string or null Metric family when the attribute type is |
| default_metric_unit | string or null Default metric unit when the attribute type is |
| date_min | string or null <date-time> Minimum date allowed when the attribute type is |
| date_max | string or null <date-time> Maximum date allowed when the attribute type is |
| allowed_extensions | Array of strings Extensions allowed when the attribute type is |
| max_file_size | string or null Max file size in MB when the attribute type is |
| reference_data_name | string or null Reference entity code when the attribute type is |
boolean or number or string or Array of strings or null | |
Array of objects Configuration of the Table attribute (columns) | |
| is_main_identifier | boolean Is this attribute main identifier when attribute type is |
| is_mandatory | boolean This attribute must be enriched from the moment a product is created. It will be mandatory across all families. |
| decimal_places_strategy | string or null Defines the decimal places strategy.
Available options are |
| decimal_places | number or null Defines the number of decimal places when decimal places strategy is |
| enable_option_creation_during_import | boolean or null Whether new attribute options can be created automatically during product or product model import (CSV, XLSX),
when the attribute type is |
| max_items_count | number or null Maximum number of items allowed in an asset collection when the attribute type is |
{- "code": "release_date",
- "type": "pim_catalog_date",
- "group": "marketing",
- "group_labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}, - "unique": false,
- "useable_as_grid_filter": true,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": null,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": null,
- "negative_allowed": null,
- "date_min": "2017-06-28T08:00:00",
- "date_max": "2017-08-08T22:00:00",
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 1,
- "localizable": false,
- "scopable": false,
- "default_value": null,
- "labels": {
- "en_US": "Sale date",
- "fr_FR": "Date des soldes"
}, - "is_mandatory": false,
- "decimal_places_strategy": null,
- "decimal_places": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several attributes at once
Body containing the attributes to update or create.
Each line is a JSON object representing an attribute.
Each object contains the following properties:
code: Attribute code (string) (mandatory)
type: Attribute type (string) (mandatory)
labels: Attribute labels for each locale (object) (optional)
group: Attribute group (string) (mandatory)
group_ labels: Group labels for each locale (object) (optional)
sort_order: Order of the attribute in its group (integer) (optional)
localizable: Whether the attribute is localizable, i.e. can have one value by locale (boolean) (optional)
scopable: Whether the attribute is scopable, i.e. can have one value by channel (boolean) (optional)
available_locales: To make the attribute locale specfic, specify here for which locales it is specific (array) (optional)
unique: Whether two values for the attribute cannot be the same (boolean) (optional)
useable_as_grid_filter: Whether the attribute can be used as a filter for the product grid in the PIM user interface (boolean) (optional)
max_characters:Number maximum of characters allowed for the value of the attribute when the attribute type is pim_catalog_text, pim_catalog_textarea or pim_catalog_identifier (integer) (optional)
validation_rule: Validation rule type used to validate any attribute value when the attribute type is pim_catalog_text or pim_catalog_identifier (string) (optional)
validation_regexp: Regexp expression used to validate any attribute value when the attribute type is pim_catalog_text or pim_catalog_identifier (string) (optional)
wysiwyg_enabled: Whether the WYSIWYG interface is shown when the attribute type is pim_catalog_textarea (boolean) (optional)
number_min: Minimum integer value allowed when the attribute type is pim_catalog_metric, pim_catalog_price or pim_catalog_number (integer) (optional)
number_max: Maximum integer value allowed when the attribute type is pim_catalog_metric, pim_catalog_price or pim_catalog_number (integer) (optional)
decimals_allowed: Whether decimals are allowed when the attribute type is pim_catalog_metric, pim_catalog_price or pim_catalog_number (boolean) (optional)
negative_allowed: Whether negative values are allowed when the attribute type is pim_catalog_metric or pim_catalog_number (boolean) (optional)
metric_family: Metric family when the attribute type is pim_catalog_metric (string) (optional)
default_metric_unit: Default metric unit when the attribute type is pim_catalog_metric (string) (optional)
date_min: Minimum date allowed when the attribute type is pim_catalog_date (string) (optional)
date_max: Maximum date allowed when the attribute type is pim_catalog_date (string) (optional)
allowed_extensions: Extensions allowed when the attribute type is pim_catalog_file or pim_catalog_image (array) (optional)
max_file_size: Max file size in MB when the attribute type is pim_catalog_file or pim_catalog_image (string) (optional)
reference_data_name: Reference entity code when the attribute type is akeneo_reference_entity or akeneo_reference_entity_collection OR Asset family code when the attribute type is pim_catalog_asset_collection (string) (optional)
default_value: Default value applied when creating products (mixed) (optional)
table_configuration: Configuration of the Table attribute (columns) (array) (optional)
is_main_identifier: Is this attribute main identifier when attribute type is pim_catalog_identifier (boolean) (optional)
is_mandatory: This attribute must be enriched from the moment a product is created. It will be mandatory across all families (boolean) (optional)
decimal_places_strategy: Defines the decimal places strategy (round, forbid, trim) (string) (optional)
decimal_places: Defines the number of decimal places when decimal places strategy is round or forbid (number) (optional)
enable_option_creation_during_import: Whether new attribute options can be created automatically during product or product model import (CSV, XLSX), when the attribute type is pim_catalog_simpleselect or pim_catalog_multiselect (boolean) (optional)
max_items_count: Maximum number of items allowed in an asset collection when the attribute type is pim_catalog_asset_collection (number) (optional)
"{\"code\":\"description\",\"useable_as_grid_filter\":true}\n{\"code\":\"short_description\",\"group\":\"marketig\"}\n{\"code\":\"release_date\",\"date_min\":\"2017-06-28T08:00:00\"}\n""{\"line\":1,\"code\":\"description\",\"status_code\":201}\n{\"line\":2,\"code\":\"short_description\",\"status_code\":422,\"message\":\"Group \\\"marketig\\\" does not exist.\"}\n{\"line\":3,\"code\":\"release_date\",\"status_code\":204}\n"This endpoint allows you to get the information about a given attribute
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| with_table_select_options | boolean Default: false Example: with_table_select_options=true Return the options of 'select' column types (of a table attribute) in the response.
When set to |
{- "code": "release_date",
- "type": "pim_catalog_date",
- "group": "marketing",
- "group_labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}, - "unique": false,
- "useable_as_grid_filter": true,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": null,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": null,
- "negative_allowed": null,
- "date_min": "2017-06-28T08:00:00",
- "date_max": "2017-08-08T22:00:00",
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 1,
- "localizable": false,
- "scopable": false,
- "default_value": null,
- "labels": {
- "en_US": "Sale date",
- "fr_FR": "Date des soldes"
}, - "is_mandatory": false,
- "decimal_places_strategy": null,
- "decimal_places": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null
}This endpoint allows you to update a given attribute. Know more about Update behavior. Note that if no attribute exists for the given code, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
The attribute to update or create. If the attribute does not exist, it will be created.
| code | string Attribute code |
| type | string Enum: "pim_catalog_identifier" "pim_catalog_metric" "pim_catalog_number" "pim_reference_data_multiselect" "pim_reference_data_simpleselect" "pim_catalog_simpleselect" "pim_catalog_multiselect" "pim_catalog_date" "pim_catalog_textarea" "pim_catalog_text" "pim_catalog_file" "pim_catalog_image" "pim_catalog_price_collection" "pim_catalog_boolean" "akeneo_reference_entity" "akeneo_reference_entity_collection" "pim_catalog_asset_collection" "pim_catalog_product_link" "pim_catalog_table" Attribute type. See type section for more details. |
object Default: {} Attribute labels for each locale | |
| group | string Attribute group |
| sort_order | integer Default: 0 Order of the attribute in its group |
| localizable | boolean Default: false Whether the attribute is localizable, i.e. can have one value by locale |
| scopable | boolean Default: false Whether the attribute is scopable, i.e. can have one value by channel |
| available_locales | Array of strings To make the attribute locale specfic, specify here for which locales it is specific |
| unique | boolean Whether two values for the attribute cannot be the same |
| useable_as_grid_filter | boolean Whether the attribute can be used as a filter for the product grid in the PIM user interface |
| max_characters | integer or null Number maximum of characters allowed for the value of the attribute when the attribute type is |
| validation_rule | string or null Validation rule type used to validate any attribute value when the attribute type is |
| validation_regexp | string or null Regexp expression used to validate any attribute value when the attribute type is |
| wysiwyg_enabled | boolean or null Whether the WYSIWYG interface is shown when the attribute type is |
| number_min | string or null Minimum integer value allowed when the attribute type is |
| number_max | string or null Maximum integer value allowed when the attribute type is |
| decimals_allowed | boolean or null Whether decimals are allowed when the attribute type is |
| negative_allowed | boolean or null Whether negative values are allowed when the attribute type is |
| metric_family | string or null Metric family when the attribute type is |
| default_metric_unit | string or null Default metric unit when the attribute type is |
| date_min | string or null <date-time> Minimum date allowed when the attribute type is |
| date_max | string or null <date-time> Maximum date allowed when the attribute type is |
| allowed_extensions | Array of strings Extensions allowed when the attribute type is |
| max_file_size | string or null Max file size in MB when the attribute type is |
| reference_data_name | string or null Reference entity code when the attribute type is |
boolean or number or string or Array of strings or null | |
Array of objects Configuration of the Table attribute (columns) | |
| is_main_identifier | boolean Is this attribute main identifier when attribute type is |
| is_mandatory | boolean This attribute must be enriched from the moment a product is created. It will be mandatory across all families. |
| decimal_places_strategy | string or null Defines the decimal places strategy.
Available options are |
| decimal_places | number or null Defines the number of decimal places when decimal places strategy is |
| enable_option_creation_during_import | boolean or null Whether new attribute options can be created automatically during product or product model import (CSV, XLSX),
when the attribute type is |
| max_items_count | number or null Maximum number of items allowed in an asset collection when the attribute type is |
{- "code": "release_date",
- "type": "pim_catalog_date",
- "group": "marketing",
- "group_labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}, - "unique": false,
- "useable_as_grid_filter": true,
- "allowed_extensions": [ ],
- "metric_family": null,
- "default_metric_unit": null,
- "reference_data_name": null,
- "available_locales": [ ],
- "max_characters": null,
- "validation_rule": null,
- "validation_regexp": null,
- "wysiwyg_enabled": null,
- "number_min": null,
- "number_max": null,
- "decimals_allowed": null,
- "negative_allowed": null,
- "date_min": "2017-06-28T08:00:00",
- "date_max": "2017-08-08T22:00:00",
- "max_file_size": null,
- "minimum_input_length": null,
- "sort_order": 1,
- "localizable": false,
- "scopable": false,
- "default_value": null,
- "labels": {
- "en_US": "Sale date",
- "fr_FR": "Date des soldes"
}, - "is_mandatory": false,
- "decimal_places_strategy": null,
- "decimal_places": null,
- "enable_option_creation_during_import": false,
- "max_items_count": null
}{- "code": 400,
- "message": "Invalid JSON message received"
}An attribute option is a value that can be associated with an attribute. For example, if you have an attribute called "Color", the options could be "Red", "Blue", "Green", etc. Options are used to provide predefined values for attributes, making it easier to manage and maintain product data.
This endpoint allows you to get a list of attribute options. Attribute options are paginated and sorted by code.
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "previous": {
},
}, - "current_page": 3,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "red",
- "attribute": "a_simple_select",
- "sort_order": 1,
- "labels": {
- "en_US": "Red",
- "fr_FR": "Rouge"
}
}, - {
- "code": "black",
- "attribute": "a_simple_select",
- "sort_order": 2,
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}, - {
- "_links": {
}, - "code": "purple",
- "attribute": "a_simple_select",
- "sort_order": 3,
- "labels": {
- "en_US": "Purple",
- "fr_FR": "Violet"
}
}
]
}
}This endpoint allows you to create a new attribute option
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
Body containing the attribute option to create
| code required | string Code of option |
| attribute | string Code of attribute related to the attribute option |
| sort_order | integer Order of attribute option |
object Default: {} Attribute option labels for each locale |
{- "code": "black",
- "attribute": "a_simple_select",
- "sort_order": 2,
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several attribute options at once
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
Body containing the attribute options to update or create. Each line is a JSON representing an attribute option. Each object contains the following properties:
code: Code of option (string) (mandatory)attribute: Code of attribute related to the attribute option (string) (not required, taken from the URL)sort_order: Order of attribute option (integer) (optional)labels: Attribute option labels for each locale (object) (optional)"{\"code\":\"black\",\"attribute\":\"a_simple_select\",\"labels\":{\"en_US\":\"Black\",\"fr_FR\":\"Noir\"}}\n{\"code\":\"red\",\"label\":{\"en_US\": \"Red\",\"fr_FR\": \"Rouge\"}}\n{\"code\":\"yellow\",\"labels\":{\"en_US\": \"Yellow\",\"fr_FR\": \"Jaune\"}}\n""{\"line\":1,\"code\":\"black\",\"status_code\":201}\n{\"line\":2,\"code\":\"red\",\"status_code\":422,\"message\":\"Property \\\"label\\\" does not exist. Check the API format documentation.\"}\n{\"line\":3,\"code\":\"yellow\",\"status_code\":204}\n"This endpoint allows you to get the information about a given attribute option
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "black",
- "attribute": "a_simple_select",
- "sort_order": 2,
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}This endpoint allows you to update a given attribute option. Know more about Update behavior. Note that if no attribute option exists for the given code, it creates it. Please note that this endpoint applies a rate limit of 3 concurrent API requests per second.
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body containing the attribute option to create or update
| code | string Code of option |
| attribute | string Code of attribute related to the attribute option |
| sort_order | integer Order of attribute option |
object Default: {} Attribute option labels for each locale |
{- "code": "black",
- "attribute": "a_simple_select",
- "sort_order": 2,
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}An attribute group is a way to organize attributes in the PIM. It allows you to group related attributes together, making it easier to manage and maintain product data. For example, you could have an attribute group called "Specifications" that contains attributes like "Weight", "Dimensions", and "Material".
This endpoint allows you to get a list of attribute groups. Attribute groups are paginated and sorted by code.
| search | string Examples:
Filter attribute groups, for more details see the Filters section. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "self": {
}, - "first": {
}, - "previous": {
},
}, - "current_page": 3,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "marketing",
- "sort_order": 4,
- "attributes": [
- "sku",
- "name",
- "description",
- "response_time",
- "release_date",
- "price"
], - "labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}
}, - {
- "code": "technical",
- "sort_order": 5,
- "attributes": [
- "weight",
- "maximum_scan_size",
- "color_scanning",
- "power_requirements",
- "maximum_print_size",
- "sensor_type",
- "total_megapixels",
- "optical_zoom",
- "camera_type"
], - "labels": {
- "en_US": "Technical",
- "fr_FR": "Technique"
}
}
]
}
}This endpoint allows you to create a new attribute group.
Representation of the attribute group to create, in JSON standard format
| code required | string Attribute group code |
| sort_order | integer Default: 0 Attribute group order among other attribute groups |
| attributes | Array of strings Default: [] Attribute codes that compose the attribute group |
object Default: {} Attribute group labels for each locale |
{- "code": "marketing",
- "sort_order": 4,
- "attributes": [
- "sku",
- "name",
- "description",
- "response_time",
- "release_date",
- "price"
], - "labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several attribute groups at once
Body containing the attribute groups to update or create. Each line is a JSON object representing an attribute group. Each object contains the following properties:
code: Attribute group code (string) (mandatory)sort_order: Attribute group order among other attribute groups (integer) (optional)attributes: Attribute codes that compose the attribute group (array of strings) (optional)labels: Attribute group labels for each locale (object) (optional)"{\"code\":\"technical\",\"labels\":{\"en_US\": \"Technical\", \"fr_FR\": \"Technique\"}}\n{\"code\":\"marketing\",\"type\":\"bar\"}\n{\"code\":\"design\",\"sort_order\":7}\n""{\"line\":1,\"code\":\"technical\",\"status_code\":201}\n{\"line\":2,\"code\":\"marketing\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"http:\\/\\/api.akeneo.com\\/api-reference.html#patch_attribute_groups__code_\"}}}\n{\"line\":3,\"code\":\"design\",\"status_code\":204}\n"This endpoint allows you to get the information about a given attribute group
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "marketing",
- "sort_order": 4,
- "attributes": [
- "sku",
- "name",
- "description",
- "response_time",
- "release_date",
- "price"
], - "labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}
}This endpoint allows you to update a given attribute group. Know more about Update behavior. Note that if no attribute group exists for the given code, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Representation of the attribute group to create or update
| code | string Attribute group code |
| sort_order | integer Default: 0 Attribute group order among other attribute groups |
| attributes | Array of strings Default: [] Attribute codes that compose the attribute group |
object Default: {} Attribute group labels for each locale |
{- "code": "marketing",
- "sort_order": 4,
- "attributes": [
- "sku",
- "name",
- "description",
- "response_time",
- "release_date",
- "price"
], - "labels": {
- "en_US": "Marketing",
- "fr_FR": "Marketing"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}An association type is a way to define the relationship between products or product models. It allows you to create links between products, such as "related products", "up-sell products", or "cross-sell products". Association types are used to manage the relationships between products and to provide additional context to the product information.
This endpoint allows you to get a list of association types. Association types are paginated and sorted by code.
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "self": {
}, - "first": {
}, - "previous": {
},
}, - "current_page": 2,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "X_SELL",
- "labels": {
- "en_US": "Cross sell",
- "fr_FR": "Vente croisée"
}, - "is_quantified": false,
- "is_two_way": false
}, - {
- "code": "UPSELL",
- "labels": {
- "en_US": "Upsell",
- "fr_FR": "Vente incitative"
}, - "is_quantified": false,
- "is_two_way": false
}, - {
- "code": "SUBSTITUTION",
- "labels": {
- "en_US": "Substitution",
- "fr_FR": "Remplacement"
}, - "is_quantified": false,
- "is_two_way": false
}
]
}
}This endpoint allows you to create a new association type
Body containing the association type to create
| code required | string Association type code |
object Default: {} Association type labels for each locale | |
| is_quantified | boolean Default: false When true, the association is a quantified association |
| is_two_way | boolean Default: false When true, the association is a bidirectional association |
{- "code": "upsell",
- "labels": {
- "en_US": "Upsell",
- "fr_FR": "Vente incitative"
}, - "is_quantified": false,
- "is_two_way": false
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several association types at once
Body containing the association types to update or create. Each line is a JSON object representing an association type. Each object contains the following properties:
code: Association type code (string) (mandatory)labels: Association type labels for each locale (object) (optional)is_quantified: When true, the association is a quantified association (boolean) (optional)is_two_way: When true, the association is a bidirectional association (boolean) (optional)"{\"code\":\"new_sell\"}\n{\"code\":\"substitution\", \"type\":\"bar\"}\n{\"code\":\"x_cross_sell\", \"is_two_way\": true, \"is_quantified\": false}\n""{\"line\":1,\"code\":\"new_sell\",\"status_code\":201}\n{\"line\":2,\"code\":\"substitution\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"https:\\/\\/api.akeneo.com\\/api-reference.html#patch_association_types__code_\"}}}\n{\"line\":3,\"code\":\"x_cross_sell\",\"status_code\":204}\n"This endpoint allows you to get the information about a given association type
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "upsell",
- "labels": {
- "en_US": "Upsell",
- "fr_FR": "Vente incitative"
}, - "is_quantified": false,
- "is_two_way": false
}This endpoint allows you to update a given association type. Know more about Update behavior. Note that if no association type exists for the given code, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body containing the association type to update or create
| code | string Association type code |
object Default: {} Association type labels for each locale | |
| is_quantified | boolean Default: false When true, the association is a quantified association |
| is_two_way | boolean Default: false When true, the association is a bidirectional association |
{- "code": "upsell",
- "labels": {
- "en_US": "Upsell",
- "fr_FR": "Vente incitative"
}, - "is_quantified": false,
- "is_two_way": false
}{- "code": 400,
- "message": "Invalid JSON message received"
}A category is a way of classifying products. Categories constitute category trees and in Akeneo, you can have multiple category trees with an unlimited number of levels (categories, subcategories, subsubcategories..).
This endpoint allows you to get a list of categories. Categories are paginated and sorted by root/left.
You can filter the categories by using the search query parameter, which supports searching by category code or label.
The response includes the category's code, parent code, labels, values, and channel requirements.
You can also specify the with_position query parameter to include the position of the category in its level.
The with_enriched_attributes query parameter allows you to include enriched attributes.
| search | string Examples:
The |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
| with_position | boolean Default: false Example: with_position=true Return information about the category's position within its category tree.
When set to |
| with_enriched_attributes | boolean Default: false Example: with_enriched_attributes=true Return the attribute values of the category.
When set to |
{- "_links": {
- "previous": {
},
}, - "current_page": 2,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "winter_collection",
- "parent": null,
- "updated": "2021-05-21T11:32:00+02:00",
- "position": 1,
- "labels": {
- "en_US": "Winter collection",
- "fr_FR": "Collection hiver",
- "de_DE": "Winter-Kollektion"
}, - "values": {
- "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
- "data": "<p>Winter collection description</p>\\n",
- "type": "textarea",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26"
}, - "image_1|871b8686-79b5-415c-9c6f-a38f8732dfb7|ecommerce|en_US": {
- "data": {
- "size": 1401359,
- "extension": "jpg",
- "file_path": "2/d/c/7/2dc791671d726e7438219d5dc7fd51a53d6bf2bb_IMG_7860.jpg",
- "mime_type": "image/jpeg",
- "original_filename": "IMG_7860.jpg"
}, - "type": "image",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "image_1|871b8686-79b5-415c-9c6f-a38f8732dfb7"
}
}, - "channel_requirements": [
- "ecommerce",
- "mobile"
]
}, - {
- "code": "woman",
- "parent": "winter_collection",
- "updated": "2021-04-21T10:41:02+02:00",
- "position": 1,
- "labels": {
- "en_US": "Woman",
- "fr_FR": "Femme",
- "de_DE": "Damen"
}, - "values": { },
- "channel_requirements": [
- "ecommerce",
- "mobile"
]
}, - {
- "code": "man",
- "parent": "winter_collection",
- "updated": "2021-03-02T12:59:59+02:00",
- "position": 2,
- "labels": {
- "en_US": "Man",
- "fr_FR": "Homme",
- "de_DE": "Herren"
}, - "values": { },
- "channel_requirements": [ ]
}, - {
- "code": "kids",
- "parent": "winter_collection",
- "updated": "2021-01-03T12:40:00+02:00",
- "position": 3,
- "labels": {
- "en_US": "kids",
- "fr_FR": "Enfant",
- "de_DE": "Kinder"
}, - "values": { },
- "channel_requirements": [ ]
}, - {
- "code": "summer_collection",
- "parent": null,
- "updated": "2021-04-04T09:42:00+02:00",
- "position": 1,
- "labels": {
- "en_US": "Summer collection",
- "fr_FR": "Collection été",
- "de_DE": "Sommer-Kollektion"
}, - "values": { },
- "channel_requirements": [
- "print"
]
}
]
}
}This endpoint allows you to create a new category. You can specify the category's code, parent category, labels, values, validations, and channel requirements. The request body should be in JSON format and include the necessary fields for the category.
The category to be created
| code required | string Category code |
| parent | string or null Category code of the parent's category |
object Default: {} | |
| channel_requirements | Array of strings Default: [] List of Channel codes on which the category is required for products completeness. Only category trees can be required, not child categories. |
Array of objects or object Default: [] Attribute values | |
object Default: {} Category validations |
{- "code": "winter_collection",
- "parent": null,
- "labels": {
- "en_US": "Winter collection",
- "fr_FR": "Collection hiver"
}, - "values": [
- {
- "data": "<p>Winter collection description</p>",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "a_text_area_attribute"
}, - {
- "data": true,
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "a_boolean_attribute"
}
], - "validations": {
- "max_categories_per_product": 42,
- "only_leaves": false,
- "is_mandatory": true
}, - "channel_requirements": [
- "ecommerce",
- "mobile"
]
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several categories at once.
Body containing the categories to update or create. Each line is a JSON object representing a category. Each object contains the following properties:
code: Category code (string) (mandatory)parent: Category code of the parent's category (string) (optional, null for root categories)updated: Date of the last update (string) (read-only)position: Position of the category in its level, start from 1 (only available when query parameter "with_position" is set to "true") (integer) (read-only)labels: Category label for the specified locale (object) (optional)values: Attribute values (array) (optional)validations: the validations for products in this category (object) (optional)channel_requirements: List of Channel codes on which the category is required for products completeness. Only category trees can be required, not child categories (array of strings) (optional)"{\"code\":\"spring_collection\",\"parent\":null}\n{\"code\":\"woman\",\"parent\":\"spring_collectionn\"}\n{\"code\":\"man\",\"parent\":\"spring_collection\"}\n""{\"line\":1,\"code\":\"spring_collection\",\"status_code\":201}\n{\"line\":2,\"code\":\"woman\",\"status_code\":422,\"message\":\"Category \\\"spring_collectionn\\\" does not exist.\"}\n{\"line\":3,\"code\":\"man\",\"status_code\":204}\n"This endpoint allows you to retrieve a category by its code. The response includes the category's details such as its labels, values, and channel requirements.
You can also specify the with_position query parameter to include the position of the category in its level.
The with_enriched_attributes query parameter allows you to include enriched attributes.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| with_position | boolean Default: false Example: with_position=true Return information about the category's position within its category tree.
When set to |
| with_enriched_attributes | boolean Default: false Example: with_enriched_attributes=true Return the attribute values of the category.
When set to |
{- "code": "winter_collection",
- "parent": null,
- "updated": "2021-05-22T12:48:00+02:00",
- "position": 1,
- "labels": {
- "en_US": "Winter collection",
- "fr_FR": "Collection hiver"
}, - "values": {
- "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
- "data": "<p>Winter collection description</p>",
- "type": "textarea",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26"
}, - "image_1|871b8686-79b5-415c-9c6f-a38f8732dfb7|ecommerce|en_US": {
- "data": {
- "size": 1401359,
- "extension": "jpg",
- "file_path": "2/d/c/7/2dc791671d726e7438219d5dc7fd51a53d6bf2bb_IMG_7860.jpg",
- "mime_type": "image/jpeg",
- "original_filename": "IMG_7860.jpg"
}, - "type": "image",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "image_1|871b8686-79b5-415c-9c6f-a38f8732dfb7"
}
}, - "channel_requirements": [
- "ecommerce",
- "mobile"
]
}This endpoint allows you to update a given category. Note that if no category exists for the given code, it creates it. You can specify the category's code, parent category, labels, values, validations, and channel requirements. The request body should be in JSON format and include the necessary fields for the category.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
The category to update or create. If the category does not exist, it will be created.
| code | string Category code |
| parent | string or null Category code of the parent's category |
object Default: {} | |
| channel_requirements | Array of strings Default: [] List of Channel codes on which the category is required for products completeness. Only category trees can be required, not child categories. |
Array of objects or object Default: [] Attribute values | |
object Default: {} Category validations |
{- "code": "winter_collection",
- "parent": null,
- "labels": {
- "en_US": "Winter collection",
- "fr_FR": "Collection hiver"
}, - "values": [
- {
- "data": "<p>Winter collection description</p>",
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "a_text_area_attribute"
}, - {
- "data": true,
- "channel": "ecommerce",
- "locale": "en_US",
- "attribute_code": "a_boolean_attribute"
}
], - "validations": {
- "max_categories_per_product": 42,
- "only_leaves": false,
- "is_mandatory": true
}, - "channel_requirements": [
- "ecommerce",
- "mobile"
]
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to create a new media file and associate it to anattribute value of a given enriched category. It is used to upload media files that are linked to categories, such as images or documents. The request body should include the category information and the binary file data.
Body of the request to create a new category media file
| category required | string The category to which the media file will be associated. It is a JSON string that follows this format: '{"code":"category code", "attribute_code":"attribute code", "channel":"channel code or null", "locale":"locale code or null"}'. |
| file required | string <binary> The media file to be uploaded. It should be provided as a binary file. Ensure that the file format is supported by the system. |
{ "category": "{\"code\":\"ecomm\", \"attribute_code\":\"image_1\", \"channel\":\"ecommerce\", \"locale\":\"en_US\"}", "file": "" }
{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to download a given media file that is used as an attribute value of a enriched category. The media file is identified by its path, which is provided in the request.
| file_path required | string Example: my_resource_code This path parameter is used to specify the unique identifier of the media file you want to download. It is essential for identifying the specific media file in the API requests. Ensure that the file path is correctly formatted and corresponds to an existing media file in the system. |
{- "code": 401,
- "message": "Authentication is required"
}A channel is a way to define how products are presented in different contexts, such as online stores, mobile applications, or print catalogs. Channels can have different configurations, such as currencies, locales, and measurement systems. They allow you to tailor the product information to specific markets or audiences.
This endpoint allows you to get a list of channels. Channels are paginated and sorted by code.
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "previous": {
},
}, - "current_page": 1,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "ecommerce",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "en_US",
- "fr_FR",
- "de_DE"
], - "category_tree": "master",
- "conversion_units": {
- "a_metric": "KILOWATT",
- "a_metric_negative": "CELSIUS",
- "a_metric_to_not_convert": null
}, - "labels": {
- "en_US": "Ecommerce",
- "fr_FR": "E-commerce",
- "de_DE": "E-commerce"
}
}, - {
- "code": "mobile",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "en_US",
- "fr_FR",
- "de_DE"
], - "category_tree": "master",
- "conversion_units": {
- "a_metric": "KILOWATT",
- "a_metric_negative": "CELSIUS",
- "a_metric_to_not_convert": null
}, - "labels": {
- "en_US": "Mobile",
- "fr_FR": "Mobile",
- "de_DE": "Mobile"
}
}, - {
- "code": "print",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "en_US",
- "fr_FR",
- "de_DE"
], - "category_tree": "master",
- "conversion_units": { },
- "labels": {
- "en_US": "Print",
- "fr_FR": "Print",
- "de_DE": "Print"
}
}
]
}
}This endpoint allows you to create a new channel.
Body representing the channel
| code required | string Channel code |
| locales required | Array of strings Codes of activated locales for the channel |
| currencies required | Array of strings Codes of activated currencies for the channel |
| category_tree required | string Code of the category tree linked to the channel |
object Units to which the given metric attributes should be converted when exporting products | |
object Default: {} Channel labels for each locale |
{- "code": "ecommerce",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "de_DE",
- "en_US",
- "fr_FR"
], - "category_tree": "master",
- "conversion_units": {
- "weight": "KILOGRAM"
}, - "labels": {
- "en_US": "Ecommerce",
- "de_DE": "Ecommerce",
- "fr_FR": "Ecommerce"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to update and/or create several channels at once.
Body containing the channels to update or create. Each line is a JSON object representing a channel. Each object contains the following properties:
code: Channel code (string) (mandatory)locales: Codes of activated locales for the channel (array of strings) (mandatory)currencies: Codes of activated currencies for the channel (array of strings) (mandatory)category_tree: Code of the category tree linked to the channel (string) (mandatory)conversion_units: Units to which the given metric attributes should be converted when exporting products (object) (optional)labels: Channel labels for each locale (object) (optional)"{\"code\":\"ecommerce_fr\", \"category_tree\": \"master\", \"currencies\":[\"EUR\"], \"locales\": [\"fr_FR\"], \"labels\":{\"fr_FR\": \"Ecommerce Fr\"}}\n{\"code\":\"ecommerce_ch\", \"type\":\"bar\"}\n{\"code\":\"tablet\", \"labels\":{\"en_US\": \"Tablet\", \"fr_FR\": \"Tablette\"}}\n""{\"line\":1,\"code\":\"ecommerce_fr\",\"status_code\":201}\n{\"line\":2,\"code\":\"ecommerce_ch\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"https:\\/\\/api.akeneo.com\\/api-reference.html#patch_channels__code_\"}}}\n{\"line\":3,\"code\":\"tablet\",\"status_code\":204}\n"This endpoint allows you to get the information about a given channel
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "ecommerce",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "de_DE",
- "en_US",
- "fr_FR"
], - "category_tree": "master",
- "conversion_units": {
- "weight": "KILOGRAM"
}, - "labels": {
- "en_US": "Ecommerce",
- "de_DE": "Ecommerce",
- "fr_FR": "Ecommerce"
}
}This endpoint allows you to update a given channel. Know more about Update behavior. Note that if no channel exists for the given code, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body of the request to create or update a channel
| code | string Channel code |
| locales | Array of strings Codes of activated locales for the channel |
| currencies | Array of strings Codes of activated currencies for the channel |
| category_tree | string Code of the category tree linked to the channel |
object Units to which the given metric attributes should be converted when exporting products | |
object Default: {} Channel labels for each locale |
{- "code": "ecommerce",
- "currencies": [
- "USD",
- "EUR"
], - "locales": [
- "de_DE",
- "en_US",
- "fr_FR"
], - "category_tree": "master",
- "conversion_units": {
- "weight": "KILOGRAM"
}, - "labels": {
- "en_US": "Ecommerce",
- "de_DE": "Ecommerce",
- "fr_FR": "Ecommerce"
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}A locale is a combination of a language (English, German, French...) and a country (United States, United Kingdom, France...). Examples: English UK (en_GB), English US (en_US), English AU (en_AU). You can have one or more locales activated in your PIM.
This endpoint allows you to retrieve a list of locales available in the
system. Locales are paginated and can be filtered using the search query
parameter. The response includes the locale code and whether it is enabled.
You can also specify pagination parameters such as page, limit, and with_count.
| search | string Examples:
The |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
}, - "current_page": 2,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "en_US",
- "enabled": true
}, - {
- "code": "fr_FR",
- "enabled": true
}, - {
- "code": "de_DE",
- "enabled": true
}, - {
- "code": "af_ZA",
- "enabled": false
}
]
}
}This endpoint allows you to get the information about a given locale. You can retrieve details such as the locale code and whether it is enabled. The response will be in JSON format.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "en_US",
- "enabled": true
}A currency is a unit of exchange that is used to price products. Currencies are used in the PIM to define the prices of products in different markets.
This endpoint allows you to retrieve a list of currencies available in the system. Currencies are paginated and can be filtered using the search query parameter. The response includes the currency code, whether it is enabled, and its label. You can also specify pagination parameters such as page, limit, and with_count.
| search | string Examples:
The |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
- "previous": {
},
}, - "current_page": 1,
- "items_count": 10,
- "_embedded": {
- "items": [
- {
- "code": "ADP",
- "enabled": true,
- "label": "ADP (Andorran Peseta)"
}, - {
- "code": "AED",
- "enabled": true,
- "label": "AED (United Arab Emirates Dirham)"
}, - {
- "code": "AFA",
- "enabled": false,
- "label": "AFA (Afghan Afghani (1927–2002))"
}
]
}
}This endpoint allows you to get the information about a given currency. You can retrieve details such as the currency code, whether it is enabled, and its label. The response will be in JSON format.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "EUR",
- "enabled": true,
- "label": "EUR (Euro)"
}A measurement family is a set of comparable units used to measure a specific physical quantity, such as Area, Weight, or Power. For example, the "Weight" measurement family can group units like "Kilogram" and "Pound" together. Each family has a standard unit for conversions (e.g., "Kilogram"), and all other units within that family include their conversion formulas. These families are used for metric attributes, allowing product data to be entered in one unit and automatically converted for different channels or locales.
This endpoint allows you to get a list of measurement families
[- {
- "code": "AREA",
- "labels": {
- "en_US": "Area",
- "fr_FR": "Surface"
}, - "standard_unit_code": "SQUARE_METER",
- "units": {
- "SQUARE_MILLIMETER": {
- "code": "SQUARE_MILLIMETER",
- "labels": {
- "en_US": "Square millimeter",
- "fr_FR": "Millimètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "0.000001"
}
], - "symbol": "mm²"
}, - "SQUARE_CENTIMETER": {
- "code": "SQUARE_CENTIMETER",
- "labels": {
- "en_US": "Square centimeter",
- "fr_FR": "Centimètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "0.0001"
}
], - "symbol": "cm²"
}, - "SQUARE_METER": {
- "code": "SQUARE_METER",
- "labels": {
- "en_US": "Square meter",
- "fr_FR": "Mètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "1"
}
], - "symbol": "m²"
}
}
}
]This endpoint allows you to update and/or create several measurement families at once
A list of measurement families to create or update
object Default: {} Measurement family labels for each locale | |
required | object Measurement units for this family with their conversion operations. More details here |
[- {
- "code": "AREA",
- "labels": {
- "en_US": "Area",
- "fr_FR": "Surface"
}, - "standard_unit_code": "SQUARE_METER",
- "units": {
- "SQUARE_MILLIMETER": {
- "code": "SQUARE_MILLIMETER",
- "labels": {
- "en_US": "Square millimeter",
- "fr_FR": "Millimètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "0.000001"
}
], - "symbol": "mm²"
}, - "SQUARE_CENTIMETER": {
- "code": "SQUARE_CENTIMETER",
- "labels": {
- "en_US": "Square centimeter",
- "fr_FR": "Centimètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "0.0001"
}
], - "symbol": "cm²"
}, - "SQUARE_METER": {
- "code": "SQUARE_METER",
- "labels": {
- "en_US": "Square meter",
- "fr_FR": "Mètre carré"
}, - "convert_from_standard": [
- {
- "operator": "mul",
- "value": "1"
}
], - "symbol": "m²"
}
}
}
][- {
- "code": "Angle",
- "status_code": 201
}, - {
- "code": "Force",
- "status_code": 204
}, - {
- "code": "Area",
- "status_code": 422,
- "message": "The measurement family has data that does not comply with the business rules.",
- "errors": [
- {
- "property": "standard_unit_code",
- "message": "The standard unit code of the \"Angle\" measurement family cannot be changed"
}
]
}
]A reference entity is a custom entity that can be used to store additional information about products or product models. It allows you to create your own entities with their own attributes and values, which can be linked to products or product models. Reference entities are useful for managing complex data structures or for integrating with external systems.
This endpoint allows you to get a list of reference entities. Reference entities are paginated.
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "_links": {
}, - "code": "brands",
- "labels": {
- "en_US": "Brands",
- "fr_FR": "Marques"
}, - "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
}, - {
- "code": "designers",
- "labels": {
- "en_US": "Designers",
- "fr_FR": "Designers"
}, - "image": null
}, - {
- "code": "colors",
- "labels": {
- "en_US": "Colors",
- "fr_FR": "Couleurs"
}, - "image": null
}
]
}
}This endpoint allows you to get the information about a given reference entity
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "_links": {
}, - "code": "brands",
- "labels": {
- "en_US": "Brands",
- "fr_FR": "Marques"
}, - "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
}This endpoint allows you to update a given reference entity. Note that if the reference entity does not already exist, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Payload to create or update a reference entity
| code required | string Reference entity code |
object Default: {} Reference entity labels for each locale | |
| image | string or null Default: null Code of the reference entity image |
{- "code": "brands",
- "labels": {
- "en_US": "Brands",
- "fr_FR": "Marques"
}, - "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
}{- "code": 401,
- "message": "Authentication is required"
}A reference entity attribute is a piece of information that can be associated with a reference entity. Reference entity attributes can be used to store various types of data, such as text, numbers, dates, or media files. They are used to define the characteristics of reference entities and to provide additional information about them.
This endpoint allows you to get the list of attributes of a given reference entity
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
[- {
- "code": "description",
- "labels": {
- "en_US": "Description",
- "fr_FR": "Description"
}, - "type": "text",
- "value_per_locale": true,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "max_characters": null,
- "is_textarea": true,
- "is_rich_text_editor": true,
- "validation_rule": "none",
- "validation_regexp": null
}, - {
- "code": "country",
- "labels": {
- "en_US": "Country",
- "fr_FR": "Pays"
}, - "type": "text",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": false
}, - {
- "code": "creation_year",
- "labels": {
- "en_US": "Creation year",
- "fr_FR": "Année de création"
}, - "type": "number",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": false,
- "decimals_allowed": false,
- "min_value": "1800",
- "max_value": "2100"
}, - {
- "code": "collection_overview",
- "labels": {
- "en_US": "Collection overview",
- "fr_FR": "Aperçu de la collection"
}, - "type": "image",
- "value_per_locale": true,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "allowed_extensions": [
- "png"
], - "max_file_size": "1000"
}
]This endpoint allows you to get the information about a given attribute for a given reference entity
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "description",
- "labels": {
- "en_US": "Description",
- "fr_FR": "Description"
}, - "type": "text",
- "value_per_locale": true,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "is_textarea": true,
- "is_rich_text_editor": true,
- "validation_rule": "none"
}This endpoint allows you to update a given attribute for a given reference entity. Note that if the attribute does not already exist for the given reference entity, it creates it.
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Payload to update or create a reference entity attribute
| code | string Attribute code |
object Default: {} Attribute labels per locale | |
| type | string Enum: "text" "image" "number" "single_option" "multiple_options" "reference_entity_single_link" "reference_entity_multiple_links" "asset_collection" Attribute type. See type section for more details. |
| value_per_locale | boolean Default: false Whether the attribute is localizable, i.e. can have one value by locale |
| value_per_channel | boolean Default: false Whether the attribute is scopable, i.e. can have one value by channel |
| is_required_for_completeness | boolean Default: false Whether the attribute should be part of the record's completeness calculation |
| max_characters | integer or null Maximum number of characters allowed for the value of the attribute when the attribute type is |
| is_textarea | boolean Default: false Whether the UI should display a text area instead of a simple field when the attribute type is |
| is_rich_text_editor | boolean Default: false Whether the UI should display a rich text editor instead of a simple text area when the attribute type is |
| validation_rule | string Default: "none" Enum: "email" "url" "regular_expression" "none" Validation rule type used to validate the attribute value when the attribute type is |
| validation_regexp | string or null Regexp expression used to validate the attribute value when the attribute type is |
| allowed_extensions | Array of strings Default: [] Extensions allowed when the attribute type is |
| max_file_size | string or null Max file size in MB when the attribute type is |
| decimals_allowed | boolean Default: false Whether decimals are allowed when the attribute type is |
| min_value | string or null Minimum value allowed when the attribute type is |
| max_value | string or null Maximum value allowed when the attribute type is |
{- "code": "description",
- "labels": {
- "en_US": "Description",
- "fr_FR": "Description"
}, - "type": "text",
- "value_per_locale": true,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "is_textarea": true,
- "is_rich_text_editor": true,
- "validation_rule": "none"
}{- "code": 400,
- "message": "Invalid JSON message received"
}A reference entity attribute option is a value that can be associated with a reference entity attribute. For example, if you have a reference entity attribute called "Category", the options could be "Electronics", "Clothing", "Books", etc. Options are used to provide predefined values for reference entity attributes, making it easier to manage and maintain reference entity data.
This endpoint allows you to get a list of attribute options for a given reference entity
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
[- {
- "code": "woodland_retreat",
- "labels": {
- "en_US": "Woodland Retreat",
- "fr_FR": "Retraite dans les Bois"
}
}, - {
- "code": "new_nordic",
- "labels": {
- "en_US": "New Nordic",
- "fr_FR": "Renouveau Scandinave"
}
}, - {
- "code": "global_nomad",
- "labels": {
- "en_US": "Global Nomad",
- "fr_FR": "Nomade du Monde"
}
}
]This endpoint allows you to get the information about a given attribute option
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "global_nomad",
- "labels": {
- "en_US": "Global Nomad",
- "fr_FR": "Nomade du Monde"
}
}This endpoint allows you to update a given option for a given attribute and a given reference entity. Learn more about Update behavior. Note that if the option does not already exist for the given attribute of the given reference entity, it creates it.
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
JSON payload to create or update a reference entity attribute option
| code required | string Attribute's option code |
object Default: {} Attribute labels for each locale |
{- "code": "global_nomad",
- "labels": {
- "en_US": "Global Nomad",
- "fr_FR": "Nomade du Monde"
}
}{- "code": 401,
- "message": "Authentication is required"
}A reference entity record is a specific instance of a reference entity. It contains the values for the attributes defined in the reference entity. Reference entity records can be linked to products or product models, allowing you to associate additional information with them.
This endpoint allows you to get a list of records of a given reference entity. Records are paginated and can be filtered.
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| search | string Examples:
Filter records of the reference entity, for more details see the Filters |
| channel | string Example: channel=ecommerce Filter record values to return scopable record attributes for the given channel as well as the non localizable/non scopable record attributes, for more details see the Filter record values by channel section. |
| locales | string Example: locales=en_US,fr_FR Filter record values to return localizable record attributes for the given locales as well as the non localizable/non scopable record attributes, for more details see the Filter record values by locale section. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "_links": {
}, - "code": "kartell",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "The contemporary Italian furniture brand"
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "L'éditeur de meubles comtemporain italien"
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "italy"
}
]
}, - "created": "2021-01-01T01:23:34+00:00",
- "updated": "2021-02-03T23:45:59+00:00"
}, - {
- "_links": {
}, - "code": "usm",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "USM"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "9/c/g/1/0cb0c0e115dedba76f8d1ad8343ec897abc43bv4_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Modular furniture from Switzerland for your home and office"
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "L'éditeur de meubles modulaires suisse pour votre intérieur et pour les entreprises"
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "switzerland"
}
]
}, - "created": "2021-01-01T01:23:34+00:00",
- "updated": "2021-02-03T23:45:59+00:00"
}, - {
- "_links": {
- "self": {
}
}, - "code": "ligneroset",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Ligne Roset"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "4/b/0/1/0cb0c0e115dedde78b8d1ad8343ec980cd5daa54_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Very well known French brand of modern and luxury furniture"
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "La marque renommée des meubles de luxe à la française"
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "france"
}
]
}, - "created": "2021-01-01T01:23:34+00:00",
- "updated": "2021-02-03T23:45:59+00:00"
}
]
}
}This endpoint allows you to update and/or create several records of a reference entity. Learn more about Update behavior. If a record with the specified code does not already exist, it will be created.
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
Payload containing one or more reference entity records to create or update
| code required | string Code of the record |
required | object Record attribute values |
[- {
- "code": "kartell",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures."
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain."
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "italy"
}
], - "collection_overview": [
- {
- "locale": null,
- "channel": null,
- "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png"
}
], - "creation_year": [
- {
- "locale": null,
- "channel": null,
- "data": "1949"
}
]
}
}, - {
- "code": "ligneroset",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Ligne Roset"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Very well known French brand of modern and luxury furniture"
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "La marque renommée des meubles de luxe à la française"
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "france"
}
], - "creation_year": [
- {
- "locale": null,
- "channel": null,
- "data": "1860"
}
]
}
}, - {
- "code": "usm",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "USM"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Modular furniture from Switzerland for your home and office"
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "L'éditeur de meubles modulaires suisse pour votre intérieur et pour les entreprises"
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "switzerland"
}
], - "creation_year": [
- {
- "locale": null,
- "channel": null,
- "data": "1885"
}
]
}
}
][- {
- "code": "a_new_brand",
- "status_code": 201
}, - {
- "code": "existing_brand_successfully_updated",
- "status_code": 204
}, - {
- "code": "brand_with_a_wrong_payload_resulting_in_an_error",
- "status_code": 422,
- "message": "The record has an invalid format.",
- "errors": [
- {
- "property": "values.label[0]",
- "message": "Additional object properties are not allowed: typo"
}
]
}
]Retrieve a specific record of a reference entity
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "kartell",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furniture."
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belles pièces au design contemporain."
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "italy"
}
], - "collection_overview": [
- {
- "locale": null,
- "channel": null,
- "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png"
}
], - "creation_year": [
- {
- "locale": null,
- "channel": null,
- "data": "1949"
}
]
}, - "created": "2021-01-01T01:23:34+00:00",
- "updated": "2021-02-03T23:45:59+00:00"
}This endpoint allows you to update a given record of a given reference entity. Learn more about Update behavior. Note that if the record does not already exist for the given reference entity, it creates it.
| reference_entity_code required | string Example: brands This path parameter is used to specify the unique identifier of the reference entity you want to retrieve or manipulate. It is essential for identifying the specific reference entity in the API requests. Ensure that the reference entity code is correctly formatted and corresponds to an existing reference entity in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Reference entity record to create or update
| code required | string Code of the record |
object Record attribute values |
{- "code": "kartell",
- "values": {
- "label": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell"
}
], - "image": [
- {
- "locale": null,
- "channel": null,
- "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg"
}
], - "description": [
- {
- "locale": "en_US",
- "channel": null,
- "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furniture."
}, - {
- "locale": "fr_FR",
- "channel": null,
- "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belles pièces au design contemporain."
}
], - "country": [
- {
- "locale": null,
- "channel": null,
- "data": "italy"
}
], - "collection_overview": [
- {
- "locale": null,
- "channel": null,
- "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png"
}
], - "creation_year": [
- {
- "locale": null,
- "channel": null,
- "data": "1949"
}
]
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}A reference entity media file is a file that can be attached to a reference entity record. It can be an image, a video, a PDF, or any other type of file. Reference entity media files are used to enrich the reference entity information and provide additional context to the reference entities.
This endpoint allows you to create a new media file and associate it to the image of a reference entity, or to the main image or to an attribute value of a record
Media file to upload
| file required | string <binary> The media file to upload |
{ "file": "" }
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to download a given media file that is associated with a reference entity or a record
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
An asset family is a set of attributes that are shared by assets belonging to this family. In other words, an asset family can be considered as a template for assets.
This endpoint allows you to get a list of asset families. Asset families are paginated.
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "code": "packshots",
- "labels": {
- "en_US": "Packshots",
- "fr_FR": "Plans produit"
}, - "naming_convention": {
- "source": {
- "property": "code",
- "channel": null,
- "locale": null
}, - "pattern": "/(?P<product_ref>.*)\\.jpg/",
- "abort_asset_creation_on_error": true
}, - "product_link_rules": [
- {
- "product_selections": [
- {
- "field": "sku",
- "operator": "=",
- "value": "{{product_ref}}"
}
], - "assign_assets_to": [
- {
- "attribute": "{{my_product_attribute}}",
- "mode": "add"
}
]
}
], - "transformations": [
- {
- "label": "My transformation",
- "filename_suffix": "_thumbnailBW",
- "source": {
- "attribute": "main_image",
- "channel": null,
- "locale": null
}, - "target": {
- "attribute": "thumbnail",
- "channel": null,
- "locale": null
}, - "operations": [
- {
- "type": "thumbnail",
- "parameters": {
- "width": 150,
- "height": 150
}
}, - {
- "type": "colorspace",
- "parameters": {
- "colorspace": "grey"
}
}
]
}
], - "sharing_enabled": false
}, - {
- "code": "videos",
- "labels": {
- "en_US": "Videos",
- "fr_FR": "Vidéos"
}, - "product_link_rules": [
- {
- "product_selections": [
- {
- "field": "categories",
- "operator": "IN",
- "value": "{{category}}"
}
], - "assign_assets_to": [
- {
- "attribute": "presentation_video",
- "locale": "{{locale}}",
- "mode": "replace"
}
]
}
], - "sharing_enabled": true
}, - {
- "code": "user_guides",
- "labels": {
- "en_US": "User guides",
- "fr_FR": "Guides utilisateur"
}, - "product_link_rules": [
- {
- "product_selections": [
- {
- "field": "sku",
- "operator": "=",
- "value": "{{product_ref}}"
}
], - "assign_assets_to": [
- {
- "attribute": "user_instructions",
- "locale": "{{locale}}",
- "mode": "replace"
}
]
}
], - "sharing_enabled": false
}
]
}
}This endpoint allows you to get the information about a given asset family
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "model_pictures",
- "labels": {
- "en_US": "Model pictures",
- "fr_FR": "Photographies en pied"
}, - "attribute_as_main_media": "main_image",
- "naming_convention": {
- "source": {
- "property": "code"
}, - "pattern": "/(?P<product_ref>.*)-.*/",
- "abort_asset_creation_on_error": true
}, - "product_link_rules": [
- {
- "product_selections": [
- {
- "field": "sku",
- "operator": "EQUALS",
- "value": "{{product_ref}}"
}
], - "assign_assets_to": [
- {
- "attribute": "model_pictures",
- "mode": "replace"
}
]
}
], - "transformations": [
- {
- "label": "Thumbnail plus black and white transformation",
- "filename_suffix": "_thumbnailBW",
- "source": {
- "attribute": "main_image",
- "channel": "ecommerce",
- "locale": "en_US"
}, - "target": {
- "attribute": "thumbnail",
- "channel": "ecommerce",
- "locale": "en_US"
}, - "operations": [
- {
- "type": "thumbnail",
- "parameters": {
- "width": 150,
- "height": 150
}
}, - {
- "type": "colorspace",
- "parameters": {
- "colorspace": "grey"
}
}
]
}
], - "sharing_enabled": true
}This endpoint allows you to update a given asset family. Note that if the asset family does not already exist, it creates it.
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
The asset family to be patched
| code required | string Asset family code |
object Default: {} Asset family labels for each locale.
The | |
| attribute_as_main_media | string or null Default: "First media file or media link attribute that was created" Attribute code that is used as the main media of the asset family |
object Default: {} The naming convention run over the asset code or the main media filename upon each asset creation, in order to automatically set several values in asset attributes. To learn more and see the format of this property, take a look at here. | |
Array of objects Default: [] The rules that will be run after the asset creation, in order to automatically link the assets of this family to a set of products. To understand the format of this property, see here. | |
Array of objects Default: [] The transformations to perform on source files in order to generate new files into your asset attributes. To understand the format of this property, see here. | |
| sharing_enabled | boolean Share links are available/unavailable for media file attributes of all the assets in this family |
{- "code": "model_pictures",
- "labels": {
- "en_US": "Model pictures",
- "fr_FR": "Photographies en pied"
}, - "attribute_as_main_media": "main_image",
- "naming_convention": {
- "source": {
- "property": "code"
}, - "pattern": "/(?P<product_ref>.*)-.*/",
- "abort_asset_creation_on_error": true
}, - "product_link_rules": [
- {
- "product_selections": [
- {
- "field": "sku",
- "operator": "EQUALS",
- "value": "{{product_ref}}"
}
], - "assign_assets_to": [
- {
- "attribute": "model_pictures",
- "mode": "replace"
}
]
}
], - "transformations": [
- {
- "label": "Thumbnail plus black and white transformation",
- "filename_suffix": "_thumbnailBW",
- "source": {
- "attribute": "main_image",
- "channel": "ecommerce",
- "locale": "en_US"
}, - "target": {
- "attribute": "thumbnail",
- "channel": "ecommerce",
- "locale": "en_US"
}, - "operations": [
- {
- "type": "thumbnail",
- "parameters": {
- "width": 150,
- "height": 150
}
}, - {
- "type": "colorspace",
- "parameters": {
- "colorspace": "grey"
}
}
]
}
], - "sharing_enabled": true
}{- "code": 401,
- "message": "Authentication is required"
}An asset attribute is a piece of information that can be associated with an asset. Asset attributes can be used to store various types of data, such as text, numbers, dates, or media files. They are used to define the characteristics of assets and to provide additional information about them.
This endpoint allows you to get the list of attributes of a given asset family
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
[- {
- "code": "model_is_wearing_size",
- "labels": {
- "en_US": "Model is wearing size",
- "fr_FR": "Le mannequin porte la taille"
}, - "type": "single_option",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": true
}, - {
- "code": "media_link",
- "labels": {
- "en_US": "Media link",
- "fr_FR": "Lien vers le média"
}, - "type": "media_link",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "suffix": "?height=630&width=485",
- "media_type": "image"
}, - {
- "code": "warning_mention",
- "labels": {
- "en_US": "Warning mention",
- "fr_FR": "Phrase d'avertissement"
}, - "type": "text",
- "value_per_locale": true,
- "value_per_channel": false,
- "is_required_for_completeness": false,
- "max_characters": 50,
- "is_textarea": false,
- "is_rich_text_editor": false,
- "validation_rule": "none"
}
]This endpoint allows you to get the information about a given attribute for a given asset family
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "model_is_wearing_size",
- "labels": {
- "en_US": "Model is wearing size",
- "fr_FR": "Le mannequin porte la taille"
}, - "type": "single_option",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "is_read_only": false
}This endpoint allows you to update a given attribute for a given asset family. Note that if the attribute does not already exist for the given asset family, it creates it.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body of the request containing the attribute to create or update
| code required | string Attribute code |
object Default: {} Attribute labels for each locale | |
| type required | string Enum: "text" "media_link" "number" "media_file" "single_option" "multiple_options" "boolean" "date" "record" "asset_family_single_link" "asset_family_multiple_links" "auto_tagging" Attribute type. See type section for more details. |
| value_per_locale | boolean Default: false Whether the attribute is localizable, i.e. can have one value by locale |
| value_per_channel | boolean Default: false Whether the attribute is scopable, i.e. can have one value by channel |
| is_required_for_completeness | boolean Default: false Whether the attribute should be part of the record's completeness calculation |
| is_read_only | boolean Default: false Whether the attribute should be in read only mode only in the UI, but you can still update it with the API |
| max_characters | integer or null Maximum number of characters allowed for the value of the attribute when the attribute type is |
| is_textarea | boolean Default: false Whether the UI should display a text area instead of a simple field when the attribute type is |
| is_rich_text_editor | boolean Whether the UI should display a rich text editor instead of a simple text area when the attribute type is |
| validation_rule | string or null Default: "none" Enum: "email" "url" "regular_expression" "none" null Validation rule type used to validate the attribute value when the attribute type is |
| validation_regexp | string or null Default: null Regexp expression used to validate the attribute value when the attribute type is |
| allowed_extensions | Array of strings Default: [] Extensions allowed when the attribute type is |
| max_file_size | string or null Default: null Max file size in MB when the attribute type is |
| decimals_allowed | boolean Default: false Whether decimals are allowed when the attribute type is
|
| min_value | string or null Default: null Minimum value allowed when the attribute type is |
| max_value | string or null Default: null Maximum value allowed when the attribute type is |
| media_type | string Enum: "image" "pdf" "youtube" "vimeo" "other" For the |
| prefix | string or null Default: null Prefix of the |
| suffix | string or null Default: null Suffix of the |
| reference_entity | string or null Default: null Reference entity code for the |
| asset_family_code | string or null Default: null Asset family code for the |
{- "code": "model_is_wearing_size",
- "labels": {
- "en_US": "Model is wearing size",
- "fr_FR": "Le mannequin porte la taille"
}, - "type": "single_option",
- "value_per_locale": false,
- "value_per_channel": false,
- "is_required_for_completeness": true,
- "is_read_only": false
}{- "code": 401,
- "message": "Authentication is required"
}An asset attribute option is a value that can be associated with an asset attribute. For example, if you have an asset attribute called "Type", the options could be "Image", "Video", "Document", etc. Options are used to provide predefined values for asset attributes, making it easier to manage and maintain asset data.
This endpoint allows you to get a list of attribute options for a given asset family
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
[- {
- "code": "unique_size",
- "labels": {
- "en_US": "Unique size",
- "fr_FR": "Taille unique"
}
}, - {
- "code": "size_27",
- "labels": {
- "en_US": "Size 27",
- "fr_FR": "Taille 36"
}
}, - {
- "code": "small",
- "labels": {
- "en_US": "S",
- "fr_FR": "S"
}
}
]This endpoint allows you to get the information about a given asset attribute option
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": "small",
- "labels": {
- "en_US": "S",
- "fr_FR": "S"
}
}This endpoint allows you to update a given option for a given attribute and a given asset family. Learn more about the Update behavior. Note that if the option does not already exist for the given attribute of the given asset family, it creates it.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| attribute_code required | string Example: color This path parameter is used to specify the unique identifier of the attribute you want to retrieve or manipulate. It is essential for identifying the specific attribute in the API requests. Ensure that the attribute code is correctly formatted and corresponds to an existing attribute in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body of the request containing the asset family attribute option to create or update
| code required | string Attribute's option code |
object Default: {} Attribute option labels for each locale |
{- "code": "small",
- "labels": {
- "en_US": "S",
- "fr_FR": "S"
}
}{- "code": 401,
- "message": "Authentication is required"
}An asset media file is a file that can be attached to an asset family or an asset. It can be an image, a video, a PDF, or any other type of file. Asset media files are used to enrich the asset information and provide additional context to the assets.
This endpoint allows you to create a new media file and associate it to a media file attribute value of an asset
The media file to be uploaded. The file must be a valid media type (e.g., image, video, audio) and should not exceed the maximum allowed size. The file will be associated with an asset's media file attribute value.
| file required | string <binary> The binary of the media file |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to download a given media file that is associated with an asset
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
An asset is a flexible object that makes it possible to enrich products with images, videos, documents… An asset must be part of an asset family. That way, it will have its own attributes and lifecycle. Assets can be linked to products and product models, in order to enrich them.
This endpoint allows you to get a list of assets of a given asset family. Assets are paginated. This endpoint is case sensitive on the asset family code.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| search | string Examples:
Filter assets, for more details see the Asset filters section. |
| channel | string Example: channel=ecommerce Filter asset values to return scopable asset attributes for the given channel as well as the non localizable/non scopable asset attributes, for more details see the Filter asset values by channel section. |
| locales | string Example: locales=en_US,fr_FR Filter asset values to return localizable asset attributes for the given locales as well as the non localizable/non scopable asset attributes, for more details see the Filter asset values by locale section. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| with_asset_auto_tags | boolean Default: false Example: with_asset_auto_tags=true Return labels of asset tags generated by auto-tagging in the response.
When set to |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "_links": {
}, - "code": "allie_jean_model_picture",
- "asset_family_code": "model_pictures",
- "values": {
- "media_file": [
- {
- "locale": null,
- "channel": null,
- "data": "0/0/9/d/009d38fe8c97e16f6b48bbf8f6cf8a9564401cc9_allie_jean_model_picture.png",
- "_links": {
- "share_link": {
}
}
}
], - "media_link": [
- {
- "locale": null,
- "channel": null,
- "data": "allie_jean_model_picture.png",
- "linked_data": {
- "suffix": null
}
}
], - "model_is_wearing_size": [
- {
- "locale": null,
- "channel": null,
- "data": "size_27"
}
], - "warning_mention": [
- {
- "data": "Photo not retouched",
- "locale": "en_US",
- "channel": null
}, - {
- "data": "Photo non retouchée",
- "locale": "fr_FR",
- "channel": null
}
], - "auto_tags": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "jeans",
- "trousers"
], - "linked_data": {
- "jeans": {
- "labels": {
- "en_US": "Jeans",
- "fr_FR": "Jean"
}
}, - "trousers": {
- "labels": {
- "en_US": "Trousers",
- "fr_FR": "Pantalon"
}
}
}
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}, - {
- "_links": {
}, - "code": "amy_socks_model_picture",
- "asset_family_code": "model_pictures",
- "values": {
- "media_file": [
- {
- "locale": null,
- "channel": null,
- "data": "0/0/9/d/009d38fe8c97e16f6b48bbf8f6cf8a9564401cc9_amy_socks_model_picture.png",
- "_links": {
- "share_link": {
}
}
}
], - "media_link": [
- {
- "locale": null,
- "channel": null,
- "data": "amy_socks_model_picture.png",
- "linked_data": {
- "suffix": null
}
}
], - "model_is_wearing_size": [
- {
- "locale": null,
- "channel": null,
- "data": "unique_size"
}
], - "warning_mention": [
- {
- "data": "Photo not retouched",
- "locale": "en_US",
- "channel": null
}, - {
- "data": "Photo non retouchée",
- "locale": "fr_FR",
- "channel": null
}
], - "auto_tags": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "socks",
- "fashion"
], - "linked_data": {
- "socks": {
- "labels": {
- "en_US": "Socks",
- "fr_FR": "Chaussettes"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}, - {
- "_links": {
}, - "code": "alice_blouse_model_picture",
- "asset_family_code": "model_pictures",
- "values": {
- "media_file": [
- {
- "locale": null,
- "channel": null,
- "data": "0/0/9/d/009d38fe8c97e16f6b48bbf8f6cf8a9564401cc9_alice_blouse_model_picture.png",
- "_links": {
- "share_link": {
}
}
}
], - "media_link": [
- {
- "locale": null,
- "channel": null,
- "data": "alice_blouse_model_picture.png",
- "linked_data": {
- "suffix": null
}
}
], - "model_is_wearing_size": [
- {
- "locale": null,
- "channel": null,
- "data": "small"
}
], - "warning_mention": [
- {
- "data": "Photo retouched",
- "locale": "en_US",
- "channel": null
}, - {
- "data": "Photo non retouchée",
- "locale": "fr_FR",
- "channel": null
}
], - "auto_tags": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "blouse",
- "fashion"
], - "linked_data": {
- "blouse": {
- "labels": {
- "en_US": "Blouse",
- "fr_FR": "Blouse"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}
]
}
}This endpoint allows you to update and/or create several assets of one given asset family at once. Learn more about the Update behavior. Note that if the asset does not already exist for the given asset family, it creates it. This endpoint is case sensitive on the asset family code.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
Body of the request containing the assets to create or update
| code required | string Code of the asset |
| asset_family_code | string Code of the asset family |
object Asset attributes values. See the Focus on the asset values section for more details. |
[- {
- "code": "sku_54628_picture1",
- "values": {
- "media_preview": [
- {
- "data": "sku_54628_picture1.jpg",
- "channel": null,
- "locale": null,
- "attribute_type": "media_file"
}
], - "model_wears_size": [
- {
- "data": "s",
- "channel": null,
- "locale": null,
- "attribute_type": "single_option"
}
], - "photographer": [
- {
- "data": "ben_levy",
- "channel": null,
- "locale": null,
- "attribute_type": "text"
}
], - "main_colors": [
- {
- "data": [
- "red",
- "purple"
], - "channel": null,
- "locale": null,
- "attribute_type": "multiple_options"
}
], - "end_of_use_date": [
- {
- "data": "02/03/2021",
- "channel": null,
- "locale": null,
- "attribute_type": "date"
}
], - "auto_tags": [
- {
- "data": [
- "outdoor",
- "fashion"
], - "channel": null,
- "locale": null,
- "linked_data": {
- "outdoor": {
- "labels": {
- "en_US": "Outdoor",
- "fr_FR": "Plein air"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}, - "attribute_type": "auto_tagging"
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}, - {
- "code": "sku_54628_picture2",
- "values": {
- "media_preview": [
- {
- "data": "sku_54628_picture2.jpg",
- "channel": null,
- "locale": null,
- "attribute_type": "media_file"
}
], - "model_wears_size": [
- {
- "data": "s",
- "channel": null,
- "locale": null,
- "attribute_type": "single_option"
}
], - "photographer": [
- {
- "data": "ben_levy",
- "channel": null,
- "locale": null,
- "attribute_type": "text"
}
], - "main_colors": [
- {
- "data": [
- "blue",
- "white"
], - "channel": null,
- "locale": null,
- "attribute_type": "multiple_options"
}
], - "end_of_use_date": [
- {
- "data": "02/03/2021",
- "channel": null,
- "locale": null,
- "attribute_type": "date"
}
], - "auto_tags": [
- {
- "data": [
- "indoor",
- "fashion"
], - "channel": null,
- "locale": null,
- "linked_data": {
- "indoor": {
- "labels": {
- "en_US": "Indoor",
- "fr_FR": "Intérieur"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}, - "attribute_type": "auto_tagging"
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}, - {
- "code": "sku_54628_picture3",
- "values": {
- "media_preview": [
- {
- "data": "sku_54628_picture3.jpg",
- "channel": null,
- "locale": null,
- "attribute_type": "media_file"
}
], - "model_wears_size": [
- {
- "data": "s",
- "channel": null,
- "locale": null,
- "attribute_type": "single_option"
}
], - "photographer": [
- {
- "data": "ben_levy",
- "channel": null,
- "locale": null,
- "attribute_type": "text"
}
], - "main_colors": [
- {
- "data": [
- "purple"
], - "channel": null,
- "locale": null,
- "attribute_type": "multiple_options"
}
], - "end_of_use_date": [
- {
- "data": "02/03/2021",
- "channel": null,
- "locale": null,
- "attribute_type": "date"
}
], - "auto_tags": [
- {
- "data": [
- "outdoor",
- "fashion"
], - "channel": null,
- "locale": null,
- "linked_data": {
- "outdoor": {
- "labels": {
- "en_US": "Outdoor",
- "fr_FR": "Plein air"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}, - "attribute_type": "auto_tagging"
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}
][- {
- "code": "sku_54628_picture1",
- "status_code": 204
}, - {
- "code": "sku_54628_picture2",
- "status_code": 422,
- "message": "Property 'group' does not exist."
}, - {
- "code": "sku_54628_picture3",
- "status_code": 201
}
]This endpoint allows you to get the information about a given asset for a given asset family. This endpoint is case sensitive on the asset family code.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
| with_asset_auto_tags | boolean Default: false Example: with_asset_auto_tags=true Return labels of asset tags generated by auto-tagging in the response.
When set to |
{- "code": "sku_54628_picture1",
- "values": {
- "media_preview": [
- {
- "locale": null,
- "channel": null,
- "data": "sku_54628_picture1.jpg",
- "attribute_type": "media_file"
}
], - "model_wears_size": [
- {
- "locale": null,
- "channel": null,
- "data": "s",
- "attribute_type": "single_option"
}
], - "photographer": [
- {
- "locale": null,
- "channel": null,
- "data": "ben_levy",
- "attribute_type": "text"
}
], - "main_colors": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "red",
- "purple"
], - "attribute_type": "multiple_options"
}
], - "end_of_use_date": [
- {
- "locale": null,
- "channel": null,
- "data": "02/03/2021",
- "attribute_type": "date"
}
], - "auto_tags": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "outdoor",
- "fashion"
], - "linked_data": {
- "outdoor": {
- "labels": {
- "en_US": "Outdoor",
- "fr_FR": "Plein air"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}, - "attribute_type": "auto_tagging"
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}This endpoint allows you to update a given asset of a given asset family. Learn more about the Update behavior. Note that if the asset does not already exist for the given asset family, it creates it. This endpoint is case sensitive on the asset family code.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
Body of the request containing the asset to create or update
| code required | string Code of the asset |
| asset_family_code | string Code of the asset family |
object Asset attributes values. See the Focus on the asset values section for more details. |
{- "code": "sku_54628_picture1",
- "values": {
- "media_preview": [
- {
- "locale": null,
- "channel": null,
- "data": "sku_54628_picture1.jpg",
- "attribute_type": "media_file"
}
], - "model_wears_size": [
- {
- "locale": null,
- "channel": null,
- "data": "s",
- "attribute_type": "single_option"
}
], - "photographer": [
- {
- "locale": null,
- "channel": null,
- "data": "ben_levy",
- "attribute_type": "text"
}
], - "main_colors": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "red",
- "purple"
], - "attribute_type": "multiple_options"
}
], - "end_of_use_date": [
- {
- "locale": null,
- "channel": null,
- "data": "02/03/2021",
- "attribute_type": "date"
}
], - "auto_tags": [
- {
- "locale": null,
- "channel": null,
- "data": [
- "outdoor",
- "fashion"
], - "linked_data": {
- "outdoor": {
- "labels": {
- "en_US": "Outdoor",
- "fr_FR": "Plein air"
}
}, - "fashion": {
- "labels": {
- "en_US": "Fashion",
- "fr_FR": "Mode"
}
}
}, - "attribute_type": "auto_tagging"
}
]
}, - "created": "2021-05-31T09:23:34+00:00",
- "updated": "2021-05-31T09:23:34+00:00"
}{- "code": 400,
- "message": "Invalid JSON message received"
}This endpoint allows you to delete a given asset. This endpoint is case sensitive on the asset family code.
| asset_family_code required | string Example: packshot This path parameter is used to specify the unique identifier of the asset family you want to retrieve or manipulate. It is essential for identifying the specific asset family in the API requests. Ensure that the asset family code is correctly formatted and corresponds to an existing asset family in the system. |
| code required | string Example: my_entity_code This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}A catalog is a collection of products that can be managed in the PIM. It allows you to create a subset of products that can be used in specific contexts, such as online stores, mobile applications, or print catalogs. Catalogs can have their own configurations, such as channels, locales, and measurement systems.
This endpoint allows you to get the list of catalogs you owned
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
{- "_links": {
}, - "current_page": 3,
- "_embedded": {
- "items": [
- {
- "_links": {
}, - "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
- "name": "Store EUROPE",
- "enabled": false,
- "managed_currencies": [
- "EUR",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_UK",
- "de_DE",
- "it_IT",
- "es_ES"
]
}, - {
- "_links": {
}, - "id": "092c5f22-ecd8-485f-97e9-3b78098e1386",
- "name": "Store US",
- "enabled": true,
- "managed_currencies": [
- "USD"
], - "managed_locales": [
- "en_US",
- "es_ES"
]
}
]
}
}This endpoint allows you to create a new catalog
The catalog to create
| name required | string Catalog name |
| managed_currencies | Array of strings List of currency codes |
| managed_locales | Array of strings List of locale codes |
{- "name": "My app catalog",
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}{- "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
- "name": "My app catalog",
- "enabled": false,
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}This endpoint allows you to get the information about a catalog
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
{- "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
- "name": "My app catalog",
- "enabled": false,
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}This endpoint allows you to update a catalog
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
The catalog to update
| name | string Catalog name |
| managed_currencies | Array of strings List of currency codes |
| managed_locales | Array of strings List of locale codes |
{- "name": "My app catalog",
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}{- "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
- "name": "My app catalog",
- "enabled": false,
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}This endpoint allows you to delete a catalog.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to duplicate an existing catalog.
Note that the duplicated catalog will be deactivated (set to false).
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
The catalog to duplicate
| name | string Catalog name (optional for duplication) |
| managed_currencies | Array of strings List of currency codes |
| managed_locales | Array of strings List of locale codes |
| skip_required_checks | boolean Default: false Option to skip required checks |
| replace_mapping_locales_with | string When provided, replaces all locale codes in the catalog's product mapping with this locale code |
| property name* additional property | any |
{ }{- "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
- "name": "My app catalog",
- "enabled": false,
- "managed_currencies": [
- "EUR",
- "USD",
- "GBP"
], - "managed_locales": [
- "fr_FR",
- "en_US"
]
}A catalog contains a selection of products from the PIM, intended to be synchronized with a third-party application via the API. The Catalog products endpoint allows you to retrieve the list of products for a given catalog, with options to filter, paginate, and select the returned fields. Each returned product includes its attributes, values, status information, and associated references, all in the context of the catalog. This endpoint is mainly used by Apps to synchronize product data between Akeneo PIM and external platforms, while respecting access rights and catalog configuration.
This endpoint allows you to get the list of uuids of products contained in a catalog. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| updated_before | string <date> Example: updated_before=2025-05-17T10:00:00Z Filter products that have been updated BEFORE the provided date. It is useful for retrieving products that haven't been modified since a specific date, which is essential for historical data analysis and reporting. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| updated_after | string <date> Example: updated_after=2025-06-17T10:00:00Z Filter products that have been updated AFTER the provided date. It is useful for retrieving only recently modified products, which is essential for synchronization and incremental data processing. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| with_count | boolean Default: false Example: with_count=true Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. |
{- "_links": {
}, - "items_count": 10,
- "_embedded": {
- "items": [
- "844c736b-a19b-48a6-a354-6056044729f0",
- "b2a683ef-4a91-4ed3-b3fa-76dab065a8d5",
- "eddfbd2a-abc7-488d-b9e3-41289c824f80"
]
}
}This endpoint allows you to get the list of products related to a catalog. Products are paginated and they can be filtered. In the Enterprise Edition, permissions based on your app settings are applied to the set of products you request. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| updated_before | string <date> Example: updated_before=2025-05-17T10:00:00Z Filter products that have been updated BEFORE the provided date. It is useful for retrieving products that haven't been modified since a specific date, which is essential for historical data analysis and reporting. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| updated_after | string <date> Example: updated_after=2025-06-17T10:00:00Z Filter products that have been updated AFTER the provided date. It is useful for retrieving only recently modified products, which is essential for synchronization and incremental data processing. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "uuid": "00073089-1310-4340-bcf0-9e33e4019b79",
- "enabled": true,
- "family": "mens_clothing",
- "categories": [
- "Cloths"
], - "groups": [ ],
- "values": {
- "Default_Price": [
- {
- "data": [
- {
- "amount": "10.00",
- "currency": "USD"
}
], - "locale": null,
- "scope": null
}
], - "sku": [
- {
- "data": "product_416",
- "locale": null,
- "scope": null
}
], - "Name": [
- {
- "data": "Product 416",
- "locale": null,
- "scope": null
}
], - "Weight": [
- {
- "data": {
- "amount": 10,
- "unit": "KILOGRAM"
}, - "locale": null,
- "scope": null
}
]
}, - "created": "2022-03-14T15:25:45+00:00",
- "updated": "2022-06-24T12:54:58+00:00",
- "associations": {
- "PACK": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "UPSELL": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "X_SELL": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "SUBSTITUTION": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { }
}, - {
- "uuid": "00248acf-f1f7-45cb-b409-c8c4b9a17a86",
- "enabled": true,
- "family": "mens_clothing",
- "categories": [
- "Cloths"
], - "groups": [ ],
- "values": {
- "Default_Price": [
- {
- "data": [
- {
- "amount": "10.00",
- "currency": "USD"
}
], - "locale": null,
- "scope": null
}
], - "sku": [
- {
- "data": "product_470",
- "locale": null,
- "scope": null
}
], - "Name": [
- {
- "data": "Product 470",
- "locale": null,
- "scope": null
}
], - "Weight": [
- {
- "data": {
- "amount": 10,
- "unit": "KILOGRAM"
}, - "locale": null,
- "scope": null
}
]
}, - "created": "2022-03-14T15:25:45+00:00",
- "updated": "2022-06-24T12:55:01+00:00",
- "associations": {
- "PACK": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "UPSELL": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "X_SELL": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}, - "SUBSTITUTION": {
- "products": [ ],
- "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": { }
}
]
}
}This endpoint allows you to get a specific product related to a catalog. In the Enterprise Edition, permissions based on your app settings are applied on the product you request. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "enabled": true,
- "family": "tshirt",
- "categories": [
- "summer_collection"
], - "groups": [ ],
- "values": {
- "sku": [
- {
- "data": "top"
}
], - "name": [
- {
- "data": "Top",
- "locale": "en_US"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR"
}
], - "description": [
- {
- "data": "Summer top",
- "locale": "en_US",
- "scope": "ecommerce"
}, - {
- "data": "Top",
- "locale": "en_US",
- "scope": "tablet"
}, - {
- "data": "Débardeur pour l'été",
- "locale": "fr_FR",
- "scope": "ecommerce"
}, - {
- "data": "Débardeur",
- "locale": "fr_FR",
- "scope": "tablet"
}
], - "price": [
- {
- "data": [
- {
- "amount": "15.5",
- "currency": "EUR"
}, - {
- "amount": "15",
- "currency": "USD"
}
]
}
], - "color": [
- {
- "data": "black",
- "linked_data": {
- "attribute": "color",
- "code": "black",
- "labels": {
- "en_US": "Black",
- "fr_FR": "Noir"
}
}
}
], - "size": [
- {
- "data": "m",
- "linked_data": {
- "attribute": "size",
- "code": "m",
- "labels": {
- "en_US": "M",
- "fr_FR": "M"
}
}
}
], - "collection": [
- {
- "data": [
- "winter_2016"
], - "linked_data": {
- "winter_2016": {
- "attribute": "collection",
- "code": "winter_2016",
- "labels": {
- "en_US": "Winter 2016",
- "fr_FR": "Hiver 2016"
}
}
}
}
]
}, - "created": "2016-06-23T18:24:44+02:00",
- "updated": "2016-06-25T17:56:12+02:00",
- "associations": {
- "PACK": {
- "products": [
- "d055527c-0698-4967-8f16-8a5f23f4e5cf"
], - "product_models": [ ],
- "groups": [ ]
}
}, - "quantified_associations": {
- "PRODUCT_SET": {
- "products": [
- {
- "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
- "quantity": 2
}, - {
- "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc",
- "quantity": 1
}
], - "product_models": [
- {
- "identifier": "model-biker-jacket-leather",
- "quantity": 2
}
]
}
}, - "root_parent": "clothes",
- "quality_scores": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": "A"
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": "B"
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": "D"
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": "E"
}
], - "completenesses": [
- {
- "scope": "ecommerce",
- "locale": "en_US",
- "data": 10
}, - {
- "scope": "ecommerce",
- "locale": "fr_FR",
- "data": 20
}, - {
- "scope": "tablet",
- "locale": "en_US",
- "data": 30
}, - {
- "scope": "tablet",
- "locale": "fr_FR",
- "data": 40
}
], - "workflow_execution_statuses": [
- {
- "uuid": "8c0fe59f-4d29-4faa-b4c3-d327e7f3cc52",
- "status": "in_progress",
- "started_at": "2024-02-22T17:31:00Z",
- "completed_at": null,
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - "tasks": [
- {
- "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "step": {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "review_step",
- "labels": {
- "en_US": "Marketing review",
- "fr_FR": "Revue marketing"
}
}
}
]
}
]
}This endpoint is available when the mapping is enabled on a specified catalog. When the mapping is in a basic mode, this endpoint allows you to get the list of all flattened products related to the catalog. When it's in models/variants mode, this endpoint allows you to get the list of simple products with all specified targets in the two levels of the mapping schema. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| updated_before | string <date> Example: updated_before=2025-05-17T10:00:00Z Filter products that have been updated BEFORE the provided date. It is useful for retrieving products that haven't been modified since a specific date, which is essential for historical data analysis and reporting. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| updated_after | string <date> Example: updated_after=2025-06-17T10:00:00Z Filter products that have been updated AFTER the provided date. It is useful for retrieving only recently modified products, which is essential for synchronization and incremental data processing. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "uuid": "04f47a54-8cc9-4c51-90e9-eb9aace0865f",
- "title": "Canon Video Visualiser RE-455X",
- "code": "sku-1234"
}, - {
- "uuid": "06dc8c5b-9e2f-4423-b9dd-31a3aaa0a048",
- "title": "Trust Cuby Pro",
- "code": "sku-1235"
}, - {
- "uuid": "0c3635f9-fedc-4bbd-96ab-856f69746b56",
- "title": "Trust Urban Revolt",
- "code": "sku-1236"
}, - {
- "uuid": "0e957ed4-fa44-48de-b6c7-7149d890fb3a",
- "title": "Microsoft LifeCam Studio",
- "code": "sku-1237"
}
]
}
}This endpoint allows you to get the list of models related to a catalog when the mapping is enabled with a models/variants schema. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| updated_before | string <date> Example: updated_before=2025-05-17T10:00:00Z Filter products that have been updated BEFORE the provided date. It is useful for retrieving products that haven't been modified since a specific date, which is essential for historical data analysis and reporting. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| updated_after | string <date> Example: updated_after=2025-06-17T10:00:00Z Filter products that have been updated AFTER the provided date. It is useful for retrieving only recently modified products, which is essential for synchronization and incremental data processing. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "code": "tshirt_akeneo",
- "title": "Beautiful t-shirt with Akeneo logo",
- "variation_axes": [
- {
- "code": "color",
- "label": [
- {
- "locale": "en_US",
- "value": "Color"
}, - {
- "locale": "fr_FR",
- "value": "Couleur"
}
]
}, - {
- "code": "size",
- "label": [
- {
- "locale": "en_US",
- "value": "Size"
}, - {
- "locale": "fr_FR",
- "value": "Taille"
}
]
}
]
}, - {
- "code": "tshirt_pim",
- "title": "Beautiful t-shirt with PIM logo",
- "variation_axes": [
- {
- "code": "color",
- "label": [
- {
- "locale": "en_US",
- "value": "Color"
}, - {
- "locale": "fr_FR",
- "value": "Couleur"
}
]
}, - {
- "code": "size",
- "label": [
- {
- "locale": "en_US",
- "value": "Size"
}, - {
- "locale": "fr_FR",
- "value": "Taille"
}
]
}
]
}
]
}
}This endpoint allows you to get the list of variants of a model related to a catalog when the mapping is enabled. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the App Catalog section.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
| model_code required | string Model code |
| search_after | string Default: "cursor to the first page" Example: search_after=qaXbcde Cursor when using the |
| limit | integer [ 1 .. 100 ] Default: 10 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
| updated_before | string <date> Example: updated_before=2025-05-17T10:00:00Z Filter products that have been updated BEFORE the provided date. It is useful for retrieving products that haven't been modified since a specific date, which is essential for historical data analysis and reporting. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
| updated_after | string <date> Example: updated_after=2025-06-17T10:00:00Z Filter products that have been updated AFTER the provided date. It is useful for retrieving only recently modified products, which is essential for synchronization and incremental data processing. This filter uses the PIM products updated date and is only available on Catalogs endpoints. |
{- "_links": {
}, - "_embedded": {
- "items": [
- {
- "is_published": true,
- "sku": "AK10BLXL",
- "uuid": "6b025a71-537f-48d4-aa26-a6617d6199e9",
- "variant_axes_values": [
- {
- "code": "color",
- "label": [
- {
- "locale": "en_US",
- "value": "Blue"
}, - {
- "locale": "fr_FR",
- "value": "Bleu"
}
], - "value": "blue"
}, - {
- "code": "size",
- "label": [
- {
- "locale": "en_US",
- "value": "XL"
}, - {
- "locale": "fr_FR",
- "value": "XL"
}
], - "value": "xl"
}
]
}, - {
- "is_published": true,
- "sku": "AK10YEXL",
- "uuid": "6b025a71-537f-48d4-aa26-a6617d6199e9",
- "variant_axes_values": [
- {
- "code": "color",
- "label": [
- {
- "locale": "en_US",
- "value": "Yellow"
}, - {
- "locale": "fr_FR",
- "value": "Jaune"
}
], - "value": "yellow"
}, - {
- "code": "size",
- "label": [
- {
- "locale": "en_US",
- "value": "XL"
}, - {
- "locale": "fr_FR",
- "value": "XL"
}
], - "value": "xl"
}
]
}
]
}
}The mapping schema for products defines the expected structure of product data when synchronizing via the API. It describes the fields, their types, constraints, and transformation rules applied during the export or import of products in a catalog connected to an App. This schema ensures data consistency between Akeneo PIM and third-party applications by clarifying how PIM attributes correspond to those expected by the App. For each field, the schema specifies the data type (text, number, boolean, etc.), whether the field is required or optional, and any allowed values or transformations to apply.
This endpoint allows you to retrieve the product mapping schema related to a catalog.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
{- "type": "object",
- "properties": {
- "code": {
- "title": "Model ID",
- "type": "string"
}, - "brand": {
- "title": "Brand name",
- "type": "string"
}, - "description": {
- "title": "Product description",
- "type": "string"
}, - "fabrics": {
- "title": "Fabrics",
- "type": "array",
- "items": {
- "type": "string"
}
}, - "localized_names": {
- "title": "Name with multiple locales",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_number": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "number"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_link": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string",
- "format": "uri"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_datetime": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string",
- "format": "date-time"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_boolean": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "boolean"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "variation_axes": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
}, - "label": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}
}
}
}
}
}, - "variants": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "variation_axes_values": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
}, - "value": {
- "oneOf": [
- {
- "type": [
- "string",
- "boolean"
]
}, - {
- "type": "object",
- "properties": {
- "amount": {
- "type": "number"
}, - "unit": {
- "type": "string"
}
}
}
]
}, - "label": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}
}
}
}
}
}, - "uuid": {
- "title": "uuid",
- "type": "string"
}, - "sku": {
- "title": "SKU",
- "type": "string"
}, - "position": {
- "title": "Position",
- "type": "number"
}, - "price": {
- "title": "Price",
- "type": "string"
}, - "response_time": {
- "title": "Response time",
- "type": "string"
}, - "localized_product_photos_media_file": {
- "title": "Photos with value per locale(links)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uri"
}
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_prices": {
- "title": "Price in multiple currencies with value per locale",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "number"
}, - "currency": {
- "type": "string"
}
}, - "required": [
- "amount",
- "currency"
]
}
}
}, - "required": [
- "locale",
- "value"
]
}
}
}, - "required": [
- "uuid"
]
}
}
]
}
}
}This endpoint allows you to create or update the product mapping schema related to a catalog. See documentation to define your JSON schema.
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
Body containing the product mapping schema to create or update
| $id | string id of your schema |
| $schema required | string $schema indicates which product mapping schema version your app uses |
| $comment | string allows you to add a comment |
| title | string allows you to add a title to your mapping schema |
| description | string allows you to add a description of your mapping schema |
| type | string Value: "object" should always be "object" |
| properties required | object list and describe the targets your app expects |
{- "type": "object",
- "properties": {
- "code": {
- "title": "Model ID",
- "type": "string"
}, - "brand": {
- "title": "Brand name",
- "type": "string"
}, - "description": {
- "title": "Product description",
- "type": "string"
}, - "fabrics": {
- "title": "Fabrics",
- "type": "array",
- "items": {
- "type": "string"
}
}, - "localized_names": {
- "title": "Name with multiple locales",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_number": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "number"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_link": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string",
- "format": "uri"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_datetime": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string",
- "format": "date-time"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_boolean": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "boolean"
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "variation_axes": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
}, - "label": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}
}
}
}
}
}, - "variants": {
- "oneOf": [
- {
- "type": "string",
- "format": "uri"
}, - {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "variation_axes_values": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
}, - "value": {
- "oneOf": [
- {
- "type": [
- "string",
- "boolean"
]
}, - {
- "type": "object",
- "properties": {
- "amount": {
- "type": "number"
}, - "unit": {
- "type": "string"
}
}
}
]
}, - "label": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "string"
}
}
}
}
}
}
}, - "uuid": {
- "title": "uuid",
- "type": "string"
}, - "sku": {
- "title": "SKU",
- "type": "string"
}, - "position": {
- "title": "Position",
- "type": "number"
}, - "price": {
- "title": "Price",
- "type": "string"
}, - "response_time": {
- "title": "Response time",
- "type": "string"
}, - "localized_product_photos_media_file": {
- "title": "Photos with value per locale(links)",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "array",
- "items": {
- "type": "string",
- "format": "uri"
}
}
}, - "required": [
- "locale",
- "value"
]
}
}, - "localized_prices": {
- "title": "Price in multiple currencies with value per locale",
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "locale": {
- "type": "string"
}, - "value": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "number"
}, - "currency": {
- "type": "string"
}
}, - "required": [
- "amount",
- "currency"
]
}
}
}, - "required": [
- "locale",
- "value"
]
}
}
}, - "required": [
- "uuid"
]
}
}
]
}
}
}{- "code": 401,
- "message": "Authentication is required"
}This endpoint allows you to delete the product mapping schema related to a catalog
| id required | string <uuid> Example: 12351d98-200e-4bbc-aa19-7fdda1bd14f2 This path parameter is used to specify the unique identifier of the catalog you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the catalog ID is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 401,
- "message": "Authentication is required"
}This API reference provides comprehensive documentation for the Akeneo PIM REST API. It describes all available endpoints, request and response formats, authentication methods, and error codes. The Akeneo PIM REST API enables you to interact programmatically with your PIM instance, allowing you to manage products, product models, attributes, categories, assets, reference entities, and more. You can use the API to integrate Akeneo PIM with other systems, automate data flows, and build custom applications. All API endpoints are organized by resource type and support standard HTTP methods (GET, POST, PUT, PATCH, DELETE). Authentication is required for all endpoints and is based on OAuth 2.0 or HTTP Basic authentication. For more details, please refer to the official Akeneo API documentation.
This endpoint allows you to get the list of all the available endpoints. No need to be authenticated to use this endpoint.
{- "authentication": {
- "fos_oauth_server_token": {
- "route": "/api/oauth/v1/token",
- "methods": [
- "POST"
]
}
}, - "routes": {
- "pim_api_attribute_list": {
- "route": "/api/rest/v1/attributes",
- "methods": [
- "GET"
]
}, - "pim_api_attribute_create": {
- "route": "/api/rest/v1/attributes",
- "methods": [
- "POST"
]
}, - "pim_api_attribute_partial_update": {
- "route": "/api/rest/v1/attributes/{code}",
- "methods": [
- "PATCH"
]
}, - "pim_api_attribute_get": {
- "route": "/api/rest/v1/attributes/{code}",
- "methods": [
- "GET"
]
}, - "pim_api_attribute_partial_update_list": {
- "route": "/api/rest/v1/attributes",
- "methods": [
- "PATCH"
]
}, - "pim_api_category_list": {
- "route": "/api/rest/v1/categories",
- "methods": [
- "GET"
]
}, - "pim_api_product_partial_update": {
- "route": "/api/rest/v1/products/{code}",
- "methods": [
- "PATCH"
]
}, - "pim_api_product_delete": {
- "route": "/api/rest/v1/products/{code}",
- "methods": [
- "DELETE"
]
}, - "pim_api_product_uuid_create": {
- "route": "/api/rest/v1/products-uuid",
- "methods": [
- "POST"
]
}, - "pim_api_channel_list": {
- "route": "/api/rest/v1/channels",
- "methods": [
- "GET"
]
}, - "akeneo_catalogs_public_get_catalogs": {
- "route": "/api/rest/v1/catalogs",
- "methods": [
- "GET"
]
}, - "akeneo_asset_manager_assets_rest_connector_create_or_update": {
- "route": "/api/rest/v1/asset-families/{asset_family_code}/assets",
- "methods": [
- "PATCH"
]
}, - "pim_api_locale_list": {
- "route": "/api/rest/v1/locales",
- "methods": [
- "GET"
]
}, - "pim_analytics_external_api_system_info_get": {
- "route": "/api/rest/v1/system-information",
- "methods": [
- "GET"
]
}
}
}The Authentication endpoints provide methods to authenticate and authorize access to the Akeneo PIM API. You can use these endpoints to obtain an access token, which is required for accessing protected resources in the API. The authentication process typically involves providing credentials (username and password) or using OAuth 2.0 for secure access.
This endpoint allows you to get an authentication token. No need to be authenticated to use this endpoint. Want to get your token directly in the API reference? Check the Get your API token guide.
| Content-Type required | string Default: application/json Example: application/json This header indicates the media type of the resource being sent to the server. It is used to specify the format of the request body, allowing the server to correctly interpret the data being sent. Equal to 'application/json' or 'application/x-www-form-urlencoded', no other value allowed. |
| Authorization required | string This header is used to authenticate requests to the API. Equal to 'Basic xx', where 'xx' is the base 64 encoding of the client id and secret. Find out how to generate them in the Client ID/secret generation section. |
Request body for the token generation endpoint. This endpoint is used to generate an access token for the Akeneo PIM API.
| username required | string Your PIM username, field username in your PIM connection settings. See here for more details. |
| password required | string Your PIM password, field password in your PIM connection settings. See here for more details. |
| grant_type required | string Default: "password" Always equal to |
{- "username": "admin",
- "password": "admin",
- "grant_type": "password"
}{- "access_token": "ZTZmYjU4ZmQxZWNmMzk1M2NlYzA5NmFhNmIzVjExMzE4NmJmODBkZGIyYTliYmQyNjk2ZDQwZThmNjdiZDQzOQ",
- "expires_in": 3600,
- "token_type": "bearer",
- "scope": null,
- "refresh_token": "M3FlODI0OTE3ODMyNjViMzRiOWE5ODMyNWViMThkNDU5YzJjNjFiZjNkZWFjMzIyYjc4YTgzZWY1MjE5ZTY5Mw"
}The System endpoints provide information about the Akeneo PIM instance and its environment. You can use these endpoints to retrieve details such as the PIM version, edition, enabled features, and system health. This information is useful for monitoring, troubleshooting, and ensuring compatibility with integrations or applications that interact with the PIM API.
UI Extensions allow you to extend the Akeneo PIM user interface with custom components. They can be used to add new features or to modify the existing ones. UI Extensions are useful for integrating with external systems or for providing additional functionality to the PIM.
List all UI extensions associated with your token
[- {
- "uuid": "d414135b-ff4d-44e1-8cb6-fce64cbe29c0",
- "name": "my_awesome_iframe_extension",
- "type": "iframe",
- "position": "pim.product.tab",
- "configuration": {
- "labels": {
- "en_US": "My awesome iframe extension",
- "fr_FR": "Ma super iframe extension"
}, - "default_label": "My awesome iframe extension"
}, - "status": "active",
- "version": "V1.02.3",
- "description": "A short human readable description."
}, - {
- "uuid": "64c683bd-452b-4609-b957-c586ff6b0999",
- "name": "my_other_iframe_extension",
- "type": "iframe",
- "position": "pim.product.tab",
- "configuration": {
- "labels": {
- "en_US": "My other iframe extension",
- "fr_FR": "Mon autre iframe extension"
}, - "default_label": "My other link extension"
}, - "status": "active",
- "version": "V0.1.0",
- "description": "A short human readable description."
}
]This endpoint allows you to create a new UI extension.
default_label and url configuration fields are mandatory for all UI extensions.
secret is optional and only available for action UI extension.
body of the UI extension to create
| name required | string Name of the extension, shown within the Administration interface |
| description | string Short description, shown within the Administration interface |
| version | string Version of the extension, shown within the Administration interface |
| position required | string Position of the UI extension |
| type required | string Type of the UI extension |
object Configuration options that are specific to the UI extension type | |
| status | string Status of the UI extension (active or inactive) |
Array of credential_custom_header (object) or credential_bearer_token (object) or credential_basic_auth (object) Credentials for the UI extension |
{- "name": "my_awesome_button_extension",
- "type": "iframe",
- "position": "pim.product.tab",
- "configuration": {
- "secret": "UOL2EHjh7P0nGNUV8RwDMBclyMwe4c5IA",
- "labels": {
- "en_US": "My awesome link extension",
- "fr_FR": "Ma super link extension"
}, - "default_label": "My awesome link extension"
}, - "version": "V1.02.3",
- "description": "A short human readable description."
}{- "uuid": "d414135b-ff4d-44e1-8cb6-fce64cbe29c0",
- "name": "my_awesome_iframe_extension",
- "type": "iframe",
- "position": "pim.product.tab",
- "configuration": {
- "labels": {
- "en_US": "My awesome iframe extension",
- "fr_FR": "Ma super iframe extension"
}, - "default_label": "My awesome iframe extension"
}, - "status": "active",
- "credentials": [ ],
- "version": "V1.02.3",
- "description": "A short human readable description."
}This endpoint allows you to update an existing UI extension. You can send only the fields that you want to update. If a field is not sent, the previous value is kept. This endpoint is also available as POST, prefer the POST if you need to upload a file.
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
body of the UI extension to update
| name | string Name of the extension, shown within the Administration interface |
| description | string Short description, shown within the Administration interface |
| version | string Version of the extension, shown within the Administration interface |
| position | string Position of the UI extension |
| type | string Type of the UI extension |
object Configuration options that are specific to the UI extension type | |
| status | string Status of the UI extension (active or inactive) |
Array of credential_custom_header (object) or credential_bearer_token (object) or credential_basic_auth (object) Credentials for the UI extension |
{- "type": "link",
- "position": "pim.product.header",
- "version": "V1.02.4"
}{- "uuid": "d414135b-ff4d-44e1-8cb6-fce64cbe29c0",
- "name": "my_awesome_iframe_extension",
- "type": "iframe",
- "position": "pim.product.tab",
- "configuration": {
- "labels": {
- "en_US": "My awesome iframe extension",
- "fr_FR": "Ma super iframe extension"
}, - "default_label": "My awesome iframe extension"
}, - "status": "active",
- "credentials": [ ],
- "version": "V1.02.3",
- "description": "A short human readable description."
}This endpoint allows you to delete a given UI extension
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "code": 400,
- "message": "Invalid JSON message received"
}The Workflows endpoints allow you to retrieve the configuration of the Workflows and Steps.
Retrieves a paginated list of workflows
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 100 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
{- "_links": {
}, - "current_page": 1,
- "_embedded": {
- "items": [
- {
- "_links": {
}, - "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "enabled": true,
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}
}, - {
- "_links": {
}, - "uuid": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
- "code": "translation_workflow",
- "enabled": false,
- "labels": {
- "en_US": "Translation workflow",
- "fr_FR": "Workflow de traduction"
}
}
]
}
}This endpoint allows you to get the information about a given workflow as well as its steps
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
{- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068",
- "code": "enrichment_workflow",
- "labels": {
- "en_US": "Enrichment workflow",
- "fr_FR": "Workflow d'enrichissement"
}, - "enabled": true,
- "steps": [
- {
- "uuid": "f626d0e5-84a5-41fc-8215-65508c253edb",
- "code": "marketing_enrichment",
- "type": "enrichment",
- "labels": {
- "en_US": "Marketing enrichment",
- "fr_FR": "Enrichissement marketing"
}, - "descriptions": {
- "en_US": "Enrich marketing attributes"
}, - "allotted_time": {
- "value": 3,
- "unit": "days"
}, - "channels_and_locales": {
- "ecommerce": [
- "en_US"
], - "mobile": [
- "en_US",
- "fr_FR"
]
}
}, - {
- "uuid": "b2c1f3d4-5e6a-4c8b-9f0e-2d3e4f5a6b7c",
- "code": "marketing_review",
- "type": "review",
- "labels": { },
- "descriptions": { },
- "allotted_time": null,
- "channels_and_locales": {
- "ecommerce": [
- "en_US"
]
}
}
]
}Retrieves a paginated list of assignees for a specified workflow step
| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 100 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
{- "_links": {
}, - "current_page": 1,
- "_embedded": {
- "items": [
- {
- "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
- "first_name": "John",
- "last_name": "Doe",
- "email": "john@example.com"
}, - {
- "uuid": "be6354b0-4545-4aaa-882d-aa14be68642c",
- "first_name": "Julia",
- "last_name": "Stark",
- "email": "julia@example.com"
}
]
}
}The Workflow executions endpoints allow you to start workflows on products and product models.
This endpoint allows you to start workflow executions for products and/or product models
An array of objects, each containing workflow information and either a product or a product model to be included in a workflow
required | object Workflow UUID |
required | object Product UUID |
[- {
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068"
}, - "product": {
- "uuid": "87654321-4321-4321-4321-210987654321"
}
}, - {
- "workflow": {
- "uuid": "6f37476a-04c2-46c0-b6d0-e18316959068"
}, - "product_model": {
- "code": "model_1234"
}
}
]{- "code": 207,
- "message": "Workflow executions started with some errors",
- "processed": 2,
- "errors": [
- {
- "index": 3,
- "message": "Cannot start workflow execution: Workflow with UUID 4851975c-5100-4f98-9a49-f14b5dd996a8 does not exist or is not enabled."
}, - {
- "index": 5,
- "message": "Cannot start workflow execution: Product model with code model_1234 does not exist."
}
]
}The Tasks endpoints allow you to retrieve the tasks for each workflow steps, products and product models. It also allows you to manage the tasks by approving, rejecting or completing them.
Retrieves a paginated list of tasks for a specified workflow step
| search required | string Examples:
Stringified JSON to filter tasks. For more details see the Filters section. |
| with_attributes | boolean Default: false Whether to include task attributes in the response |
| page | integer Default: 1 Example: page=1 Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See Pagination section for more details. |
| limit | integer [ 1 .. 100 ] Default: 100 Example: limit=100 Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See Pagination section for more details. |
{- "_links": {
}, - "current_page": 1,
- "_embedded": {
- "items": [
- {
- "_links": {
}, - "uuid": "8f6c2d18-fbd4-4f7e-81df-cb3dc368fe07",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "product": {
- "uuid": "7108ee60-a1ea-4fe1-baca-b39909e23d24"
}, - "due_date": "2024-03-31T18:00:00Z",
- "rejected": true
}, - {
- "_links": {
}, - "uuid": "782dd26a-b58d-40d3-a8e2-c41bb342f20f",
- "status": "in_progress",
- "created_at": "2024-02-22T17:31:00Z",
- "product_model": {
- "code": "a-product-model-code"
}, - "due_date": "2024-03-28T18:00:00Z",
- "rejected": false
}
]
}
}Completes or approves/rejects a task. The request body's structure depends on the action being performed.
approved.completed.rejected, provide send_back_to_step_uuid, and optionally provide rejected_attributes to specify details about rejected attributes.| uuid required | string <uuid> Example: 123e4567-e89b-12d3-a456-426614174000 This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the UUID is correctly formatted and corresponds to an existing entity in the system. |
The action to perform on the task, determined by the payload
| status required | string Value: "rejected" Must be 'rejected' for this action |
| send_back_to_step_uuid required | string <uuid> The UUID of the workflow step to which the task should be returned |
object Optionally provides details about which attributes were rejected. For each attribute name you can specify a comment, the locale, and the scope for the rejection. |
{- "status": "rejected",
- "send_back_to_step_uuid": "123e4567-e89b-12d3-a456-426614174000",
- "rejected_attributes": {
- "name": [
- {
- "comment": "",
- "locale": null,
- "scope": null
}
], - "description": [
- {
- "comment": "Wrong description",
- "locale": "en_US",
- "scope": "ecommerce"
}, - {
- "comment": "",
- "locale": "fr_FR",
- "scope": "mobile"
}
]
}
}{- "code": 400,
- "message": "Invalid JSON message received"
}