openapi: 3.2.0 info: title: Akeneo API REFERENCE Family variant 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: Family variant description: 'A family variant is a specific type of family that allows you to create variants of a product model. It allows you to define the attributes and values that are specific to the variants of a product model. Family variants are used to manage the relationships between product models and their variants.' paths: /api/rest/v1/families/{family_code}/variants: get: operationId: get_family_variants x-visibility: public summary: Get list of family variants description: 'This endpoint allows you to get a list of family variants. Family variants are paginated and sorted by code.' tags: - Family variant security: - bearerToken: [] parameters: - in: path name: family_code description: 'This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. ' required: true schema: type: string example: caps - in: query name: page description: 'Specify which page of results to retrieve when using pagination. It is useful for navigating through large datasets by breaking them into smaller, manageable pages. See [Pagination](https://api.akeneo.com/documentation/pagination.html) section for more details. ' required: false schema: type: integer default: 1 example: 1 - in: query name: limit description: 'Specify the maximum number of results to return per page. It is useful for controlling the amount of data returned in a single request, especially when dealing with large datasets. See [Pagination](https://api.akeneo.com/documentation/pagination.html) section for more details. ' required: false schema: type: integer default: 10 minimum: 1 maximum: 100 example: 100 - in: query name: with_count description: 'Return the count of items in the response. Be careful with that, on a big catalog, it can decrease performance in a significant way. It is useful for understanding the size of the dataset being returned, especially when dealing with large collections. Use it judiciously to avoid performance issues. ' required: false schema: type: boolean default: false example: true responses: '200': description: 'Return family variants paginated. The response is paginated and includes links to navigate through the pages. ' content: application/json: schema: title: Family Variants 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/families/familyA/variants/shoesVariant - type: object properties: code: type: string description: Family variant code example: shoesVariant common_attributes: type: array description: Codes of attributes that are common to all variants (not specific to any enrichment level) items: type: string default: [] example: - name - description - image variant_attribute_sets: type: array description: Attributes distribution according to the enrichment level items: type: object required: - level - axes description: Enrichment level properties: level: type: integer description: Enrichment level axes: type: array description: Codes of attributes used as variant axes items: type: string default: [] attributes: type: array description: Codes of attributes bind to this enrichment level items: type: string default: [] example: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size labels: type: object description: Family variant labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family variant label for the specified locale type: - string - 'null' example: Shoes variant example: en_US: Shoes variant fr_FR: Variante de chaussures example: _links: self: href: https://demo.akeneo.com/api/rest/v1/families/familyA/variants?page=2&limit=10&with_count=true first: href: https://demo.akeneo.com/api/rest/v1/families/familyA/variants?page=1&limit=10&with_count=true previous: href: https://demo.akeneo.com/api/rest/v1/families/familyA/variants?page=1&limit=10&with_count=true next: href: https://demo.akeneo.com/api/rest/v1/families/familyA/variants?page=3&limit=10&with_count=true current_page: 1 items_count: 10 _embedded: items: - _links: self: href: https://demo.akeneo.com/api/rest/v1/families/familyA/variants/shoesVariant code: shoesVariant labels: en_US: Shoes variant fr_FR: Variante de chaussures common_attributes: - name - description - image variant_attribute_sets: - level: 1 axes: - color attributes: - color - material - level: 2 axes: - size attributes: - sku - size '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. post: operationId: post_family_variant x-visibility: public summary: Create a new family variant description: This endpoint allows you to create a family variant tags: - Family variant security: - bearerToken: [] parameters: - in: path name: family_code description: 'This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. ' required: true schema: type: string example: caps requestBody: description: The body should contain a family variant in JSON standard format content: application/json: schema: type: object required: - code - variant_attribute_sets properties: code: type: string description: Family variant code x-immutable: true example: shoesVariant variant_attribute_sets: type: array description: Attributes distribution according to the enrichment level items: type: object required: - level - axes description: Enrichment level properties: level: type: integer description: Enrichment level x-immutable: true x-validation-rules: '- Number representing the level of the attribute set. - It should be equal to 1 or 2. - If you specify the level 2, you have to specify the level 1 as well. ' axes: type: array description: Codes of attributes used as variant axes items: type: string default: [] x-immutable: true x-validation-rules: '- Should be an array of maximum 5 existing attribute codes. - These attributes should belong to the family of the family variant. - Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean`. - Attributes cannot be scopable, nor localizable nor locale specific. - Attributes used as axes in one level cannot be used as axes or as attributes in the other level. ' attributes: type: array description: Codes of attributes bind to this enrichment level items: type: string default: [] x-validation-rules: '- Should be an array of existing attribute codes. - These attributes should belong to the family of the family variant. - Attributes used as attribute in one level cannot be used as axes or as attributes in the other level. - Attributes that are `unique value` or `identifier` are automatically distributed to the lower level. ' example: - level: 1 axes: - color attributes: - material - level: 2 axes: - size attributes: - sku labels: type: object description: Family variant labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family variant label for the specified locale type: - string - 'null' example: Shoes variant x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Shoes variant fr_FR: Variante de chaussures example: code: shoesVariant labels: en_US: Shoes variant fr_FR: Variante de chaussures variant_attribute_sets: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size responses: '201': description: 'This response indicates that the entity was successfully created. The server has fulfilled the request and created a new resource. The response includes a `Location` header that contains the URI of the newly created resource. ' headers: Location: description: URI of the created resource schema: type: string '400': description: 'This response indicates that the server cannot process the request due to a client error, such as malformed request syntax, invalid request message framing, or deceptive request routing. It is typically used when the server cannot understand the request due to invalid JSON or other client-side issues. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 400 message: Invalid JSON message received '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '415': description: 'This response indicates that the `Content-type` header of the request is not supported by the server. The server expects the `Content-type` header to be `application/json`, and any other value will result in this error. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 415 message: xxx in `Content-type` header is not valid. Only `application/json` is allowed." '422': description: 'This response indicates that the validation of the entity given in the body of the request failed. It occurs when the 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_family_variants x-visibility: public summary: Update/create several family variants description: This endpoint allows you to update and/or create several family variants at once tags: - Family variant security: - bearerToken: [] parameters: - in: path name: family_code description: 'This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. ' required: true schema: type: string example: caps x-body-by-line: Contains several lines, each line is a family in JSON standard format requestBody: description: "Body containing the family variants to update or create.\nEach line is a JSON object representing a family variant.\nEach object contains the following properties:\n - `code`: Family variant code (string) (mandatory)\n - `variant_attribute_sets`: Attributes distribution according to the enrichment level (array) (mandatory)\n - `labels`: Family variant labels for each locale (object) (optional)\n" content: application/vnd.akeneo.collection+json: schema: type: string x-body-by-line-schema: type: object required: - variant_attribute_sets properties: code: type: string description: Family variant code x-immutable: true example: shoesVariant variant_attribute_sets: type: array description: Attributes distribution according to the enrichment level items: type: object required: - level - axes description: Enrichment level properties: level: type: integer description: Enrichment level x-immutable: true x-validation-rules: '- Number representing the level of the attribute set. - It should be equal to 1 or 2. - If you specify the level 2, you have to specify the level 1 as well. ' axes: type: array description: Codes of attributes used as variant axes items: type: string default: [] x-immutable: true x-validation-rules: '- Should be an array of maximum 5 existing attribute codes. - These attributes should belong to the family of the family variant. - Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean`. - Attributes cannot be scopable, nor localizable nor locale specific. - Attributes used as axes in one level cannot be used as axes or as attributes in the other level. ' attributes: type: array description: Codes of attributes bind to this enrichment level items: type: string default: [] x-validation-rules: '- Should be an array of existing attribute codes. - These attributes should belong to the family of the family variant. - Attributes used as attribute in one level cannot be used as axes or asattributes in the other level. - Attributes that are `unique value` or `identifier` are automatically distributed to the lower level. ' example: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size labels: type: object description: Family variant labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family variant label for the specified locale type: - string - 'null' example: Shoes variant x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Shoes variant fr_FR: Variante de chaussures example: '{"code": "shoes_by_size", "variant_attribute_sets": [{"level": 1, "axes": ["size"], "attributes": ["color"]}]} {"code": "shoes_by_color","labels": {"en_US": "Shoes by color"}} {"code": "shoes_without_axes", "variant_attribute_sets": [{"level": 1, "axes": [], "attributes": ["color"]}]} ' 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":"shoes_by_size","status_code":201} {"line":2,"code":"shoes_by_color","status_code":204} {"line":3,"code":"mug","status_code":422, "message":"There should be at least one attribute defined as axis for the attribute set for level \"1\""} ' '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/families/{family_code}/variants/{code}: get: operationId: get_family_variant_by_code x-visibility: public summary: Get a family variant description: This endpoint allows you to get the information about a given family variant tags: - Family variant security: - bearerToken: [] parameters: - in: path name: family_code description: 'This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. ' required: true schema: type: string example: caps - in: path name: code description: 'This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. ' required: true schema: type: string example: my_entity_code responses: '200': description: Returns the content of the family variant in JSON standard format content: application/json: schema: type: object properties: code: type: string description: Family variant code example: shoesVariant common_attributes: type: array description: Codes of attributes that are common to all variants (not specific to any enrichment level) items: type: string default: [] example: - name - description - image variant_attribute_sets: type: array description: Attributes distribution according to the enrichment level items: type: object required: - level - axes description: Enrichment level properties: level: type: integer description: Enrichment level axes: type: array description: Codes of attributes used as variant axes items: type: string default: [] attributes: type: array description: Codes of attributes bind to this enrichment level items: type: string default: [] example: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size labels: type: object description: Family variant labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family variant label for the specified locale type: - string - 'null' example: Shoes variant example: en_US: Shoes variant fr_FR: Variante de chaussures example: code: shoesVariant labels: en_US: Shoes variant fr_FR: Variante de chaussures common_attributes: - name - description variant_attribute_sets: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size '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_family_variant_by_code x-visibility: public summary: Update/create a family variant description: 'This endpoint allows you to update a given family variant. Know more about Update behavior. Note that if no family variant exists for the given code, it creates it.' tags: - Family variant security: - bearerToken: [] parameters: - in: path name: family_code description: 'This path parameter is used to specify the unique identifier of the family you want to retrieve or manipulate. It is essential for identifying the specific family in the API requests. Ensure that the family code is correctly formatted and corresponds to an existing family in the system. ' required: true schema: type: string example: caps - 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: Family variants to update or create content: application/json: schema: type: object required: - variant_attribute_sets properties: code: type: string description: Family variant code x-immutable: true example: shoesVariant variant_attribute_sets: type: array description: Attributes distribution according to the enrichment level items: type: object required: - level - axes description: Enrichment level properties: level: type: integer description: Enrichment level x-immutable: true x-validation-rules: '- Number representing the level of the attribute set. - It should be equal to 1 or 2. - If you specify the level 2, you have to specify the level 1 as well. ' axes: type: array description: Codes of attributes used as variant axes items: type: string default: [] x-immutable: true x-validation-rules: '- Should be an array of maximum 5 existing attribute codes. - These attributes should belong to the family of the family variant. - Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean`. - Attributes cannot be scopable, nor localizable nor locale specific. - Attributes used as axes in one level cannot be used as axes or as attributes in the other level. ' attributes: type: array description: Codes of attributes bind to this enrichment level items: type: string default: [] x-validation-rules: '- Should be an array of existing attribute codes. - These attributes should belong to the family of the family variant. - Attributes used as attribute in one level cannot be used as axes or asattributes in the other level. - Attributes that are `unique value` or `identifier` are automatically distributed to the lower level. ' example: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size labels: type: object description: Family variant labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family variant label for the specified locale type: - string - 'null' example: Shoes variant x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Shoes variant fr_FR: Variante de chaussures example: code: shoesVariant labels: en_US: Shoes variant fr_FR: Variante de chaussures variant_attribute_sets: - level: 1 attributes: - color - material axes: - color - level: 2 attributes: - sku - size axes: - size required: true responses: '201': description: 'This response indicates that the entity was successfully created. The server has fulfilled the request and created a new resource. The response includes a `Location` header that contains the URI of the newly created resource. ' headers: Location: description: URI of the created resource schema: type: string '204': description: 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)