openapi: 3.2.0 info: title: Akeneo API REFERENCE Family 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 description: 'A family is a set of attributes that are shared by products belonging to this family. In other words, a family can be considered as a template for products. A product family can use all of the attributes available in the PIM. Several families of products can use the same attributes.' paths: /api/rest/v1/families: get: operationId: get_families x-visibility: public summary: Get list of families description: 'This endpoint allows you to get a list of families. Families are paginated and sorted by code.' tags: - Family security: - bearerToken: [] parameters: - name: search in: query description: 'The `search` query parameter allows you to filter families based on specific criteria. For more details see the [Filters section](https://api.akeneo.com/documentation/filter.html#filter-families). ' required: false schema: type: string examples: getFamiliesByCode: summary: Filter the families by their code value: '{"code":[{"operator":"IN","value":["family_code1","family_code2"]}]}' getFamiliesByUpdatedDate: summary: Filter the families by their update date value: '{"updated":[{"operator":">","value":"2020-07-04T10:00:00Z"}]}' getOnlyFamiliesWithProducts: summary: Filter the families that have at least one attached product value: '{"has_products":[{"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 responses: '200': description: 'Return family variants paginated. The response is paginated and includes links to navigate through the pages. ' content: application/json: schema: title: Families 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/tshirt - type: object required: - code - attribute_as_label properties: code: type: string description: Family code readOnly: true example: caps attribute_as_label: type: string description: Attribute code used as label example: short_description attribute_as_image: type: - string - 'null' description: Attribute code used as the main picture in the user interface example: picture attributes: type: array description: Attribute codes that compose the family items: type: string example: - sku - name - description - price - color - picture attribute_requirements: type: object description: Attribute codes of the family that are required for the completeness calculation for each channel additionalProperties: type: array items: type: string description: Attribute code required for the channel example: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: type: object description: Family labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family label for the specified locale type: - string - 'null' example: Caps example: en_US: Caps fr_FR: Casquettes parent: type: - string - 'null' description: The parent family code. If the family has no parent, this field is `null` example: accessories example: _links: self: href: https://demo.akeneo.com/api/rest/v1/families?page=2&limit=2&with_count=true first: href: https://demo.akeneo.com/api/rest/v1/families?page=1&limit=2&with_count=true previous: href: https://demo.akeneo.com/api/rest/v1/families?page=1&limit=2&with_count=true next: href: https://demo.akeneo.com/api/rest/v1/families?page=3&limit=2&with_count=true current_page: 2 items_count: 10 _embedded: items: - _links: self: href: https://demo.akeneo.com/api/rest/v1/families/tshirt code: tshirt attributes: - sku - name - description - price - size - color - picture attribute_as_label: name attribute_as_image: picture attribute_requirements: ecommerce: - sku - name - description - price - size - color tablet: - sku - name - description - price labels: en_US: Tshirt fr_FR: Tshirt parent: null - _links: self: href: https://demo.akeneo.com/api/rest/v1/families/caps code: caps attributes: - sku - name - description - price - color - picture attribute_as_label: name attribute_as_image: picture attribute_requirements: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: en_US: Caps fr_FR: Casquettes parent: accessories '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. post: operationId: post_family x-visibility: public summary: Create a new family description: This endpoint allows you to create a new family tags: - Family security: - bearerToken: [] parameters: - in: header name: Content-Type description: 'This header indicates the media type of the resource being sent to the server. It is used to specify the format of the request body, allowing the server to correctly interpret the data being sent. Equal to ''application/json'' or ''application/x-www-form-urlencoded'', no other value allowed. ' required: true schema: type: string default: application/json example: application/json requestBody: description: The family to be created required: true content: application/json: schema: required: - code type: object properties: code: type: string description: Family code x-immutable: true example: camcorders attribute_as_label: type: string description: Attribute code used as label x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`. ' example: short_description attribute_as_image: type: - string - 'null' description: Attribute code used as the main picture in the user interface x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is `pim_catalog_image` or `pim_assets_collection`. ' example: picture attributes: type: array description: Attribute codes that compose the family. Each string in the array must be an existing attribute code items: type: string x-validation-rules: Each string of the array is an existing attribute code example: - sku - name - description - price - color - picture attribute_requirements: type: object description: Attribute codes of the family that are required for the completeness calculation for each channel additionalProperties: type: array items: type: string description: Attribute code required for the channel x-validation-rules: '- Each string of these arrays is an existing attribute code. - These attribute codes are in the array of the property `attributes`. - The `channelCode` is the code of an existing and activated channel. ' example: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: type: object description: Family labels for each locale. The `localeCode` must be the code of an existing and activated locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family label for the specified locale. type: - string - 'null' example: Caps x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Caps fr_FR: Casquettes parent: type: - string - 'null' description: The code of the parent family. If not provided, the family is a root family x-validation-rules: It is equal to an existing family code example: clothing example: code: caps attributes: - sku - name - description - price - color - picture - material attribute_as_label: name attribute_as_image: picture, attribute_requirements: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: en_US: Caps fr_FR: Casquettes parent: null responses: '201': description: 'This response indicates that the entity was successfully created. The server has fulfilled the request and created a new resource. The response includes a `Location` header that contains the URI of the newly created resource. ' headers: Location: description: URI of the created resource schema: type: string '400': description: 'This response indicates that the server cannot process the request due to a client error, such as malformed request syntax, invalid request message framing, or deceptive request routing. It is typically used when the server cannot understand the request due to invalid JSON or other client-side issues. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 400 message: Invalid JSON message received '401': description: 'This response indicates that authentication is required to access the requested resource. It can be caused by a missing or expired token, or if the provided credentials are invalid. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 401 message: Full authentication is required to access this resource. '403': description: 'This response indicates that the request is not authorized. This can occur when the user lacks the necessary permissions to access a resource or perform an action, or when the request payload is too large for the platform to process. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 403 message: Access forbidden. You are not allowed to list this entity. '415': description: 'This response indicates that the `Content-type` header of the request is not supported by the server. The server expects the `Content-type` header to be `application/json`, and any other value will result in this error. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Full authentication is required to access this resource. example: code: 415 message: xxx in `Content-type` header is not valid. Only `application/json` is allowed." '422': description: 'This response indicates that the validation of the entity given in the body of the request failed. It occurs when the data provided does not meet the required format or constraints defined by the API, and includes a link to the documentation for reference. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: type: object properties: documentation: type: object properties: href: type: string example: http://api.akeneo.com/api-reference.html example: code: 422 message: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: documentation: href: http://api.akeneo.com/api-reference.html patch: operationId: patch_families x-visibility: public summary: Update/create several families description: This endpoint allows you to update and/or create several families at once tags: - Family security: - bearerToken: [] parameters: - name: Content-Type in: header required: true description: The content type of the request schema: type: string enum: - application/vnd.akeneo.collection+json x-body-by-line: Contains several lines, each line is a family in JSON standard format requestBody: description: "Body containing the families to update or create.\nEach line is a JSON object representing a family.\nEach object contains the following properties:\n - `code`: Family code (string) (mandatory)\n - `attribute_as_label`: Attribute code used as label (string) (optional)\n - `attribute_as_image`: Attribute code used as the main picture in the user interface (string) (optional)\n - `attributes`: Attribute codes that compose the family. Each string in the array must be an existing attribute code (array of strings) (optional)\n - `attribute_requirements`: Attribute codes of the family that are required for the completeness calculation for each channel (object) (optional)\n - `labels`: Family labels for each locale. The `localeCode` must be the code of an existing and activated locale (object) (optional)\n - `parent`: The code of the parent family. If not provided, the family is a root family (string) (optional)\n" required: true content: application/vnd.akeneo.collection+json: schema: type: string x-body-by-line-schema: type: object properties: code: type: string description: Family code x-immutable: true example: camcorders attribute_as_label: type: string description: Attribute code used as label x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`. ' example: short_description attribute_as_image: type: - string - 'null' description: Attribute code used as the main picture in the user interface x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is `pim_catalog_image` or `pim_assets_collection`. ' example: picture attributes: type: array description: Attribute codes that compose the family. Each string in the array must be an existing attribute code items: type: string x-validation-rules: Each string of the array is an existing attribute code example: - sku - name - description - price - color - picture attribute_requirements: type: object description: Attribute codes of the family that are required for the completeness calculation for each channel additionalProperties: type: array items: type: string description: Attribute code required for the channel x-validation-rules: '- Each string of these arrays is an existing attribute code. - These attribute codes are in the array of the property `attributes`. - The `channelCode` is the code of an existing and activated channel. ' example: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: type: object description: Family labels for each locale. The `localeCode` must be the code of an existing and activated locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family label for the specified locale. type: - string - 'null' example: Caps x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Caps fr_FR: Casquettes parent: type: - string - 'null' description: The code of the parent family. If not provided, the family is a root family x-validation-rules: It is equal to an existing family code example: clothing example: '{ "code": "tshirt","attribute_as_label": "description","attributes": [ "description","size" ] } { "code": "cap","attribute_as_label": "descripion" } { "code": "mug","attributes": [ "description","short_description" ] } ' 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":"camcorders","status_code":201} {"line":2,"code":"cap","status_code":422,"message":"Attribute \"descripion\" does not exist."} {"line":3,"code":"clothes","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/families/{code}: get: operationId: get_family_by_code x-visibility: public summary: Get a family description: This endpoint allows you to get the information about a given family tags: - Family security: - bearerToken: [] parameters: - in: path name: code description: 'This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. ' required: true schema: type: string example: my_entity_code responses: '200': description: Returns the content of the family in JSON standard format content: application/json: schema: type: object required: - code - attribute_as_label properties: code: type: string description: Family code readOnly: true example: caps attribute_as_label: type: string description: Attribute code used as label example: short_description attribute_as_image: type: - string - 'null' description: Attribute code used as the main picture in the user interface example: picture attributes: type: array description: Attribute codes that compose the family items: type: string example: - sku - name - description - price - color - picture attribute_requirements: type: object description: Attribute codes of the family that are required for the completeness calculation for each channel additionalProperties: type: array items: type: string description: Attribute code required for the channel example: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: type: object description: Family labels for each locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family label for the specified locale type: - string - 'null' example: Caps example: en_US: Caps fr_FR: Casquettes parent: type: - string - 'null' description: The parent family code. If the family has no parent, this field is `null` example: accessories example: code: caps attributes: - sku - name - description - price - color - picture - material attribute_as_label: name attribute_as_image: picture, attribute_requirements: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: en_US: Caps fr_FR: Casquettes parent: null '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_by_code x-visibility: public summary: Update/create a family description: 'This endpoint allows you to update a given family. Know more about Update behavior. Note that if no family exists for the given code, it creates it.' tags: - Family 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: header name: Content-Type description: 'This header indicates the media type of the resource being sent to the server. It is used to specify the format of the request body, allowing the server to correctly interpret the data being sent. Equal to ''application/json'' or ''application/x-www-form-urlencoded'', no other value allowed. ' required: true schema: type: string default: application/json example: application/json requestBody: description: The family object to update or create required: true content: application/json: schema: type: object properties: code: type: string description: Family code x-immutable: true example: camcorders attribute_as_label: type: string description: Attribute code used as label x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`. ' example: short_description attribute_as_image: type: - string - 'null' description: Attribute code used as the main picture in the user interface x-validation-rules: '- It is equal to an existing attribute code. - This attribute code is in the array of the property `attributes`. - The type of this attribute is `pim_catalog_image` or `pim_assets_collection`. ' example: picture attributes: type: array description: Attribute codes that compose the family. Each string in the array must be an existing attribute code items: type: string x-validation-rules: Each string of the array is an existing attribute code example: - sku - name - description - price - color - picture attribute_requirements: type: object description: Attribute codes of the family that are required for the completeness calculation for each channel additionalProperties: type: array items: type: string description: Attribute code required for the channel x-validation-rules: '- Each string of these arrays is an existing attribute code. - These attribute codes are in the array of the property `attributes`. - The `channelCode` is the code of an existing and activated channel. ' example: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: type: object description: Family labels for each locale. The `localeCode` must be the code of an existing and activated locale default: {} patternProperties: ^[a-zA-Z]{2,}_[a-zA-Z0-9_]{2,}$: description: Family label for the specified locale. type: - string - 'null' example: Caps x-validation-rules: The `localeCode` is the code of an existing and activated locale example: en_US: Caps fr_FR: Casquettes parent: type: - string - 'null' description: The code of the parent family. If not provided, the family is a root family x-validation-rules: It is equal to an existing family code example: clothing example: code: caps attributes: - sku - name - description - price - color - picture - material attribute_as_label: name attribute_as_image: picture, attribute_requirements: ecommerce: - sku - name - description - price - color tablet: - sku - name - description - price labels: en_US: Caps fr_FR: Casquettes parent: null 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 data provided does not meet the required format or constraints defined by the API, and includes a link to the documentation for reference. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 401 message: type: string description: Message explaining the error example: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: type: object properties: documentation: type: object properties: href: type: string example: http://api.akeneo.com/api-reference.html example: code: 422 message: Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation. _links: documentation: href: http://api.akeneo.com/api-reference.html delete: operationId: delete_family_by_code x-visibility: public summary: Delete a family description: 'This endpoint allows you to delete a given family. A family can only be deleted if it has no products, no family variants, and is not a parent of other families.' tags: - Family security: - bearerToken: [] parameters: - in: path name: code description: 'This path parameter is used to specify the unique identifier of the entity you want to retrieve or manipulate. It is essential for identifying the specific entity in the API requests. Ensure that the code is correctly formatted and corresponds to an existing entity in the system. ' required: true schema: type: string example: my_entity_code responses: '204': description: 'No content to return. Means that the deletion was successful. ' '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. '422': description: 'The family cannot be deleted because it is still in use. This error is returned when at least one of the following conditions is true: - The family still has products. - The family has family variants. - The family is a parent of other families. ' content: application/json: schema: type: object properties: code: type: integer description: HTTP status code example: 422 message: type: string description: Message explaining why the family cannot be deleted example: Family "my_family" could not be removed as it still has products examples: familyHasProducts: summary: Family still has products value: code: 422 message: Family "my_family" could not be removed as it still has products familyHasVariants: summary: Family has family variants value: code: 422 message: Can not remove family "my_family" because it is linked to family variants. familyIsParent: summary: Family is a parent of other families value: code: 422 message: Can not remove family "my_family" because it is a parent of other families. 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)