openapi: 3.2.0 info: title: Akeneo API REFERENCE Attribute 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: Attribute description: '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.' paths: /api/rest/v1/attributes: get: operationId: get_attributes x-visibility: public summary: Get list of attributes description: 'This endpoint allows you to get a list of attributes. Attributes are paginated and sorted by code.' tags: - Attribute security: - bearerToken: [] parameters: - name: search in: query description: 'Filter attributes, for more details see the [Filters](https://api.akeneo.com/documentation/filter.html#filter-attributes) section. ' required: false schema: type: string examples: getAttributesByAttributeCode: summary: Filter the attributes by their code value: '{"code":[{"operator":"IN","value":["code1","code2"]}]}' getAttributesByUpdatedDate: summary: Filter the attributes by their update date value: '{"updated":[{"operator":">","value":"2020-07-04T10:00:00Z"}]}' getAttributesByAttributeType: summary: Filter the attributes by their type value: '{"type":[{"operator":"IN","value":["pim_catalog_simpleselect","pim_catalog_multiselect"]}]}' getAttributesByMainIdentifier: summary: Filter the attributes that are main identifier or not value: '{"is_main_identifier":[{"operator":"=","value":true}]}' - 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 - in: query name: with_table_select_options description: 'Return the options of ''select'' column types (of a table attribute) in the response. When set to `true`, the response will include all available options for select-type columns in table attributes. This is useful for retrieving all available options for select-type columns in table attributes, which is essential for form rendering and data validation. If set to `false`, the response will not include select options, which can improve performance. ' required: false schema: type: boolean default: false example: true responses: '200': description: 'Return attributes paginated. The response is paginated and includes links to navigate through the pages. ' content: application/json: schema: title: Attributes 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/attributes/sku - type: object properties: code: type: string description: Attribute code x-immutable: true example: release_date type: type: string description: 'Attribute type. See [type](https://api.akeneo.com/concepts/catalog-structure.html#attribute) section for more details. ' 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 x-immutable: true x-validation-rules: The type is one of the following values example: pim_catalog_date labels: type: object description: Attribute labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Attribute label for the specified locale type: - string - 'null' example: Release date x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Release date fr_FR: Date de sortie group: type: string description: Attribute group x-validation-rules: It is the code of an existing group example: marketing group_labels: type: object description: Group labels for each locale readOnly: true default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Group label for the specified locale type: - string - 'null' example: Marketing x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Marketing fr_FR: Marketing sort_order: type: integer description: Order of the attribute in its group default: 0 x-validation-rules: It is a positive integer example: 1 localizable: type: boolean description: Whether the attribute is localizable, i.e. can have one value by locale default: false x-immutable: true example: false scopable: type: boolean description: Whether the attribute is scopable, i.e. can have one value by channel default: false x-immutable: true example: false available_locales: type: array description: To make the attribute locale specfic, specify here for which locales it is specific items: type: string x-validation-rules: Each string of the array is an existing and activated locale example: - en_US - fr_FR unique: type: boolean description: Whether two values for the attribute cannot be the same x-immutable: true x-validation-rules: 'Required to be `true` for `pim_catalog_identifier` attribute type. Can only be `true` for `pim_catalog_text`, `pim_catalog_number`, or `pim_catalog_identifier` attribute types. ' x-warning: 'Only `pim_catalog_text`, `pim_catalog_number`, and `pim_catalog_identifier` attribute types support unique values. The `pim_catalog_identifier` type must always be unique. ' example: false useable_as_grid_filter: type: boolean description: Whether the attribute can be used as a filter for the product grid in the PIM user interface example: true max_characters: type: - integer - 'null' description: 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` x-warning: Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types example: 255 validation_rule: type: - string - 'null' description: Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Equal to `regexp` when the attribute type is equal to `pim_catalog_identifier` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null validation_regexp: type: - string - 'null' description: Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Required when the property `validation_rule` is equal to `regexp` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null wysiwyg_enabled: type: - boolean - 'null' description: Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea` x-warning: Only for `pim_catalog_textarea` attribute type example: null number_min: type: - string - 'null' description: Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null number_max: type: - string - 'null' description: Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null decimals_allowed: type: - boolean - 'null' description: Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null negative_allowed: type: - boolean - 'null' description: Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric` or `pim_catalog_number` attribute types example: null metric_family: type: - string - 'null' description: Metric family when the attribute type is `pim_catalog_metric` x-immutable: true x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null default_metric_unit: type: - string - 'null' description: Default metric unit when the attribute type is `pim_catalog_metric` x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null date_min: type: - string - 'null' description: 'Minimum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2020-01-01' date_max: type: - string - 'null' description: 'Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2030-12-31' display_time: type: - boolean - 'null' description: 'Whether the time component is displayed and stored for values of this attribute. When `true`, filters on this attribute using `pim_catalog_date` values accept ISO 8601 date-times with time-of-day precision. When `false`, the time component of filter values is ignored (the filter matches the full day). ' x-warning: Only for `pim_catalog_date` attribute type example: false allowed_extensions: type: array description: Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image` items: type: string x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: [] max_file_size: type: - string - 'null' description: Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image` x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: null reference_data_name: type: - string - 'null' description: '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` ' x-validation-rules: Required only for `akeneo_reference_entity`or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types x-warning: Only for `akeneo_reference_entity` or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types example: null default_value: oneOf: - type: boolean description: Default value for a Yes/No attribute, applied when creating a new product or product model - type: number description: Default value for a number attribute, applied when creating a new product or product model - type: string description: Default value for a simple select attribute, applied when creating a new product or product model - type: array description: Default value for a multi-select attribute, applied when creating a new product or product model items: type: string - type: 'null' x-validation-rules: 'Can only be set for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types. Must be null for `pim_catalog_identifier`, `pim_catalog_text`, `pim_catalog_textarea`, `pim_catalog_price_collection`, `pim_catalog_file`, `pim_catalog_image`, `pim_catalog_date`, `pim_catalog_metric`, and `pim_reference_data_simpleselect` attribute types. ' x-warning: Only for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types example: null table_configuration: type: array description: Configuration of the Table attribute (columns) items: type: object required: - code - data_type properties: code: type: string description: Column code data_type: type: string enum: - select - text - number - boolean - incremental_number - reference_entity - product_link - measurement - date description: Column data type validations: type: object description: User defined validation constraints on the cell content default: {} properties: min: type: number description: minimum value of a numeric cell x-validation-rules: only for `number` data type columns max: type: number description: maximum value of a numeric cell x-validation-rules: only for `number` data type columns decimals_allowed: type: boolean description: whether the value of a numeric cell can hold a decimal part x-validation-rules: only for `number` data type columns max_length: type: number description: maximum length of a text cell x-validation-rules: only for `text` data type columns labels: type: object description: Column labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Column label for the specified locale type: - string - 'null' example: description x-validation-rules: The `localeCode` is the code of an existing and activated locale is_required_for_completeness: type: boolean description: Defines if the column should be entirely filled for the attribute to be considered complete default: false x-warning: This value is always true for the first column in a table configuration x-validation-rules: Required only for `pim_catalog_table` attribute type x-warning: Only for `pim_catalog_table` attribute type example: [] is_main_identifier: type: boolean description: Is this attribute main identifier when attribute type is `pim_catalog_identifier` example: false is_mandatory: type: boolean description: 'This attribute must be enriched from the moment a product is created. It will be mandatory across all families. ' x-warning: 'Only for `pim_catalog_boolean`, `pim_catalog_identifier`, `pim_catalog_number`, `pim_catalog_simpleselect`, `pim_catalog_textarea`, `pim_catalog_text`, `pim_reference_data_simpleselect` or `akeneo_reference_entity` attribute types ' example: false is_pinned: type: boolean description: 'This attribute is pinned, so that it is surfaced first in the product edit form whatever the family it belongs to. ' example: false color_configuration: type: - object - 'null' description: The tints used to render this attribute's values, `null` when no tint has been configured x-warning: Only for `pim_catalog_boolean` attribute type properties: yes_color: type: string description: The tint used to render a `true` value example: green no_color: type: string description: The tint used to render a `false` value example: red example: null decimal_places_strategy: type: - string - 'null' description: 'Defines the decimal places strategy. Available options are `round`, `forbid` and `trim`. ' x-warning: Only for `pim_catalog_number` or `pim_catalog_metric` attribute types example: null decimal_places: type: - number - 'null' description: Defines the number of decimal places when decimal places strategy is `round` or `forbid` x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: null enable_option_creation_during_import: type: - boolean - 'null' description: '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` ' x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: false max_items_count: type: - number - 'null' description: Maximum number of items allowed in an asset collection when the attribute type is `pim_catalog_asset_collection` x-warning: Only for `pim_catalog_asset_collection` attribute types example: null example: _links: self: href: https://demo.akeneo.com/api/rest/v1/attributes?page=3&limit=3&with_count=true first: href: https://demo.akeneo.com/api/rest/v1/attributes?page=1&limit=3&with_count=true previous: href: https://demo.akeneo.com/api/rest/v1/attributes?page=2&limit=3&with_count=true next: href: https://demo.akeneo.com/api/rest/v1/attributes?page=4&limit=3&with_count=true current_page: 3 items_count: 10 _embedded: items: - _links: self: href: https://demo.akeneo.com/api/rest/v1/attributes/sku 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 - _links: self: href: https://demo.akeneo.com/api/rest/v1/attributes/release_date 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 - _links: self: href: http://demo.akeneo.com/api/rest/v1/attributes/food_composition 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 '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. '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_attribute x-visibility: public summary: Create a new attribute description: This endpoint allows you to create a new attribute. tags: - Attribute security: - bearerToken: [] requestBody: description: '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. ' content: application/json: schema: required: - code - type - group type: object properties: code: type: string description: Attribute code x-immutable: true example: release_date type: type: string description: 'Attribute type. See [type](https://api.akeneo.com/concepts/catalog-structure.html#attribute) section for more details. ' 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 x-immutable: true x-validation-rules: The type is one of the following values example: pim_catalog_date labels: type: object description: Attribute labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Attribute label for the specified locale type: - string - 'null' example: Release date x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Release date fr_FR: Date de sortie group: type: string description: Attribute group x-validation-rules: It is the code of an existing group example: marketing group_labels: type: object description: Group labels for each locale readOnly: true default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Group label for the specified locale type: - string - 'null' example: Marketing x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Marketing fr_FR: Marketing sort_order: type: integer description: Order of the attribute in its group default: 0 x-validation-rules: It is a positive integer example: 1 localizable: type: boolean description: Whether the attribute is localizable, i.e. can have one value by locale default: false x-immutable: true example: false scopable: type: boolean description: Whether the attribute is scopable, i.e. can have one value by channel default: false x-immutable: true example: false available_locales: type: array description: To make the attribute locale specfic, specify here for which locales it is specific items: type: string x-validation-rules: Each string of the array is an existing and activated locale example: - en_US - fr_FR unique: type: boolean description: Whether two values for the attribute cannot be the same x-immutable: true x-validation-rules: 'Required to be `true` for `pim_catalog_identifier` attribute type. Can only be `true` for `pim_catalog_text`, `pim_catalog_number`, or `pim_catalog_identifier` attribute types. ' x-warning: 'Only `pim_catalog_text`, `pim_catalog_number`, and `pim_catalog_identifier` attribute types support unique values. The `pim_catalog_identifier` type must always be unique. ' example: false useable_as_grid_filter: type: boolean description: Whether the attribute can be used as a filter for the product grid in the PIM user interface example: true max_characters: type: - integer - 'null' description: 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` x-warning: Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types example: 255 validation_rule: type: - string - 'null' description: Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Equal to `regexp` when the attribute type is equal to `pim_catalog_identifier` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null validation_regexp: type: - string - 'null' description: Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Required when the property `validation_rule` is equal to `regexp` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null wysiwyg_enabled: type: - boolean - 'null' description: Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea` x-warning: Only for `pim_catalog_textarea` attribute type example: null number_min: type: - string - 'null' description: Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null number_max: type: - string - 'null' description: Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null decimals_allowed: type: - boolean - 'null' description: Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null negative_allowed: type: - boolean - 'null' description: Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric` or `pim_catalog_number` attribute types example: null metric_family: type: - string - 'null' description: Metric family when the attribute type is `pim_catalog_metric` x-immutable: true x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null default_metric_unit: type: - string - 'null' description: Default metric unit when the attribute type is `pim_catalog_metric` x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null date_min: type: - string - 'null' description: 'Minimum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2020-01-01' date_max: type: - string - 'null' description: 'Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2030-12-31' display_time: type: - boolean - 'null' description: 'Whether the time component is displayed and stored for values of this attribute. When `true`, filters on this attribute using `pim_catalog_date` values accept ISO 8601 date-times with time-of-day precision. When `false`, the time component of filter values is ignored (the filter matches the full day). ' x-warning: Only for `pim_catalog_date` attribute type example: false allowed_extensions: type: array description: Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image` items: type: string x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: [] max_file_size: type: - string - 'null' description: Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image` x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: null reference_data_name: type: - string - 'null' description: '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` ' x-validation-rules: Required only for `akeneo_reference_entity`or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types x-warning: Only for `akeneo_reference_entity` or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types example: null default_value: oneOf: - type: boolean description: Default value for a Yes/No attribute, applied when creating a new product or product model - type: number description: Default value for a number attribute, applied when creating a new product or product model - type: string description: Default value for a simple select attribute, applied when creating a new product or product model - type: array description: Default value for a multi-select attribute, applied when creating a new product or product model items: type: string - type: 'null' x-validation-rules: 'Can only be set for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types. Must be null for `pim_catalog_identifier`, `pim_catalog_text`, `pim_catalog_textarea`, `pim_catalog_price_collection`, `pim_catalog_file`, `pim_catalog_image`, `pim_catalog_date`, `pim_catalog_metric`, and `pim_reference_data_simpleselect` attribute types. ' x-warning: Only for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types example: null table_configuration: type: array description: Configuration of the Table attribute (columns) items: type: object required: - code - data_type properties: code: type: string description: Column code data_type: type: string enum: - select - text - number - boolean - incremental_number - reference_entity - product_link - measurement - date description: Column data type validations: type: object description: User defined validation constraints on the cell content default: {} properties: min: type: number description: minimum value of a numeric cell x-validation-rules: only for `number` data type columns max: type: number description: maximum value of a numeric cell x-validation-rules: only for `number` data type columns decimals_allowed: type: boolean description: whether the value of a numeric cell can hold a decimal part x-validation-rules: only for `number` data type columns max_length: type: number description: maximum length of a text cell x-validation-rules: only for `text` data type columns labels: type: object description: Column labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Column label for the specified locale type: - string - 'null' example: description x-validation-rules: The `localeCode` is the code of an existing and activated locale is_required_for_completeness: type: boolean description: Defines if the column should be entirely filled for the attribute to be considered complete default: false x-warning: This value is always true for the first column in a table configuration x-validation-rules: Required only for `pim_catalog_table` attribute type x-warning: Only for `pim_catalog_table` attribute type example: [] is_main_identifier: type: boolean description: Is this attribute main identifier when attribute type is `pim_catalog_identifier` example: false is_mandatory: type: boolean description: 'This attribute must be enriched from the moment a product is created. It will be mandatory across all families. ' x-warning: 'Only for `pim_catalog_boolean`, `pim_catalog_identifier`, `pim_catalog_number`, `pim_catalog_simpleselect`, `pim_catalog_textarea`, `pim_catalog_text`, `pim_reference_data_simpleselect` or `akeneo_reference_entity` attribute types ' example: false is_pinned: type: boolean description: 'This attribute is pinned, so that it is surfaced first in the product edit form whatever the family it belongs to. ' example: false color_configuration: type: - object - 'null' description: The tints used to render this attribute's values, `null` when no tint has been configured x-warning: Only for `pim_catalog_boolean` attribute type properties: yes_color: type: string description: The tint used to render a `true` value example: green no_color: type: string description: The tint used to render a `false` value example: red example: null decimal_places_strategy: type: - string - 'null' description: 'Defines the decimal places strategy. Available options are `round`, `forbid` and `trim`. ' x-warning: Only for `pim_catalog_number` or `pim_catalog_metric` attribute types example: null decimal_places: type: - number - 'null' description: Defines the number of decimal places when decimal places strategy is `round` or `forbid` x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: null enable_option_creation_during_import: type: - boolean - 'null' description: '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` ' x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: false max_items_count: type: - number - 'null' description: Maximum number of items allowed in an asset collection when the attribute type is `pim_catalog_asset_collection` x-warning: Only for `pim_catalog_asset_collection` attribute types example: null example: 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 responses: '201': description: Successfully created attribute, returns empty body '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 patch: operationId: patch_attributes x-visibility: public summary: Update/create several attributes description: This endpoint allows you to update and/or create several attributes at once tags: - Attribute security: - bearerToken: [] x-body-by-line: Contains several lines, each line is an attribute in JSON standard format requestBody: description: '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`. Accepts `YYYY-MM-DD` or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`) (string) (optional) `date_max`: Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts `YYYY-MM-DD` or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`) (string) (optional) `display_time`: Whether the time component is displayed and stored when the attribute type is `pim_catalog_date`. When `true`, filter values may include an ISO 8601 time-of-day (boolean) (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) ' content: application/vnd.akeneo.collection+json: schema: type: string x-body-by-line-schema: type: object properties: code: type: string description: Attribute code x-immutable: true example: release_date type: type: string description: 'Attribute type. See [type](https://api.akeneo.com/concepts/catalog-structure.html#attribute) section for more details. ' 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 x-immutable: true x-validation-rules: The type is one of the following values example: pim_catalog_date labels: type: object description: Attribute labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Attribute label for the specified locale type: - string - 'null' example: Release date x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Release date fr_FR: Date de sortie group: type: string description: Attribute group x-validation-rules: It is the code of an existing group example: marketing group_labels: type: object description: Group labels for each locale readOnly: true default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Group label for the specified locale type: - string - 'null' example: Marketing x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Marketing fr_FR: Marketing sort_order: type: integer description: Order of the attribute in its group default: 0 x-validation-rules: It is a positive integer example: 1 localizable: type: boolean description: Whether the attribute is localizable, i.e. can have one value by locale default: false x-immutable: true example: false scopable: type: boolean description: Whether the attribute is scopable, i.e. can have one value by channel default: false x-immutable: true example: false available_locales: type: array description: To make the attribute locale specfic, specify here for which locales it is specific items: type: string x-validation-rules: Each string of the array is an existing and activated locale example: - en_US - fr_FR unique: type: boolean description: Whether two values for the attribute cannot be the same x-immutable: true x-validation-rules: 'Required to be `true` for `pim_catalog_identifier` attribute type. Can only be `true` for `pim_catalog_text`, `pim_catalog_number`, or `pim_catalog_identifier` attribute types. ' x-warning: 'Only `pim_catalog_text`, `pim_catalog_number`, and `pim_catalog_identifier` attribute types support unique values. The `pim_catalog_identifier` type must always be unique. ' example: false useable_as_grid_filter: type: boolean description: Whether the attribute can be used as a filter for the product grid in the PIM user interface example: true max_characters: type: - integer - 'null' description: 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` x-warning: Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types example: 255 validation_rule: type: - string - 'null' description: Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Equal to `regexp` when the attribute type is equal to `pim_catalog_identifier` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null validation_regexp: type: - string - 'null' description: Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Required when the property `validation_rule` is equal to `regexp` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null wysiwyg_enabled: type: - boolean - 'null' description: Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea` x-warning: Only for `pim_catalog_textarea` attribute type example: null number_min: type: - string - 'null' description: Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null number_max: type: - string - 'null' description: Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null decimals_allowed: type: - boolean - 'null' description: Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null negative_allowed: type: - boolean - 'null' description: Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric` or `pim_catalog_number` attribute types example: null metric_family: type: - string - 'null' description: Metric family when the attribute type is `pim_catalog_metric` x-immutable: true x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null default_metric_unit: type: - string - 'null' description: Default metric unit when the attribute type is `pim_catalog_metric` x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null date_min: type: - string - 'null' description: 'Minimum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2020-01-01' date_max: type: - string - 'null' description: 'Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2030-12-31' display_time: type: - boolean - 'null' description: 'Whether the time component is displayed and stored for values of this attribute. When `true`, filters on this attribute using `pim_catalog_date` values accept ISO 8601 date-times with time-of-day precision. When `false`, the time component of filter values is ignored (the filter matches the full day). ' x-warning: Only for `pim_catalog_date` attribute type example: false allowed_extensions: type: array description: Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image` items: type: string x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: [] max_file_size: type: - string - 'null' description: Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image` x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: null reference_data_name: type: - string - 'null' description: '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` ' x-validation-rules: Required only for `akeneo_reference_entity`or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types x-warning: Only for `akeneo_reference_entity` or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types example: null default_value: oneOf: - type: boolean description: Default value for a Yes/No attribute, applied when creating a new product or product model - type: number description: Default value for a number attribute, applied when creating a new product or product model - type: string description: Default value for a simple select attribute, applied when creating a new product or product model - type: array description: Default value for a multi-select attribute, applied when creating a new product or product model items: type: string - type: 'null' x-validation-rules: 'Can only be set for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types. Must be null for `pim_catalog_identifier`, `pim_catalog_text`, `pim_catalog_textarea`, `pim_catalog_price_collection`, `pim_catalog_file`, `pim_catalog_image`, `pim_catalog_date`, `pim_catalog_metric`, and `pim_reference_data_simpleselect` attribute types. ' x-warning: Only for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types example: null table_configuration: type: array description: Configuration of the Table attribute (columns) items: type: object required: - code - data_type properties: code: type: string description: Column code data_type: type: string enum: - select - text - number - boolean - incremental_number - reference_entity - product_link - measurement - date description: Column data type validations: type: object description: User defined validation constraints on the cell content default: {} properties: min: type: number description: minimum value of a numeric cell x-validation-rules: only for `number` data type columns max: type: number description: maximum value of a numeric cell x-validation-rules: only for `number` data type columns decimals_allowed: type: boolean description: whether the value of a numeric cell can hold a decimal part x-validation-rules: only for `number` data type columns max_length: type: number description: maximum length of a text cell x-validation-rules: only for `text` data type columns labels: type: object description: Column labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Column label for the specified locale type: - string - 'null' example: description x-validation-rules: The `localeCode` is the code of an existing and activated locale is_required_for_completeness: type: boolean description: Defines if the column should be entirely filled for the attribute to be considered complete default: false x-warning: This value is always true for the first column in a table configuration x-validation-rules: Required only for `pim_catalog_table` attribute type x-warning: Only for `pim_catalog_table` attribute type example: [] is_main_identifier: type: boolean description: Is this attribute main identifier when attribute type is `pim_catalog_identifier` example: false is_mandatory: type: boolean description: 'This attribute must be enriched from the moment a product is created. It will be mandatory across all families. ' x-warning: 'Only for `pim_catalog_boolean`, `pim_catalog_identifier`, `pim_catalog_number`, `pim_catalog_simpleselect`, `pim_catalog_textarea`, `pim_catalog_text`, `pim_reference_data_simpleselect` or `akeneo_reference_entity` attribute types ' example: false is_pinned: type: boolean description: 'This attribute is pinned, so that it is surfaced first in the product edit form whatever the family it belongs to. ' example: false color_configuration: type: - object - 'null' description: The tints used to render this attribute's values, `null` when no tint has been configured x-warning: Only for `pim_catalog_boolean` attribute type properties: yes_color: type: string description: The tint used to render a `true` value example: green no_color: type: string description: The tint used to render a `false` value example: red example: null decimal_places_strategy: type: - string - 'null' description: 'Defines the decimal places strategy. Available options are `round`, `forbid` and `trim`. ' x-warning: Only for `pim_catalog_number` or `pim_catalog_metric` attribute types example: null decimal_places: type: - number - 'null' description: Defines the number of decimal places when decimal places strategy is `round` or `forbid` x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: null enable_option_creation_during_import: type: - boolean - 'null' description: '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` ' x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: false max_items_count: type: - number - 'null' description: Maximum number of items allowed in an asset collection when the attribute type is `pim_catalog_asset_collection` x-warning: Only for `pim_catalog_asset_collection` attribute types example: null example: '{"code":"description","useable_as_grid_filter":true} {"code":"short_description","group":"marketig"} {"code":"release_date","date_min":"2017-06-28T08:00:00"} ' responses: '200': description: Returns a plain text response whose lines are JSON containing the status of each update or creation x-no-entity: true 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":"description","status_code":201} {"line":2,"code":"short_description","status_code":422,"message":"Group \"marketig\" does not exist."} {"line":3,"code":"release_date","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/attributes/{code}: get: operationId: get_attribute_by_code x-visibility: public summary: Get an attribute description: This endpoint allows you to get the information about a given attribute tags: - Attribute 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 - in: query name: with_table_select_options description: 'Return the options of ''select'' column types (of a table attribute) in the response. When set to `true`, the response will include all available options for select-type columns in table attributes. This is useful for retrieving all available options for select-type columns in table attributes, which is essential for form rendering and data validation. If set to `false`, the response will not include select options, which can improve performance. ' required: false schema: type: boolean default: false example: true responses: '200': description: Returns the content of the attribute in JSON standard format content: application/json: schema: type: object properties: code: type: string description: Attribute code x-immutable: true example: release_date type: type: string description: 'Attribute type. See [type](https://api.akeneo.com/concepts/catalog-structure.html#attribute) section for more details. ' 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 x-immutable: true x-validation-rules: The type is one of the following values example: pim_catalog_date labels: type: object description: Attribute labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Attribute label for the specified locale type: - string - 'null' example: Release date x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Release date fr_FR: Date de sortie group: type: string description: Attribute group x-validation-rules: It is the code of an existing group example: marketing group_labels: type: object description: Group labels for each locale readOnly: true default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Group label for the specified locale type: - string - 'null' example: Marketing x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Marketing fr_FR: Marketing sort_order: type: integer description: Order of the attribute in its group default: 0 x-validation-rules: It is a positive integer example: 1 localizable: type: boolean description: Whether the attribute is localizable, i.e. can have one value by locale default: false x-immutable: true example: false scopable: type: boolean description: Whether the attribute is scopable, i.e. can have one value by channel default: false x-immutable: true example: false available_locales: type: array description: To make the attribute locale specfic, specify here for which locales it is specific items: type: string x-validation-rules: Each string of the array is an existing and activated locale example: - en_US - fr_FR unique: type: boolean description: Whether two values for the attribute cannot be the same x-immutable: true x-validation-rules: 'Required to be `true` for `pim_catalog_identifier` attribute type. Can only be `true` for `pim_catalog_text`, `pim_catalog_number`, or `pim_catalog_identifier` attribute types. ' x-warning: 'Only `pim_catalog_text`, `pim_catalog_number`, and `pim_catalog_identifier` attribute types support unique values. The `pim_catalog_identifier` type must always be unique. ' example: false useable_as_grid_filter: type: boolean description: Whether the attribute can be used as a filter for the product grid in the PIM user interface example: true max_characters: type: - integer - 'null' description: 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` x-warning: Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types example: 255 validation_rule: type: - string - 'null' description: Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Equal to `regexp` when the attribute type is equal to `pim_catalog_identifier` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null validation_regexp: type: - string - 'null' description: Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Required when the property `validation_rule` is equal to `regexp` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null wysiwyg_enabled: type: - boolean - 'null' description: Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea` x-warning: Only for `pim_catalog_textarea` attribute type example: null number_min: type: - string - 'null' description: Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null number_max: type: - string - 'null' description: Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null decimals_allowed: type: - boolean - 'null' description: Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null negative_allowed: type: - boolean - 'null' description: Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric` or `pim_catalog_number` attribute types example: null metric_family: type: - string - 'null' description: Metric family when the attribute type is `pim_catalog_metric` x-immutable: true x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null default_metric_unit: type: - string - 'null' description: Default metric unit when the attribute type is `pim_catalog_metric` x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null date_min: type: - string - 'null' description: 'Minimum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2020-01-01' date_max: type: - string - 'null' description: 'Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2030-12-31' display_time: type: - boolean - 'null' description: 'Whether the time component is displayed and stored for values of this attribute. When `true`, filters on this attribute using `pim_catalog_date` values accept ISO 8601 date-times with time-of-day precision. When `false`, the time component of filter values is ignored (the filter matches the full day). ' x-warning: Only for `pim_catalog_date` attribute type example: false allowed_extensions: type: array description: Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image` items: type: string x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: [] max_file_size: type: - string - 'null' description: Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image` x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: null reference_data_name: type: - string - 'null' description: '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` ' x-validation-rules: Required only for `akeneo_reference_entity`or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types x-warning: Only for `akeneo_reference_entity` or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types example: null default_value: oneOf: - type: boolean description: Default value for a Yes/No attribute, applied when creating a new product or product model - type: number description: Default value for a number attribute, applied when creating a new product or product model - type: string description: Default value for a simple select attribute, applied when creating a new product or product model - type: array description: Default value for a multi-select attribute, applied when creating a new product or product model items: type: string - type: 'null' x-validation-rules: 'Can only be set for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types. Must be null for `pim_catalog_identifier`, `pim_catalog_text`, `pim_catalog_textarea`, `pim_catalog_price_collection`, `pim_catalog_file`, `pim_catalog_image`, `pim_catalog_date`, `pim_catalog_metric`, and `pim_reference_data_simpleselect` attribute types. ' x-warning: Only for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types example: null table_configuration: type: array description: Configuration of the Table attribute (columns) items: type: object required: - code - data_type properties: code: type: string description: Column code data_type: type: string enum: - select - text - number - boolean - incremental_number - reference_entity - product_link - measurement - date description: Column data type validations: type: object description: User defined validation constraints on the cell content default: {} properties: min: type: number description: minimum value of a numeric cell x-validation-rules: only for `number` data type columns max: type: number description: maximum value of a numeric cell x-validation-rules: only for `number` data type columns decimals_allowed: type: boolean description: whether the value of a numeric cell can hold a decimal part x-validation-rules: only for `number` data type columns max_length: type: number description: maximum length of a text cell x-validation-rules: only for `text` data type columns labels: type: object description: Column labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Column label for the specified locale type: - string - 'null' example: description x-validation-rules: The `localeCode` is the code of an existing and activated locale is_required_for_completeness: type: boolean description: Defines if the column should be entirely filled for the attribute to be considered complete default: false x-warning: This value is always true for the first column in a table configuration x-validation-rules: Required only for `pim_catalog_table` attribute type x-warning: Only for `pim_catalog_table` attribute type example: [] is_main_identifier: type: boolean description: Is this attribute main identifier when attribute type is `pim_catalog_identifier` example: false is_mandatory: type: boolean description: 'This attribute must be enriched from the moment a product is created. It will be mandatory across all families. ' x-warning: 'Only for `pim_catalog_boolean`, `pim_catalog_identifier`, `pim_catalog_number`, `pim_catalog_simpleselect`, `pim_catalog_textarea`, `pim_catalog_text`, `pim_reference_data_simpleselect` or `akeneo_reference_entity` attribute types ' example: false is_pinned: type: boolean description: 'This attribute is pinned, so that it is surfaced first in the product edit form whatever the family it belongs to. ' example: false color_configuration: type: - object - 'null' description: The tints used to render this attribute's values, `null` when no tint has been configured x-warning: Only for `pim_catalog_boolean` attribute type properties: yes_color: type: string description: The tint used to render a `true` value example: green no_color: type: string description: The tint used to render a `false` value example: red example: null decimal_places_strategy: type: - string - 'null' description: 'Defines the decimal places strategy. Available options are `round`, `forbid` and `trim`. ' x-warning: Only for `pim_catalog_number` or `pim_catalog_metric` attribute types example: null decimal_places: type: - number - 'null' description: Defines the number of decimal places when decimal places strategy is `round` or `forbid` x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: null enable_option_creation_during_import: type: - boolean - 'null' description: '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` ' x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: false max_items_count: type: - number - 'null' description: Maximum number of items allowed in an asset collection when the attribute type is `pim_catalog_asset_collection` x-warning: Only for `pim_catalog_asset_collection` attribute types example: null example: 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 '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_attribute_by_code x-visibility: public summary: Update/create an attribute description: 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. tags: - Attribute 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: "The attribute to update or create. \nIf the attribute does not exist, it will be created.\n" content: application/json: schema: type: object properties: code: type: string description: Attribute code x-immutable: true example: release_date type: type: string description: 'Attribute type. See [type](https://api.akeneo.com/concepts/catalog-structure.html#attribute) section for more details. ' 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 x-immutable: true x-validation-rules: The type is one of the following values example: pim_catalog_date labels: type: object description: Attribute labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Attribute label for the specified locale type: - string - 'null' example: Release date x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Release date fr_FR: Date de sortie group: type: string description: Attribute group x-validation-rules: It is the code of an existing group example: marketing group_labels: type: object description: Group labels for each locale readOnly: true default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Group label for the specified locale type: - string - 'null' example: Marketing x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Marketing fr_FR: Marketing sort_order: type: integer description: Order of the attribute in its group default: 0 x-validation-rules: It is a positive integer example: 1 localizable: type: boolean description: Whether the attribute is localizable, i.e. can have one value by locale default: false x-immutable: true example: false scopable: type: boolean description: Whether the attribute is scopable, i.e. can have one value by channel default: false x-immutable: true example: false available_locales: type: array description: To make the attribute locale specfic, specify here for which locales it is specific items: type: string x-validation-rules: Each string of the array is an existing and activated locale example: - en_US - fr_FR unique: type: boolean description: Whether two values for the attribute cannot be the same x-immutable: true x-validation-rules: 'Required to be `true` for `pim_catalog_identifier` attribute type. Can only be `true` for `pim_catalog_text`, `pim_catalog_number`, or `pim_catalog_identifier` attribute types. ' x-warning: 'Only `pim_catalog_text`, `pim_catalog_number`, and `pim_catalog_identifier` attribute types support unique values. The `pim_catalog_identifier` type must always be unique. ' example: false useable_as_grid_filter: type: boolean description: Whether the attribute can be used as a filter for the product grid in the PIM user interface example: true max_characters: type: - integer - 'null' description: 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` x-warning: Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types example: 255 validation_rule: type: - string - 'null' description: Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Equal to `regexp` when the attribute type is equal to `pim_catalog_identifier` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null validation_regexp: type: - string - 'null' description: Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier` x-validation-rules: Required when the property `validation_rule` is equal to `regexp` x-warning: Only for `pim_catalog_text` or `pim_catalog_identifier` attribute types example: null wysiwyg_enabled: type: - boolean - 'null' description: Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea` x-warning: Only for `pim_catalog_textarea` attribute type example: null number_min: type: - string - 'null' description: Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null number_max: type: - string - 'null' description: Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null decimals_allowed: type: - boolean - 'null' description: Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types example: null negative_allowed: type: - boolean - 'null' description: Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number` x-warning: Only for `pim_catalog_metric` or `pim_catalog_number` attribute types example: null metric_family: type: - string - 'null' description: Metric family when the attribute type is `pim_catalog_metric` x-immutable: true x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null default_metric_unit: type: - string - 'null' description: Default metric unit when the attribute type is `pim_catalog_metric` x-validation-rules: Required for `pim_catalog_metric` attribute type x-warning: Only for `pim_catalog_metric` attribute type example: null date_min: type: - string - 'null' description: 'Minimum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2020-01-01' date_max: type: - string - 'null' description: 'Maximum date allowed when the attribute type is `pim_catalog_date`. Accepts a date in `YYYY-MM-DD` format or an ISO 8601 date-time (`YYYY-MM-DDTHH:MM:SS+00:00` or `YYYY-MM-DDTHH:MM:SSZ`). ' x-validation-rules: Must be a `YYYY-MM-DD` date or an ISO 8601 date-time (with `+00:00` offset or `Z` suffix) x-warning: Only for `pim_catalog_date` attribute type example: '2030-12-31' display_time: type: - boolean - 'null' description: 'Whether the time component is displayed and stored for values of this attribute. When `true`, filters on this attribute using `pim_catalog_date` values accept ISO 8601 date-times with time-of-day precision. When `false`, the time component of filter values is ignored (the filter matches the full day). ' x-warning: Only for `pim_catalog_date` attribute type example: false allowed_extensions: type: array description: Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image` items: type: string x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: [] max_file_size: type: - string - 'null' description: Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image` x-warning: Only for `pim_catalog_file` or `pim_catalog_image` attribute types example: null reference_data_name: type: - string - 'null' description: '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` ' x-validation-rules: Required only for `akeneo_reference_entity`or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types x-warning: Only for `akeneo_reference_entity` or `akeneo_reference_entity_collection` or `pim_catalog_asset_collection` attribute types example: null default_value: oneOf: - type: boolean description: Default value for a Yes/No attribute, applied when creating a new product or product model - type: number description: Default value for a number attribute, applied when creating a new product or product model - type: string description: Default value for a simple select attribute, applied when creating a new product or product model - type: array description: Default value for a multi-select attribute, applied when creating a new product or product model items: type: string - type: 'null' x-validation-rules: 'Can only be set for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types. Must be null for `pim_catalog_identifier`, `pim_catalog_text`, `pim_catalog_textarea`, `pim_catalog_price_collection`, `pim_catalog_file`, `pim_catalog_image`, `pim_catalog_date`, `pim_catalog_metric`, and `pim_reference_data_simpleselect` attribute types. ' x-warning: Only for `pim_catalog_boolean`, `pim_catalog_number`, `pim_catalog_simpleselect`, or `pim_catalog_multiselect` attribute types example: null table_configuration: type: array description: Configuration of the Table attribute (columns) items: type: object required: - code - data_type properties: code: type: string description: Column code data_type: type: string enum: - select - text - number - boolean - incremental_number - reference_entity - product_link - measurement - date description: Column data type validations: type: object description: User defined validation constraints on the cell content default: {} properties: min: type: number description: minimum value of a numeric cell x-validation-rules: only for `number` data type columns max: type: number description: maximum value of a numeric cell x-validation-rules: only for `number` data type columns decimals_allowed: type: boolean description: whether the value of a numeric cell can hold a decimal part x-validation-rules: only for `number` data type columns max_length: type: number description: maximum length of a text cell x-validation-rules: only for `text` data type columns labels: type: object description: Column labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Column label for the specified locale type: - string - 'null' example: description x-validation-rules: The `localeCode` is the code of an existing and activated locale is_required_for_completeness: type: boolean description: Defines if the column should be entirely filled for the attribute to be considered complete default: false x-warning: This value is always true for the first column in a table configuration x-validation-rules: Required only for `pim_catalog_table` attribute type x-warning: Only for `pim_catalog_table` attribute type example: [] is_main_identifier: type: boolean description: Is this attribute main identifier when attribute type is `pim_catalog_identifier` example: false is_mandatory: type: boolean description: 'This attribute must be enriched from the moment a product is created. It will be mandatory across all families. ' x-warning: 'Only for `pim_catalog_boolean`, `pim_catalog_identifier`, `pim_catalog_number`, `pim_catalog_simpleselect`, `pim_catalog_textarea`, `pim_catalog_text`, `pim_reference_data_simpleselect` or `akeneo_reference_entity` attribute types ' example: false is_pinned: type: boolean description: 'This attribute is pinned, so that it is surfaced first in the product edit form whatever the family it belongs to. ' example: false color_configuration: type: - object - 'null' description: The tints used to render this attribute's values, `null` when no tint has been configured x-warning: Only for `pim_catalog_boolean` attribute type properties: yes_color: type: string description: The tint used to render a `true` value example: green no_color: type: string description: The tint used to render a `false` value example: red example: null decimal_places_strategy: type: - string - 'null' description: 'Defines the decimal places strategy. Available options are `round`, `forbid` and `trim`. ' x-warning: Only for `pim_catalog_number` or `pim_catalog_metric` attribute types example: null decimal_places: type: - number - 'null' description: Defines the number of decimal places when decimal places strategy is `round` or `forbid` x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: null enable_option_creation_during_import: type: - boolean - 'null' description: '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` ' x-warning: Only for `pim_catalog_simpleselect` or `pim_catalog_multiselect` attribute types example: false max_items_count: type: - number - 'null' description: Maximum number of items allowed in an asset collection when the attribute type is `pim_catalog_asset_collection` x-warning: Only for `pim_catalog_asset_collection` attribute types example: null example: 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 required: true responses: '201': description: Successfully created or updated, empty response body '204': description: Successfully patched, response with empty body '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)