openapi: 3.2.0 info: title: Akeneo API REFERENCE Channel API version: 1.0.0 description: '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.' license: name: Open Software License 3.0 url: http://opensource.org/licenses/OSL-3.0 contact: name: Akeneo Support url: https://www.akeneo.com/support-help-center/ email: contact@akeneo.com servers: - url: '{your-pim-url}' variables: your-pim-url: default: '' description: 'Set the PIM url you want to target ex: https://my-pim.cloud.akeneo.com or https://localhost:8443' tags: - name: Channel description: '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.' paths: /api/rest/v1/channels: get: operationId: get_channels x-visibility: public summary: Get a list of channels description: 'This endpoint allows you to get a list of channels. Channels are paginated and sorted by code.' tags: - Channel security: - bearerToken: [] parameters: - in: query name: page description: '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](https://api.akeneo.com/documentation/pagination.html) section for more details. ' required: false schema: type: integer default: 1 example: 1 - in: query name: limit description: '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](https://api.akeneo.com/documentation/pagination.html) section for more details. ' required: false schema: type: integer default: 10 minimum: 1 maximum: 100 example: 100 - in: query name: with_count description: '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. ' required: false schema: type: boolean default: false example: true responses: '200': description: 'Return channels paginated. The response is paginated and includes links to navigate through the pages. ' content: application/json: schema: title: Channels type: object allOf: - type: object properties: _links: type: object properties: self: type: object properties: href: type: string description: URI of the current page of resources example: https://demo.akeneo.com/api/rest/v1/categories?page=2&limit=5 first: type: object properties: href: type: string description: URI of the first page of resources example: https://demo.akeneo.com/api/rest/v1/categories?page=1&limit=5 previous: type: object properties: href: type: string description: URI of the previous page of resources example: https://demo.akeneo.com/api/rest/v1/categories?page=1&limit=5 next: type: object properties: href: type: string description: URI of the next page of resources example: https://demo.akeneo.com/api/rest/v1/categories?page=3&limit=5 - type: object properties: current_page: type: integer description: Current page number example: 1 items_count: type: integer description: Total number of items (only if `with_count` parameter is set to true) example: 5 _embedded: type: object properties: items: type: array items: allOf: - type: object properties: _links: type: object properties: self: type: object properties: href: type: string description: URI of the resource example: https://demo.akeneo.com/api/rest/v1/channel/ecommerce - type: object properties: code: type: string description: Channel code x-immutable: true example: ecommerce locales: type: array description: Codes of activated locales for the channel items: type: string x-validation-rules: '- Each string of the array is an existing locale code. - At least one locale in the array. ' example: - de_DE - en_US - fr_FR currencies: type: array description: Codes of activated currencies for the channel items: type: string x-validation-rules: '- Each string of the array is an existing currency code. - At least one currency in the array. ' example: - USD - EUR category_tree: type: string description: Code of the category tree linked to the channel x-validation-rules: It is the code of an existing category code that is a tree (a category without parent) example: master conversion_units: type: object description: Units to which the given metric attributes should be converted when exporting products properties: attributeCode: type: string description: Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel pim_config_family_rules: type: - object - 'null' description: Per-locale conversion rules keyed by measurement family code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 pim_config_attribute_locale_rules: type: - object - 'null' description: Per-locale conversion rules keyed by attribute code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 additionalProperties: type: - string - 'null' x-validation-rules: '- The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric`. - The strings are existing unit codes. - The optional `pim_config_family_rules` key maps measurement family codes to locale-unit pairs. - The optional `pim_config_attribute_locale_rules` key maps attribute codes to locale-unit pairs. ' example: weight: KILOGRAM pim_config_family_rules: Power: en_US: KILOWATT fr_FR: unit: WATT decimal_places_strategy: round decimal_places: 2 pim_config_attribute_locale_rules: weight: en_US: KILOGRAM labels: type: object description: Channel labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Channel label for the specified locale type: - string - 'null' example: Ecommerce x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Ecommerce de_DE: Ecommerce fr_FR: Ecommerce example: 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 example: _links: self: href: https://demo.akeneo.com/api/rest/v1/channels?page=2&limit=3&with_count=true first: href: https://demo.akeneo.com/api/rest/v1/channels?page=1&limit=3&with_count=true previous: href: https://demo.akeneo.com/api/rest/v1/channels?page=1&limit=3&with_count=true next: href: https://demo.akeneo.com/api/rest/v1/channels?page=3&limit=3&with_count=true current_page: 1 items_count: 10 _embedded: items: - _links: self: href: https://demo.akeneo.com/api/rest/v1/channels/ecommerce 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 - _links: self: href: https://demo.akeneo.com/api/rest/v1/channels/mobile 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 - _links: self: href: https://demo.akeneo.com/api/rest/v1/channels/print 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 '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '406': description: 'This response indicates that the server cannot produce a response matching the list of acceptable values defined in the request''s `Accept` header. It is typically used when the requested resource is not available in the requested format. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 406 message: xxx in `Accept` header is not valid. Only `application/json` is allowed. '422': description: 'This response indicates that the validation of the entity given in the body of the request failed. It occurs when the server understands the request but cannot process it due to validation errors in the provided data. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 422 message: type: string description: Message explaining the error example: Validation failed. errors: type: array description: A list of validation error messages (optional) items: type: object properties: property: type: string description: Name of the invalid property message: type: string description: Human-readable error message attribute: type: - string - 'null' description: Attribute code (if the error is on an attribute) locale: type: - string - 'null' description: Locale code involved in the error, if any scope: type: - string - 'null' description: Channel code involved in the error, if any example: - property: family message: The tshirts family does not exist in your PIM. _links: type: object properties: documentation: type: object properties: href: type: string example: documentation: href: http://api.akeneo.com/api-reference.html example: code: 422 message: Validation failed. errors: - property: family message: The tshirts family does not exist in your PIM. - property: categories message: The "tvs_projectors" category does not exist. - property: associations.SUBSTITUTION.groups message: You should associate existing groups. The "promotion" group does not exist. - property: values message: The "description" attribute requires a channel. attribute: description locale: en_US scope: null - property: values message: The "name" attribute requires a locale. attribute: name locale: null scope: null _links: documentation: href: http://api.akeneo.com/api-reference.html post: operationId: post_channel x-visibility: public summary: Create a new channel description: This endpoint allows you to create a new channel. tags: - Channel security: - bearerToken: [] requestBody: description: Body representing the channel content: application/json: schema: type: object required: - code - category_tree - locales - currencies properties: code: type: string description: Channel code x-immutable: true example: ecommerce locales: type: array description: Codes of activated locales for the channel items: type: string x-validation-rules: '- Each string of the array is an existing locale code. - At least one locale in the array. ' example: - de_DE - en_US - fr_FR currencies: type: array description: Codes of activated currencies for the channel items: type: string x-validation-rules: '- Each string of the array is an existing currency code. - At least one currency in the array. ' example: - USD - EUR category_tree: type: string description: Code of the category tree linked to the channel x-validation-rules: It is the code of an existing category code that is a tree (a category without parent) example: master conversion_units: type: object description: Units to which the given metric attributes should be converted when exporting products properties: attributeCode: type: string description: Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel pim_config_family_rules: type: - object - 'null' description: Per-locale conversion rules keyed by measurement family code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 pim_config_attribute_locale_rules: type: - object - 'null' description: Per-locale conversion rules keyed by attribute code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 additionalProperties: type: - string - 'null' x-validation-rules: '- The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric`. - The strings are existing unit codes. - The optional `pim_config_family_rules` key maps measurement family codes to locale-unit pairs. - The optional `pim_config_attribute_locale_rules` key maps attribute codes to locale-unit pairs. ' example: weight: KILOGRAM pim_config_family_rules: Power: en_US: KILOWATT fr_FR: unit: WATT decimal_places_strategy: round decimal_places: 2 pim_config_attribute_locale_rules: weight: en_US: KILOGRAM labels: type: object description: Channel labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Channel label for the specified locale type: - string - 'null' example: Ecommerce x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Ecommerce de_DE: Ecommerce fr_FR: Ecommerce example: 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 example: 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 responses: '201': description: 'This response indicates that the entity was successfully created. The server has fulfilled the request and created a new resource. The response includes a `Location` header that contains the URI of the newly created resource. ' headers: Location: description: URI of the created resource schema: type: string '400': description: 'This response indicates that the server cannot process the request due to a client error, such as malformed request syntax, invalid request message framing, or deceptive request routing. It is typically used when the server cannot understand the request due to invalid JSON or other client-side issues. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 400 message: Invalid JSON message received '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '415': description: 'This response indicates that the `Content-type` header of the request is not supported by the server. The server expects the `Content-type` header to be `application/json`, and any other value will result in this error. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 415 message: xxx in `Content-type` header is not valid. Only `application/json` is allowed." '422': description: 'This response indicates that the validation of the entity given in the body of the request failed. It occurs when the data provided does not meet the required format or constraints defined by the API, and includes a link to the documentation for reference. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: type: object properties: documentation: type: object properties: href: type: string example: http://api.akeneo.com/api-reference.html example: code: 422 message: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: documentation: href: http://api.akeneo.com/api-reference.html patch: operationId: patch_channels x-visibility: public summary: Update/create several channels description: This endpoint allows you to update and/or create several channels at once. tags: - Channel security: - bearerToken: [] x-body-by-line: Contains several lines, each line is a channel in JSON standard format requestBody: description: "Body containing the channels to update or create.\nEach line is a JSON object representing a channel.\nEach object contains the following properties:\n - `code`: Channel code (string) (mandatory)\n - `locales`: Codes of activated locales for the channel (array of strings) (mandatory)\n - `currencies`: Codes of activated currencies for the channel (array of strings) (mandatory)\n - `category_tree`: Code of the category tree linked to the channel (string) (mandatory)\n - `conversion_units`: Units to which the given metric attributes should be converted when exporting products (object) (optional)\n - `labels`: Channel labels for each locale (object) (optional)\n" content: application/vnd.akeneo.collection+json: schema: type: string x-body-by-line-schema: type: object properties: code: type: string description: Channel code x-immutable: true example: ecommerce locales: type: array description: Codes of activated locales for the channel items: type: string x-validation-rules: '- Each string of the array is an existing locale code. - At least one locale in the array. ' example: - de_DE - en_US - fr_FR currencies: type: array description: Codes of activated currencies for the channel items: type: string x-validation-rules: '- Each string of the array is an existing currency code. - At least one currency in the array. ' example: - USD - EUR category_tree: type: string description: Code of the category tree linked to the channel x-validation-rules: It is the code of an existing category code that is a tree (a category without parent) example: master conversion_units: type: object description: Units to which the given metric attributes should be converted when exporting products properties: attributeCode: type: string description: Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel pim_config_family_rules: type: - object - 'null' description: Per-locale conversion rules keyed by measurement family code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 pim_config_attribute_locale_rules: type: - object - 'null' description: Per-locale conversion rules keyed by attribute code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 additionalProperties: type: - string - 'null' x-validation-rules: '- The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric`. - The strings are existing unit codes. - The optional `pim_config_family_rules` key maps measurement family codes to locale-unit pairs. - The optional `pim_config_attribute_locale_rules` key maps attribute codes to locale-unit pairs. ' example: weight: KILOGRAM pim_config_family_rules: Power: en_US: KILOWATT fr_FR: unit: WATT decimal_places_strategy: round decimal_places: 2 pim_config_attribute_locale_rules: weight: en_US: KILOGRAM labels: type: object description: Channel labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Channel label for the specified locale type: - string - 'null' example: Ecommerce x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Ecommerce de_DE: Ecommerce fr_FR: Ecommerce example: 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 example: '{"code":"ecommerce_fr", "category_tree": "master", "currencies":["EUR"], "locales": ["fr_FR"], "labels":{"fr_FR": "Ecommerce Fr"}} {"code":"ecommerce_ch", "type":"bar"} {"code":"tablet", "labels":{"en_US": "Tablet", "fr_FR": "Tablette"}} ' responses: '200': description: Returns a plain text response whose lines are JSON containing the status of each update or creation content: application/vnd.akeneo.collection+json: schema: type: string x-body-by-line-schema: type: object properties: line: type: integer description: Line number example: 10 code: type: string description: Resource code example: my_code status_code: type: integer description: HTTP status code, see [Client errors](https://api.akeneo.com/documentation/responses.html#client-errors) to understand the meaning of each code example: 422 message: type: string description: Message explaining the error example: Property "name" expects a string as data, "NULL" given. Check the API reference documentation. example: '{"line":1,"code":"ecommerce_fr","status_code":201} {"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_"}}} {"line":3,"code":"tablet","status_code":204} ' '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '413': description: 'This response indicates that the request entity is larger than the server is willing or able to process. It can occur when the number of resources in a batch request exceeds the maximum allowed limit. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 413 message: Too many resources to process, 100 is the maximum allowed. '415': description: 'This response indicates that the `Content-type` header of the request is not supported by the server. The server expects the `Content-type` header to be `application/json`, and any other value will result in this error. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 415 message: xxx in `Content-type` header is not valid. Only `application/json` is allowed." /api/rest/v1/channels/{code}: get: operationId: get_channel_by_code x-visibility: public summary: Get a channel description: This endpoint allows you to get the information about a given channel tags: - Channel security: - bearerToken: [] parameters: - in: path name: code description: '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. ' required: true schema: type: string example: my_entity_code responses: '200': description: Returns the content of the channel in JSON standard format content: application/json: schema: type: object properties: code: type: string description: Channel code x-immutable: true example: ecommerce locales: type: array description: Codes of activated locales for the channel items: type: string x-validation-rules: '- Each string of the array is an existing locale code. - At least one locale in the array. ' example: - de_DE - en_US - fr_FR currencies: type: array description: Codes of activated currencies for the channel items: type: string x-validation-rules: '- Each string of the array is an existing currency code. - At least one currency in the array. ' example: - USD - EUR category_tree: type: string description: Code of the category tree linked to the channel x-validation-rules: It is the code of an existing category code that is a tree (a category without parent) example: master conversion_units: type: object description: Units to which the given metric attributes should be converted when exporting products properties: attributeCode: type: string description: Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel pim_config_family_rules: type: - object - 'null' description: Per-locale conversion rules keyed by measurement family code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 pim_config_attribute_locale_rules: type: - object - 'null' description: Per-locale conversion rules keyed by attribute code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 additionalProperties: type: - string - 'null' x-validation-rules: '- The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric`. - The strings are existing unit codes. - The optional `pim_config_family_rules` key maps measurement family codes to locale-unit pairs. - The optional `pim_config_attribute_locale_rules` key maps attribute codes to locale-unit pairs. ' example: weight: KILOGRAM pim_config_family_rules: Power: en_US: KILOWATT fr_FR: unit: WATT decimal_places_strategy: round decimal_places: 2 pim_config_attribute_locale_rules: weight: en_US: KILOGRAM labels: type: object description: Channel labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Channel label for the specified locale type: - string - 'null' example: Ecommerce x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Ecommerce de_DE: Ecommerce fr_FR: Ecommerce example: 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 example: 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 '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '404': description: 'This response indicates that the requested resource could not be found on the server. It can occur when the resource code given in the URI does not correspond to any existing PIM resource. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 404 message: Resource `my_resource_code` does not exist. '406': description: 'This response indicates that the server cannot produce a response matching the list of acceptable values defined in the request''s `Accept` header. It is typically used when the requested resource is not available in the requested format. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 406 message: xxx in `Accept` header is not valid. Only `application/json` is allowed. patch: operationId: patch_channel_by_code x-visibility: public summary: Update/create a channel description: '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.' tags: - Channel security: - bearerToken: [] parameters: - in: path name: code description: '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. ' required: true schema: type: string example: my_entity_code requestBody: description: Body of the request to create or update a channel content: application/json: schema: type: object properties: code: type: string description: Channel code x-immutable: true example: ecommerce locales: type: array description: Codes of activated locales for the channel items: type: string x-validation-rules: '- Each string of the array is an existing locale code. - At least one locale in the array. ' example: - de_DE - en_US - fr_FR currencies: type: array description: Codes of activated currencies for the channel items: type: string x-validation-rules: '- Each string of the array is an existing currency code. - At least one currency in the array. ' example: - USD - EUR category_tree: type: string description: Code of the category tree linked to the channel x-validation-rules: It is the code of an existing category code that is a tree (a category without parent) example: master conversion_units: type: object description: Units to which the given metric attributes should be converted when exporting products properties: attributeCode: type: string description: Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel pim_config_family_rules: type: - object - 'null' description: Per-locale conversion rules keyed by measurement family code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 pim_config_attribute_locale_rules: type: - object - 'null' description: Per-locale conversion rules keyed by attribute code, then locale code. Each cell is either a unit code string or an object carrying the unit and optional decimal-precision settings. additionalProperties: type: - object - 'null' additionalProperties: oneOf: - type: string - type: object required: - unit - decimal_places_strategy additionalProperties: false properties: unit: type: string decimal_places_strategy: const: trim decimal_places: const: null - type: object required: - unit - decimal_places_strategy - decimal_places additionalProperties: false properties: unit: type: string decimal_places_strategy: const: round decimal_places: type: integer minimum: 1 maximum: 4 additionalProperties: type: - string - 'null' x-validation-rules: '- The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric`. - The strings are existing unit codes. - The optional `pim_config_family_rules` key maps measurement family codes to locale-unit pairs. - The optional `pim_config_attribute_locale_rules` key maps attribute codes to locale-unit pairs. ' example: weight: KILOGRAM pim_config_family_rules: Power: en_US: KILOWATT fr_FR: unit: WATT decimal_places_strategy: round decimal_places: 2 pim_config_attribute_locale_rules: weight: en_US: KILOGRAM labels: type: object description: Channel labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Channel label for the specified locale type: - string - 'null' example: Ecommerce x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Ecommerce de_DE: Ecommerce fr_FR: Ecommerce example: 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 example: 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 required: true responses: '201': description: 'This response indicates that the entity was successfully created. The server has fulfilled the request and created a new resource. The response includes a `Location` header that contains the URI of the newly created resource. ' headers: Location: description: URI of the created resource schema: type: string '204': description: 'This response indicates that the request was successful and that there is no content to return. It is typically used in response to a successful update operation where the server does not need to return any data to the client. ' headers: Location: description: URI of the updated resource schema: type: string '400': description: 'This response indicates that the server cannot process the request due to a client error, such as malformed request syntax, invalid request message framing, or deceptive request routing. It is typically used when the server cannot understand the request due to invalid JSON or other client-side issues. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 400 message: Invalid JSON message received '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '415': description: 'This response indicates that the `Content-type` header of the request is not supported by the server. The server expects the `Content-type` header to be `application/json`, and any other value will result in this error. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 415 message: xxx in `Content-type` header is not valid. Only `application/json` is allowed." '422': description: 'This response indicates that the validation of the entity given in the body of the request failed. It occurs when the server understands the request but cannot process it due to validation errors in the provided data. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 422 message: type: string description: Message explaining the error example: Validation failed. errors: type: array description: A list of validation error messages (optional) items: type: object properties: property: type: string description: Name of the invalid property message: type: string description: Human-readable error message attribute: type: - string - 'null' description: Attribute code (if the error is on an attribute) locale: type: - string - 'null' description: Locale code involved in the error, if any scope: type: - string - 'null' description: Channel code involved in the error, if any example: - property: family message: The tshirts family does not exist in your PIM. _links: type: object properties: documentation: type: object properties: href: type: string example: documentation: href: http://api.akeneo.com/api-reference.html example: code: 422 message: Validation failed. errors: - property: family message: The tshirts family does not exist in your PIM. - property: categories message: The "tvs_projectors" category does not exist. - property: associations.SUBSTITUTION.groups message: You should associate existing groups. The "promotion" group does not exist. - property: values message: The "description" attribute requires a channel. attribute: description locale: en_US scope: null - property: values message: The "name" attribute requires a locale. attribute: name locale: null scope: null _links: documentation: href: http://api.akeneo.com/api-reference.html components: securitySchemes: basicToken: scheme: basic type: http description: 'HTTP Basic authentication using user credentials. [More information here](https://api.akeneo.com/documentation/authentication.html) ' bearerToken: scheme: bearer type: http description: 'Bearer token obtained via the "Password Grant" flow. This token authenticates a user, is valid for one hour, and can be refreshed using a refresh token. [More information here](https://api.akeneo.com/documentation/authentication.html) ' appToken: scheme: bearer type: http description: 'Bearer token for Apps, obtained via the OAuth 2.0 flow. This permanent token allows an application to make requests on behalf of a user. [More information here](https://api.akeneo.com/apps/authentication-and-authorization.html) ' x-provenance: method: harvested publisher: Akeneo source: https://storage.googleapis.com/akecld-prd-pim-saas-shared-openapi-spec/openapi.yaml note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json); stamped by stamp-openapi-provenance.py (roadmap#793)