Akeneo PIM REST API icon

Akeneo PIM REST API

Connect to Akeneo PIM REST API with 1 MCP tools for AI-powered API automation.

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "http"
  ],
  "host": "demo.akeneo.com",
  "info": {
    "contact": {
      "x-twitter": "akeneopim"
    },
    "title": "Akeneo PIM REST API",
    "version": "1.0.0",
    "x-apisguru-categories": [
      "enterprise"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_akeneopim_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/akeneo/pim-api-docs/master/content/swagger/akeneo-web-api.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "akeneo.com"
  },
  "produces": [
    "application/json"
  ],
  "parameters": {
    "asset_code": {
      "description": "Code of the asset",
      "in": "path",
      "name": "asset_code",
      "required": true,
      "type": "string"
    },
    "asset_family_code": {
      "description": "Code of the asset family",
      "in": "path",
      "name": "asset_family_code",
      "required": true,
      "type": "string"
    },
    "attribute_code": {
      "description": "Code of the attribute",
      "in": "path",
      "name": "attribute_code",
      "required": true,
      "type": "string"
    },
    "channel_code": {
      "description": "Code of the channel",
      "in": "path",
      "name": "channel_code",
      "required": true,
      "type": "string"
    },
    "code": {
      "description": "Code of the resource",
      "in": "path",
      "name": "code",
      "required": true,
      "type": "string"
    },
    "family_code": {
      "description": "Code of the family",
      "in": "path",
      "name": "family_code",
      "required": true,
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
      "in": "query",
      "maximum": 100,
      "minimum": 1,
      "name": "limit",
      "required": false,
      "type": "integer"
    },
    "locale_code": {
      "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
      "in": "path",
      "name": "locale_code",
      "required": true,
      "type": "string"
    },
    "page": {
      "default": 1,
      "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
      "in": "query",
      "name": "page",
      "required": false,
      "type": "integer"
    },
    "pagination_type": {
      "default": "page",
      "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
      "enum": [
        "page",
        "search_after"
      ],
      "in": "query",
      "name": "pagination_type",
      "required": false,
      "type": "string",
      "x-validation-rules": "One of the following values"
    },
    "reference_entity_code": {
      "description": "Code of the reference entity",
      "in": "path",
      "name": "reference_entity_code",
      "required": true,
      "type": "string"
    },
    "search_after": {
      "default": "cursor to the first page",
      "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
      "in": "query",
      "name": "search_after",
      "required": false,
      "type": "string"
    },
    "updated_after": {
      "description": "Filter products that have been updated AFTER the provided date (Only available on Catalogs endpoints)",
      "format": "date",
      "in": "query",
      "name": "updated_after",
      "required": false,
      "type": "string",
      "x-from-version": "SaaS"
    },
    "updated_before": {
      "description": "Filter products that have been updated BEFORE the provided date (Only available on Catalogs endpoints)",
      "format": "date",
      "in": "query",
      "name": "updated_before",
      "required": false,
      "type": "string",
      "x-from-version": "SaaS"
    },
    "uuid": {
      "description": "Uuid of the resource",
      "in": "path",
      "name": "uuid",
      "required": true,
      "type": "string"
    },
    "with_attribute_options": {
      "default": false,
      "description": "Return labels of attribute options in the response. (Only available since the 5.0 version)",
      "in": "query",
      "name": "with_attribute_options",
      "required": false,
      "type": "boolean",
      "x-from-version": "5.0"
    },
    "with_completenesses": {
      "default": false,
      "description": "Return product completenesses in the response. (Only available since the 6.0 version)",
      "in": "query",
      "name": "with_completenesses",
      "required": false,
      "type": "boolean",
      "x-from-version": "6.0"
    },
    "with_count": {
      "default": false,
      "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
      "in": "query",
      "name": "with_count",
      "required": false,
      "type": "boolean"
    },
    "with_enriched_attributes": {
      "description": "Return attribute values of the category (only available on SaaS platforms)",
      "in": "query",
      "name": "with_enriched_attributes",
      "required": false,
      "type": "boolean",
      "x-from-version": "SaaS"
    },
    "with_enriched_attributes_coming_soon": {
      "description": "Return attribute values of the category (only available on SaaS platforms) <strong>[COMING SOON]<strong>",
      "in": "query",
      "name": "with_enriched_attributes",
      "required": false,
      "type": "boolean",
      "x-from-version": "SaaS"
    },
    "with_position": {
      "description": "Return information about category position into its category tree (only available since the 7.0 version)",
      "in": "query",
      "name": "with_position",
      "required": false,
      "type": "boolean",
      "x-from-version": "7.0"
    },
    "with_quality_scores__product_models": {
      "description": "Return product model quality scores in the response. <strong>(Only available since the 6.0 version)</strong>",
      "in": "query",
      "name": "with_quality_scores",
      "required": false,
      "type": "boolean",
      "x-from-version": "6.0"
    },
    "with_quality_scores__products": {
      "default": false,
      "description": "Return product quality scores in the response. (Only available since the 5.0 version)",
      "in": "query",
      "name": "with_quality_scores",
      "required": false,
      "type": "boolean",
      "x-from-version": "5.0"
    },
    "with_table_select_options": {
      "default": false,
      "description": "Return the options of 'select' column types (of a table attribute) in the response. (Only available since the 7.0 version)",
      "in": "query",
      "name": "with_table_select_options",
      "required": false,
      "type": "boolean",
      "x-from-version": "7.0"
    }
  },
  "responses": {
    "400Error": {
      "description": "Bad request",
      "examples": {
        "code": 400,
        "message": "Invalid JSON message received"
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "Can be caused by a malformed JSON request"
    },
    "401Error": {
      "description": "Authentication required",
      "examples": {
        "code": 401,
        "message": "Authentication is required"
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "Can be caused by a missing or expired token"
    },
    "403CatalogError": {
      "description": "Access forbidden",
      "examples": {
        "code": 403,
        "message": "Access forbidden. You are not allowed to list catalogs."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The app does not have the permission to execute this request"
    },
    "403Error": {
      "description": "Access forbidden",
      "examples": {
        "code": 403,
        "message": "Access forbidden. You are not allowed to list categories."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The user does not have the permission to execute this request"
    },
    "404CatalogError": {
      "description": "Catalog not found",
      "examples": {
        "code": 404,
        "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The catalog id given in the URI does not exist"
    },
    "404Error": {
      "description": "Resource not found",
      "examples": {
        "code": 404,
        "message": "Resource `my_resource_code` does not exist."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
    },
    "406Error": {
      "description": "Not Acceptable",
      "examples": {
        "code": 406,
        "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The `Accept` header is not `application/json` but it should"
    },
    "413Error": {
      "description": "Request Entity Too Large",
      "examples": {
        "code": 413,
        "message": "Too many resources to process, 100 is the maximum allowed."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
    },
    "415Error": {
      "description": "Unsupported Media type",
      "examples": {
        "code": 415,
        "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The `Content-type` header has to be `application/json`"
    },
    "415ErrorMultipart": {
      "description": "Unsupported Media type",
      "examples": {
        "code": 415,
        "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The `Content-type` header has to be `multipart/form-data`"
    },
    "415ErrorStream": {
      "description": "Unsupported Media type",
      "examples": {
        "code": 415,
        "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
    },
    "422Error": {
      "description": "Unprocessable entity",
      "examples": {
        "_links": {
          "documentation": {
            "href": "http://api.akeneo.com/api-reference.html"
          }
        },
        "code": 422,
        "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
      },
      "schema": {
        "properties": {
          "code": {
            "description": "HTTP status code",
            "type": "integer"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "The validation of the entity given in the body of the request failed"
    },
    "AssetMediaFileUploaded": {
      "description": "Created",
      "headers": {
        "Asset-media-file-code": {
          "description": "Code of the media file",
          "type": "string"
        },
        "Location": {
          "description": "URI of the created resource",
          "type": "string"
        }
      },
      "x-details": "Means that the media file creation was successful"
    },
    "Created": {
      "description": "Created",
      "headers": {
        "Location": {
          "description": "URI of the created resource",
          "type": "string"
        }
      },
      "x-details": "Means that the creation was successful"
    },
    "DeprecatedAssetReferenceFileUploaded": {
      "description": "Uploaded",
      "headers": {
        "Location": {
          "description": "URI of the created resource",
          "type": "string"
        }
      },
      "schema": {
        "properties": {
          "errors": {
            "items": {
              "properties": {
                "channel": {
                  "description": "Channel for which the variation file generation failed",
                  "type": "string"
                },
                "locale": {
                  "description": "Locale for which the variation file generation failed",
                  "type": "string"
                },
                "message": {
                  "description": "Message explaining why the variation file generation failed",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "message": {
            "description": "Message explaining the warning",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-details": "Means that the reference file upload was successful. Beware that even if the reference file upload is complete, some variation files generations could have failed. If so, you will see a warning message in the response body.",
      "x-no-entity": true
    },
    "NoContent": {
      "description": "No content to return",
      "headers": {
        "Location": {
          "description": "URI of the updated resource",
          "type": "string"
        }
      },
      "x-details": "Means that the update was successful"
    },
    "ReferenceEntityMediaFileUploaded": {
      "description": "Created",
      "headers": {
        "Location": {
          "description": "URI of the created resource",
          "type": "string"
        },
        "Reference-entities-media-file-code": {
          "description": "Code of the media file",
          "type": "string"
        }
      },
      "x-details": "Means that the media file creation was successful"
    },
    "Submitted": {
      "description": "Submitted",
      "headers": {
        "Location": {
          "description": "URI of the created resource",
          "type": "string"
        }
      },
      "x-details": "Means that the draft submission was successful"
    }
  },
  "paths": {
    "/api/oauth/v1/token": {
      "post": {
        "description": "This endpoint allows you to get an authentication token. No need to be authenticated to use this endpoint.",
        "operationId": "post_token",
        "parameters": [
          {
            "description": "Equal to 'application/json' or 'application/x-www-form-urlencoded', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Equal to 'Basic xx', where 'xx' is the base 64 encoding of the client id and secret. Find out how to generate them in the <a href=\"/documentation/authentication.html#client-idsecret-generation\">Client ID/secret generation</a> section.",
            "in": "header",
            "name": "Authorization",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "grant_type": "password",
                "password": "admin",
                "username": "admin"
              },
              "properties": {
                "grant_type": {
                  "description": "Always equal to \"password\"",
                  "type": "string"
                },
                "password": {
                  "description": "Your PIM password",
                  "type": "string"
                },
                "username": {
                  "description": "Your PIM username",
                  "type": "string"
                }
              },
              "required": [
                "username",
                "password",
                "grant_type"
              ],
              "type": "object"
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "200": {
            "description": "Return an authentication token",
            "examples": {
              "access_token": "ZTZmYjU4ZmQxZWNmMzk1M2NlYzA5NmFhNmIzVjExMzE4NmJmODBkZGIyYTliYmQyNjk2ZDQwZThmNjdiZDQzOQ",
              "expires_in": 3600,
              "refresh_token": "M2FlODI0OTE3ODMyNjViMzRiOWE5ODMyNWViMThkNDU5YzJjNjFiZjNkZWFjMzIyYjc4YTgzZWY1MjE5ZTY5Mw",
              "scope": null,
              "token_type": "bearer"
            },
            "schema": {
              "properties": {
                "access_token": {
                  "description": "Authentication token that should be given in every authenticated request to the API",
                  "type": "string"
                },
                "expires_in": {
                  "description": "Validity of the token given in seconds, 3600s = 1h by default",
                  "type": "integer"
                },
                "refresh_token": {
                  "description": "Use this token when your access token has expired. See <a href=\"/documentation/authentication.html#refresh-an-expired-token\">Refresh an expired token</a> section for more details.",
                  "type": "string"
                },
                "scope": {
                  "description": "Unused, always equal to \"null\"",
                  "type": "string"
                },
                "token_type": {
                  "description": "Token type, always equal to \"bearer\"",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-no-entity": true
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Get authentication token",
        "tags": [
          "Authentication"
        ],
        "x-no-token": true,
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1": {
      "get": {
        "description": "This endpoint allows you to get the list of all the available endpoints. No need to be authenticated to use this endpoint.",
        "operationId": "get_endpoints",
        "responses": {
          "200": {
            "description": "Return the list of all available endpoints",
            "examples": {
              "authentication": {
                "fos_oauth_server_token": {
                  "methods": [
                    "POST"
                  ],
                  "route": "/api/oauth/v1/token"
                }
              },
              "host": "https://demo.akeneo.com",
              "routes": {
                "pim_api_category_create": {
                  "methods": [
                    "POST"
                  ],
                  "route": "/api/rest/v1/categories"
                },
                "pim_api_category_get": {
                  "methods": [
                    "GET"
                  ],
                  "route": "/api/rest/v1/categories/{code}"
                },
                "pim_api_category_list": {
                  "methods": [
                    "GET"
                  ],
                  "route": "/api/rest/v1/categories"
                },
                "pim_api_category_partial_update": {
                  "methods": [
                    "PATCH"
                  ],
                  "route": "/api/rest/v1/categories/{code}"
                }
              }
            },
            "schema": {
              "properties": {
                "authentication": {
                  "description": "Endpoint to get the authentication token",
                  "type": "object"
                },
                "host": {
                  "description": "Host name",
                  "type": "string"
                },
                "routes": {
                  "description": "All the availables endpoints",
                  "type": "object"
                }
              },
              "type": "object"
            },
            "x-no-entity": true
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of all endpoints",
        "tags": [
          "Overview"
        ],
        "x-no-token": true,
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-categories": {
      "get": {
        "description": "This endpoint allows you to get a list of PAM asset categories. PAM asset categories are paginated and sorted by `root/left`.",
        "operationId": "get_asset_categories",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns PAM asset categories paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-categories/pictures"
                      }
                    },
                    "code": "pictures",
                    "labels": {
                      "de_DE": "Bilder",
                      "en_US": "Pictures",
                      "fr_FR": "Images"
                    },
                    "parent": null
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-categories/front_views"
                      }
                    },
                    "code": "front_views",
                    "labels": {
                      "de_DE": "Vorderansichten",
                      "en_US": "Front views",
                      "fr_FR": "Vues de face"
                    },
                    "parent": "pictures"
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-categories/side_views"
                      }
                    },
                    "code": "side_views",
                    "labels": {
                      "de_DE": "Profilansichten",
                      "en_US": "Side views",
                      "fr_FR": "Vues de profil"
                    },
                    "parent": "pictures"
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-categories?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-categories?page=3&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-categories?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-categories?page=2&limit=3"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "front_views",
                                  "labels": {
                                    "en_US": "Front views",
                                    "fr_FR": "Vues de face"
                                  },
                                  "parent": "pictures"
                                },
                                "properties": {
                                  "code": {
                                    "description": "PAM asset category code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "PAM asset category labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "PAM asset category label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "parent": {
                                    "default": "null",
                                    "description": "PAM ssset category code of the parent's asset category",
                                    "type": "string",
                                    "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "PAM Asset Categories",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of PAM asset categories",
        "tags": [
          "PAM asset category"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update several PAM asset categories at once.",
        "operationId": "patch_asset_categories",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "front_views",
                "labels": {
                  "en_US": "Front views",
                  "fr_FR": "Vues de face"
                },
                "parent": "pictures"
              },
              "properties": {
                "code": {
                  "description": "PAM asset category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "PAM asset category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "PAM asset category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "PAM ssset category code of the parent's asset category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"pictures\",\"parent\":null}",
                "x-example-2": "{\"code\":\"front_views\",\"parent\":\"pitures\"}",
                "x-example-3": "{\"code\":\"other_views\",\"parent\":\"pictures\"}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"spring_collection\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"front_views\",\"status_code\":422,\"message\":\"Asset category \"pitures\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"other_views\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several PAM asset categories",
        "tags": [
          "PAM asset category"
        ],
        "x-body-by-line": "Contains several lines, each line is a category in JSON standard format",
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new PAM asset category.",
        "operationId": "post_asset_categories",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "front_views",
                "labels": {
                  "en_US": "Front views",
                  "fr_FR": "Vues de face"
                },
                "parent": "pictures"
              },
              "properties": {
                "code": {
                  "description": "PAM asset category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "PAM asset category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "PAM asset category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "PAM ssset category code of the parent's asset category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new PAM asset category",
        "tags": [
          "PAM asset category"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/asset-categories/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given PAM asset category.",
        "operationId": "get_asset_categories__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "front_views",
                "labels": {
                  "en_US": "Front views",
                  "fr_FR": "Vues de face"
                },
                "parent": "pictures"
              },
              "properties": {
                "code": {
                  "description": "PAM asset category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "PAM asset category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "PAM asset category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "PAM ssset category code of the parent's asset category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset category in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a PAM asset category",
        "tags": [
          "PAM asset category"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given PAM asset category. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no category exists for the given code, it creates it.",
        "operationId": "patch_asset_categories__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "front_views",
                "labels": {
                  "en_US": "Front views",
                  "fr_FR": "Vues de face"
                },
                "parent": "pictures"
              },
              "properties": {
                "code": {
                  "description": "PAM asset category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "PAM asset category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "PAM asset category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "PAM ssset category code of the parent's asset category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a PAM asset category",
        "tags": [
          "PAM asset category"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/asset-families": {
      "get": {
        "description": "This endpoint allows you to get a list of asset families. Asset families are paginated.",
        "operationId": "get_asset_families",
        "parameters": [
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return asset families paginated",
            "examples": {
              "_embedded": {
                "_items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/packshots"
                      }
                    },
                    "code": "packshots",
                    "labels": {
                      "en_US": "Packshots",
                      "fr_FR": "Plans produit"
                    },
                    "product_link_rules": [
                      {
                        "assign_assets_to": [
                          {
                            "attribute": "{{my_product_attribute}}",
                            "mode": "add"
                          }
                        ],
                        "product_selections": [
                          {
                            "field": "sku",
                            "operator": "=",
                            "value": "{{product_ref}}"
                          }
                        ]
                      }
                    ],
                    "transformations": [
                      {
                        "filename_suffix": "_thumbnailBW",
                        "label": "My transformation",
                        "operations": [
                          {
                            "parameters": {
                              "height": 150,
                              "width": 150
                            },
                            "type": "thumbnail"
                          },
                          {
                            "parameters": {
                              "colorspace": "grey"
                            },
                            "type": "colorspace"
                          }
                        ],
                        "source": {
                          "attribute": "main_image",
                          "channel": null,
                          "locale": null
                        },
                        "target": {
                          "attribute": "thumbnail",
                          "channel": null,
                          "locale": null
                        }
                      }
                    ],
                    "“naming_convention”": {
                      "abort_asset_creation_on_error": true,
                      "pattern": "/(?P<product_ref>.*)\\.jpg/",
                      "source": {
                        "channel": null,
                        "locale": null,
                        "property": "code"
                      }
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/videos"
                      }
                    },
                    "code": "videos",
                    "labels": {
                      "en_US": "Videos",
                      "fr_FR": "Vidéos"
                    },
                    "product_link_rules": [
                      {
                        "assign_assets_to": [
                          {
                            "attribute": "presentation_video",
                            "locale": "{{locale}}",
                            "mode": "replace"
                          }
                        ],
                        "product_selections": [
                          {
                            "field": "categories",
                            "operator": "IN",
                            "value": [
                              "{{category}}"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/user_guides"
                      }
                    },
                    "code": "user_guides",
                    "labels": {
                      "en_US": "User guides",
                      "fr_FR": "Guides utilisateur"
                    },
                    "product_link_rules": [
                      {
                        "assign_assets_to": [
                          {
                            "attribute": "user_instructions",
                            "locale": "{{locale}}",
                            "mode": "replace"
                          }
                        ],
                        "product_selections": [
                          {
                            "field": "sku",
                            "operator": "=",
                            "value": "{{product_ref}}"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families?search_after=2x055w%3D%3D"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families"
                }
              }
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "attribute_as_main_media": "main_image",
                                  "code": "model_pictures",
                                  "labels": {
                                    "en_US": "Model pictures",
                                    "fr_FR": "Photographies en pied"
                                  },
                                  "naming_convention": {
                                    "abort_asset_creation_on_error": true,
                                    "pattern": "/(?P<product_ref>.*)-.*/",
                                    "source": {
                                      "channel": null,
                                      "locale": null,
                                      "property": "code"
                                    }
                                  },
                                  "product_link_rules": [
                                    {
                                      "assign_assets_to": [
                                        {
                                          "attribute": "model_pictures",
                                          "mode": "replace"
                                        }
                                      ],
                                      "product_selections": [
                                        {
                                          "field": "sku",
                                          "operator": "EQUALS",
                                          "value": "{{product_ref}}"
                                        }
                                      ]
                                    }
                                  ],
                                  "transformations": [
                                    {
                                      "filename_suffix": "_thumbnailBW",
                                      "label": "Thumbnail plus black and white transformation",
                                      "operations": [
                                        {
                                          "parameters": {
                                            "height": 150,
                                            "width": 150
                                          },
                                          "type": "thumbnail"
                                        },
                                        {
                                          "parameters": {
                                            "colorspace": "grey"
                                          },
                                          "type": "colorspace"
                                        }
                                      ],
                                      "source": {
                                        "attribute": "main_image",
                                        "channel": null,
                                        "locale": null
                                      },
                                      "target": {
                                        "attribute": "thumbnail",
                                        "channel": null,
                                        "locale": null
                                      }
                                    }
                                  ]
                                },
                                "properties": {
                                  "attribute_as_main_media": {
                                    "default": "First media file or media link attribute that was created",
                                    "description": "Attribute code that is used as the main media of the asset family.",
                                    "type": "string",
                                    "x-validation-rules": "It should be the code of an attribute that belongs to this family, and it must be a media file or a media link attribute type."
                                  },
                                  "code": {
                                    "description": "Asset family code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Asset family labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Asset family label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "naming_convention": {
                                    "default": {},
                                    "description": "The naming convention ran over the asset code or the main media filename upon each asset creation, in order to automatically set several values in asset attributes. To learn more and see the format of this property, take a look at <a href='/concepts/asset-manager.html#focus-on-the-naming-convention'>here</a>.",
                                    "properties": {
                                      "abort_asset_creation_on_error": {
                                        "description": "Whether the asset should be created if the naming convention failed to apply. More details <a href='/concepts/asset-manager.html#abort-asset-creation-on-error'>here</a>.",
                                        "type": "boolean"
                                      },
                                      "pattern": {
                                        "description": "The regular expression that should be applied on the source. More details <a href='/concepts/asset-manager.html#pattern'>here</a>.",
                                        "type": "string"
                                      },
                                      "source": {
                                        "description": "The string on which the naming convention should be applied. More details <a href='/concepts/asset-manager.html#source'>here</a>.",
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "To know more about the validation of this property, take a look at our naming convention format."
                                  },
                                  "product_link_rules": {
                                    "default": [],
                                    "description": "The rules that will be run after the asset creation, in order to automatically link the assets of this family to a set of products. To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-product-link-rule'>here</a>.",
                                    "items": {
                                      "properties": {
                                        "assign_assets_to": {
                                          "description": "The product value in which your assets will be assigned. More details <a href='/concepts/asset-manager.html#product-value-assignment'>here</a>.",
                                          "items": {
                                            "properties": {
                                              "attribute": {
                                                "type": "string"
                                              },
                                              "channel": {
                                                "type": "string"
                                              },
                                              "locale": {
                                                "type": "string"
                                              },
                                              "mode": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "attribute",
                                              "mode"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        },
                                        "product_selections": {
                                          "description": "The product selection to which the assets of the asset family to be automatically linked. More details <a href='/concepts/asset-manager.html#product-selection'>here</a>.",
                                          "items": {
                                            "properties": {
                                              "channel": {
                                                "type": "string"
                                              },
                                              "field": {
                                                "type": "string"
                                              },
                                              "locale": {
                                                "type": "string"
                                              },
                                              "operator": {
                                                "type": "string"
                                              },
                                              "value": {
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "field",
                                              "operator",
                                              "value"
                                            ],
                                            "type": "object"
                                          },
                                          "type": "array"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "To know more about the validation of this property, take a look at our product link rule format."
                                  },
                                  "transformations": {
                                    "default": [],
                                    "description": "The transformations to perform on source files in order to generate new files into your asset attributes (only available since v4.0). To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-transformations'>here</a>.",
                                    "items": {
                                      "properties": {
                                        "filename_prefix": {
                                          "description": "The prefix that will be prepended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                                          "type": "string"
                                        },
                                        "filename_suffix": {
                                          "description": "The suffix that will be appended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                                          "type": "string"
                                        },
                                        "label": {
                                          "description": "The name of the transformation",
                                          "type": "string"
                                        },
                                        "operations": {
                                          "description": "The transformations that should be applied to your source file to generate the target file. More details <a href='/concepts/asset-manager.html#transformation-operations'>here</a>.",
                                          "properties": {
                                            "parameters": {
                                              "properties": {
                                                "colorspace": {
                                                  "type": "string"
                                                },
                                                "height": {
                                                  "type": "integer"
                                                },
                                                "quality": {
                                                  "type": "integer"
                                                },
                                                "ratio": {
                                                  "type": "integer"
                                                },
                                                "resolution-unit": {
                                                  "type": "string"
                                                },
                                                "resolution-x": {
                                                  "type": "integer"
                                                },
                                                "resolution-y": {
                                                  "type": "integer"
                                                },
                                                "width": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "x-validation-rules": "Should contain at least one operation"
                                        },
                                        "source": {
                                          "description": "The attribute value in which is stored the media file you want to use as the source file for your transformation. More details <a href='/concepts/asset-manager.html#source-file'>here</a>.",
                                          "properties": {
                                            "attribute": {
                                              "type": "string"
                                            },
                                            "channel": {
                                              "type": "string"
                                            },
                                            "locale": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "attribute",
                                            "channel",
                                            "locale"
                                          ],
                                          "type": "object"
                                        },
                                        "target": {
                                          "description": "The attribute value in which the PIM will generate the new transformed file, aka the target file. More details <a href='/concepts/asset-manager.html#target-file'>here</a>.",
                                          "properties": {
                                            "attribute": {
                                              "type": "string"
                                            },
                                            "channel": {
                                              "type": "string"
                                            },
                                            "locale": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "attribute",
                                            "channel",
                                            "locale"
                                          ],
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "label",
                                        "target",
                                        "source",
                                        "operations"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-from-version": "4.0",
                                    "x-validation-rules": "To know more about the validation of this property, take a look at our transformation format."
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Asset families",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of asset families",
        "tags": [
          "Asset family"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/assets": {
      "get": {
        "description": "This endpoint allows you to get a list of assets of a given asset family. Assets are paginated. This endpoint is case sensitive on the asset family code.",
        "operationId": "get_assets",
        "parameters": [
          {
            "description": "Filter assets, for more details see the <a href=\"/documentation/filter.html#filter-assets\">Asset filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter asset values to return scopable asset attributes for the given channel as well as the non localizable/non scopable asset attributes, for more details see the <a href=\"/documentation/filter.html#asset-values-by-channel\">Filter asset values by channel</a> section",
            "in": "query",
            "name": "channel",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter asset values to return localizable attributes for the given locales as well as the non localizable/non scopable asset attributes, for more details see the <a href=\"/documentation/filter.html#asset-values-by-locale\">Filter asset values by locale</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the assets of the given asset family paginated",
            "examples": {
              "_embedded": {
                "_items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets/allie_jean_model_picture"
                      }
                    },
                    "code": "allie_jean_model_picture",
                    "created": "2021-05-31T09:23:34+00:00",
                    "updated": "2021-05-31T09:23:34+00:00",
                    "values": {
                      "media_link": [
                        {
                          "channel": null,
                          "data": "allie_jean_model_picture.png",
                          "locale": null
                        }
                      ],
                      "model_is_wearing_size": [
                        {
                          "channel": null,
                          "data": "size_27",
                          "locale": null
                        }
                      ],
                      "warning_mention": [
                        {
                          "channel": null,
                          "data": "Photo not retouched",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "Photo non retouchée",
                          "locale": "fr_FR"
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets/amy_socks_model_picture"
                      }
                    },
                    "code": "amy_socks_model_picture",
                    "created": "2021-05-31T09:23:34+00:00",
                    "updated": "2021-05-31T09:23:34+00:00",
                    "values": {
                      "media_link": [
                        {
                          "channel": null,
                          "data": "amy_socks_model_picture.png",
                          "locale": null
                        }
                      ],
                      "model_is_wearing_size": [
                        {
                          "channel": null,
                          "data": "unique_size",
                          "locale": null
                        }
                      ],
                      "warning_mention": [
                        {
                          "channel": null,
                          "data": "Photo not retouched",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "Photo non retouchée",
                          "locale": "fr_FR"
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets/alice_blouse_model_picture"
                      }
                    },
                    "code": "alice_blouse_model_picture",
                    "created": "2021-05-31T09:23:34+00:00",
                    "updated": "2021-05-31T09:23:34+00:00",
                    "values": {
                      "media_link": [
                        {
                          "channel": null,
                          "data": "alice_blouse_model_picture.png",
                          "locale": null
                        }
                      ],
                      "model_is_wearing_size": [
                        {
                          "channel": null,
                          "data": "small",
                          "locale": null
                        }
                      ],
                      "warning_mention": [
                        {
                          "channel": null,
                          "data": "Photo retouched",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "Photo non retouchée",
                          "locale": "fr_FR"
                        }
                      ]
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets?search_after=2x088w%3D%3D"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-families/model_pictures/assets"
                }
              }
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "_items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "sku_54628_picture1",
                                  "created": "2021-05-31T09:23:34+00:00",
                                  "updated": "2021-05-31T09:23:34+00:00",
                                  "values": {
                                    "end_of_use_date": [
                                      {
                                        "channel": null,
                                        "data": "02/03/2021",
                                        "locale": null
                                      }
                                    ],
                                    "main_colors": [
                                      {
                                        "channel": null,
                                        "data": [
                                          "red",
                                          "purple"
                                        ],
                                        "locale": null
                                      }
                                    ],
                                    "media_preview": [
                                      {
                                        "channel": null,
                                        "data": "sku_54628_picture1.jpg",
                                        "locale": null
                                      }
                                    ],
                                    "model_wears_size": [
                                      {
                                        "channel": null,
                                        "data": "s",
                                        "locale": null
                                      }
                                    ],
                                    "photographer": [
                                      {
                                        "channel": null,
                                        "data": "ben_levy",
                                        "locale": null
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "code": {
                                    "description": "Code of the asset",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "created": {
                                    "description": "Date of creation",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-from-version": "6.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-from-version": "6.0",
                                    "x-read-only": true
                                  },
                                  "values": {
                                    "description": "Asset attributes values, see the <a href='/concepts/asset-manager.html#focus-on-the-asset-values'>Focus on the asset values</a> section for more details.",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "channel": {
                                              "description": "Channel code of the asset attribute value",
                                              "type": "string"
                                            },
                                            "data": {
                                              "description": "Asset attribute value. See <a href='/concepts/asset-manager.html#the-data-format'>the `data` format</a> section for more details.",
                                              "type": "object"
                                            },
                                            "locale": {
                                              "description": "Locale code of the asset attribute value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Asset attribute values section"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Asset",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get the list of the assets of a given asset family",
        "tags": [
          "Asset"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several assets of one given asset family at once. Learn more about the <a href=\"/documentation/update.html#patch-asset-attribute-values\">Update behavior</a>. Note that if the asset does not already exist for the given asset family, it creates it. This endpoint is case sensitive on the asset family code.",
        "operationId": "patch_assets",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": [
                {
                  "code": "sku_54628_picture1",
                  "created": "2021-05-31T09:23:34+00:00",
                  "updated": "2021-05-31T09:23:34+00:00",
                  "values": {
                    "end_of_use_date": [
                      {
                        "channel": null,
                        "data": "02/03/2021",
                        "locale": null
                      }
                    ],
                    "main_colors": [
                      {
                        "channel": null,
                        "data": [
                          "red",
                          "purple"
                        ],
                        "locale": null
                      }
                    ],
                    "media_preview": [
                      {
                        "channel": null,
                        "data": "sku_54628_picture1.jpg",
                        "locale": null
                      }
                    ],
                    "model_wears_size": [
                      {
                        "channel": null,
                        "data": "s",
                        "locale": null
                      }
                    ],
                    "photographer": [
                      {
                        "channel": null,
                        "data": "ben_levy",
                        "locale": null
                      }
                    ]
                  }
                },
                {
                  "code": "sku_54628_picture2",
                  "created": "2021-05-31T09:23:34+00:00",
                  "updated": "2021-05-31T09:23:34+00:00",
                  "values": {
                    "end_of_use_date": [
                      {
                        "channel": null,
                        "data": "02/03/2021",
                        "locale": null
                      }
                    ],
                    "main_colors": [
                      {
                        "channel": null,
                        "data": [
                          "blue",
                          "white"
                        ],
                        "locale": null
                      }
                    ],
                    "media_preview": [
                      {
                        "channel": null,
                        "data": "sku_54628_picture2.jpg",
                        "locale": null
                      }
                    ],
                    "model_wears_size": [
                      {
                        "channel": null,
                        "data": "s",
                        "locale": null
                      }
                    ],
                    "photographer": [
                      {
                        "channel": null,
                        "data": "ben_levy",
                        "locale": null
                      }
                    ]
                  }
                },
                {
                  "code": "sku_54628_picture3",
                  "created": "2021-05-31T09:23:34+00:00",
                  "updated": "2021-05-31T09:23:34+00:00",
                  "values": {
                    "end_of_use_date": [
                      {
                        "channel": null,
                        "data": "02/03/2021",
                        "locale": null
                      }
                    ],
                    "main_colors": [
                      {
                        "channel": null,
                        "data": [
                          "purple"
                        ],
                        "locale": null
                      }
                    ],
                    "media_preview": [
                      {
                        "channel": null,
                        "data": "sku_54628_picture3.jpg",
                        "locale": null
                      }
                    ],
                    "model_wears_size": [
                      {
                        "channel": null,
                        "data": "s",
                        "locale": null
                      }
                    ],
                    "photographer": [
                      {
                        "channel": null,
                        "data": "ben_levy",
                        "locale": null
                      }
                    ]
                  }
                }
              ],
              "items": {
                "example": {
                  "code": "sku_54628_picture1",
                  "created": "2021-05-31T09:23:34+00:00",
                  "updated": "2021-05-31T09:23:34+00:00",
                  "values": {
                    "end_of_use_date": [
                      {
                        "channel": null,
                        "data": "02/03/2021",
                        "locale": null
                      }
                    ],
                    "main_colors": [
                      {
                        "channel": null,
                        "data": [
                          "red",
                          "purple"
                        ],
                        "locale": null
                      }
                    ],
                    "media_preview": [
                      {
                        "channel": null,
                        "data": "sku_54628_picture1.jpg",
                        "locale": null
                      }
                    ],
                    "model_wears_size": [
                      {
                        "channel": null,
                        "data": "s",
                        "locale": null
                      }
                    ],
                    "photographer": [
                      {
                        "channel": null,
                        "data": "ben_levy",
                        "locale": null
                      }
                    ]
                  }
                },
                "properties": {
                  "code": {
                    "description": "Code of the asset",
                    "type": "string",
                    "x-immutable": true
                  },
                  "created": {
                    "description": "Date of creation",
                    "format": "dateTime",
                    "type": "string",
                    "x-from-version": "6.0",
                    "x-immutable": true,
                    "x-read-only": true
                  },
                  "updated": {
                    "description": "Date of the last update",
                    "format": "dateTime",
                    "type": "string",
                    "x-from-version": "6.0",
                    "x-read-only": true
                  },
                  "values": {
                    "description": "Asset attributes values, see the <a href='/concepts/asset-manager.html#focus-on-the-asset-values'>Focus on the asset values</a> section for more details.",
                    "properties": {
                      "attributeCode": {
                        "items": {
                          "properties": {
                            "channel": {
                              "description": "Channel code of the asset attribute value",
                              "type": "string"
                            },
                            "data": {
                              "description": "Asset attribute value. See <a href='/concepts/asset-manager.html#the-data-format'>the `data` format</a> section for more details.",
                              "type": "object"
                            },
                            "locale": {
                              "description": "Locale code of the asset attribute value",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "Validation rules detailed in Asset attribute values section"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "properties": {
                  "code": {
                    "description": "Resource code",
                    "type": "string"
                  },
                  "message": {
                    "description": "Message explaining the error",
                    "type": "string"
                  },
                  "status_code": {
                    "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "x-details": "Returns an JSON array in which each object gives you the status of each asset creation or update",
            "x-examples": [
              {
                "code": "sku_54628_picture1",
                "status_code": 204
              },
              {
                "code": "sku_54628_picture2",
                "message": "Property 'group' does not exist.",
                "status_code": 422
              },
              {
                "code": "sku_54628_picture3",
                "status_code": 201
              }
            ],
            "x-no-entity": true
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several assets",
        "tags": [
          "Asset"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/assets/{code}": {
      "delete": {
        "description": "This endpoint allows you to delete a given asset. This endpoint is case sensitive on the asset family code.",
        "operationId": "delete_assets__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No content to return",
            "x-details": "Means that the deletion was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Delete an asset",
        "tags": [
          "Asset"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "get": {
        "description": "This endpoint allows you to get the information about a given asset for a given asset family. This endpoint is case sensitive on the asset family code.",
        "operationId": "get_assets__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "sku_54628_picture1",
                "created": "2021-05-31T09:23:34+00:00",
                "updated": "2021-05-31T09:23:34+00:00",
                "values": {
                  "end_of_use_date": [
                    {
                      "channel": null,
                      "data": "02/03/2021",
                      "locale": null
                    }
                  ],
                  "main_colors": [
                    {
                      "channel": null,
                      "data": [
                        "red",
                        "purple"
                      ],
                      "locale": null
                    }
                  ],
                  "media_preview": [
                    {
                      "channel": null,
                      "data": "sku_54628_picture1.jpg",
                      "locale": null
                    }
                  ],
                  "model_wears_size": [
                    {
                      "channel": null,
                      "data": "s",
                      "locale": null
                    }
                  ],
                  "photographer": [
                    {
                      "channel": null,
                      "data": "ben_levy",
                      "locale": null
                    }
                  ]
                }
              },
              "properties": {
                "code": {
                  "description": "Code of the asset",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "6.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "6.0",
                  "x-read-only": true
                },
                "values": {
                  "description": "Asset attributes values, see the <a href='/concepts/asset-manager.html#focus-on-the-asset-values'>Focus on the asset values</a> section for more details.",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "channel": {
                            "description": "Channel code of the asset attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Asset attribute value. See <a href='/concepts/asset-manager.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "locale": {
                            "description": "Locale code of the asset attribute value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Asset attribute values section"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an asset of a given asset family",
        "tags": [
          "Asset"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given asset of a given asset family. Learn more about the <a href=\"/documentation/update.html#patch-asset-attribute-values\">Update behavior</a>. Note that if the asset does not already exist for the given asset family, it creates it. This endpoint is case sensitive on the asset family code.",
        "operationId": "patch_asset__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "sku_54628_picture1",
                "created": "2021-05-31T09:23:34+00:00",
                "updated": "2021-05-31T09:23:34+00:00",
                "values": {
                  "end_of_use_date": [
                    {
                      "channel": null,
                      "data": "02/03/2021",
                      "locale": null
                    }
                  ],
                  "main_colors": [
                    {
                      "channel": null,
                      "data": [
                        "red",
                        "purple"
                      ],
                      "locale": null
                    }
                  ],
                  "media_preview": [
                    {
                      "channel": null,
                      "data": "sku_54628_picture1.jpg",
                      "locale": null
                    }
                  ],
                  "model_wears_size": [
                    {
                      "channel": null,
                      "data": "s",
                      "locale": null
                    }
                  ],
                  "photographer": [
                    {
                      "channel": null,
                      "data": "ben_levy",
                      "locale": null
                    }
                  ]
                }
              },
              "properties": {
                "code": {
                  "description": "Code of the asset",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "6.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "6.0",
                  "x-read-only": true
                },
                "values": {
                  "description": "Asset attributes values, see the <a href='/concepts/asset-manager.html#focus-on-the-asset-values'>Focus on the asset values</a> section for more details.",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "channel": {
                            "description": "Channel code of the asset attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Asset attribute value. See <a href='/concepts/asset-manager.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "locale": {
                            "description": "Locale code of the asset attribute value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Asset attribute values section"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an asset",
        "tags": [
          "Asset"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/attributes": {
      "get": {
        "description": "This endpoint allows you to get the list of attributes of a given asset family.",
        "operationId": "get_asset_families__code__attributes",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the attributes of the given asset family",
            "schema": {
              "items": {
                "example": {
                  "code": "model_is_wearing_size",
                  "is_required_for_completeness": true,
                  "labels": {
                    "en_US": "Model is wearing size",
                    "fr_FR": "Le mannequin porte la taille"
                  },
                  "type": "single_option",
                  "value_per_channel": false,
                  "value_per_locale": false
                },
                "properties": {
                  "allowed_extensions": {
                    "default": [],
                    "description": "Extensions allowed when the attribute type is `media_file`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-warning": "Only for `media_file` attribute type"
                  },
                  "code": {
                    "description": "Attribute code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "decimals_allowed": {
                    "default": false,
                    "description": "Whether decimals are allowed when the attribute type is `number`",
                    "type": "boolean",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "is_read_only": {
                    "default": false,
                    "description": "Whether the attribute should be in read only mode only in the UI, but you can still update it with the API",
                    "type": "boolean"
                  },
                  "is_required_for_completeness": {
                    "default": false,
                    "description": "Whether the attribute should be part of the record's completeness calculation",
                    "type": "boolean"
                  },
                  "is_rich_text_editor": {
                    "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                    "type": "boolean",
                    "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "is_textarea": {
                    "default": false,
                    "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                    "type": "boolean",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "labels": {
                    "default": {},
                    "description": "Attribute labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Attribute label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  },
                  "max_characters": {
                    "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                    "type": "integer",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "max_file_size": {
                    "default": null,
                    "description": "Max file size in MB when the attribute type is `media_file`",
                    "type": "string",
                    "x-warning": "Only for `media_file` attribute type"
                  },
                  "max_value": {
                    "default": null,
                    "description": "Maximum value allowed when the attribute type is `number`",
                    "type": "string",
                    "x-validation-rules": "The maximum value must be greater than the minimum value",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "media_type": {
                    "description": "For the `media_link` attribute type, it is the type of the media behind the url, to allow its preview in the PIM. For the `media_file` attribute type, it is the type of the file.",
                    "enum": [
                      "image",
                      "pdf",
                      "youtube",
                      "vimeo",
                      "other"
                    ],
                    "type": "string",
                    "x-warning": "Only required for `media_link` and `media_file` attribute types"
                  },
                  "min_value": {
                    "default": null,
                    "description": "Minimum value allowed when the attribute type is `number`",
                    "type": "string",
                    "x-validation-rules": "The minimum value must be lower than the maximum value",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "prefix": {
                    "default": null,
                    "description": "Prefix of the `media_link` attribute type. The common url root that prefixes the link to the media",
                    "type": "string",
                    "x-warning": "Only for `media_link` attribute type"
                  },
                  "suffix": {
                    "default": null,
                    "description": "Suffix of the `media_link` attribute type. The common url suffix for the media",
                    "type": "string",
                    "x-warning": "Only for `media_link` attribute type"
                  },
                  "type": {
                    "description": "Attribute type. See <a href='/concepts/asset-manager.html#asset-attribute'>type</a> section for more details.",
                    "enum": [
                      "text",
                      "media_link",
                      "number",
                      "media_file",
                      "single_option",
                      "multiple_options",
                      "reference_entity_single_link",
                      "reference_entity_multiple_links",
                      "boolean"
                    ],
                    "type": "string",
                    "x-immutable": true
                  },
                  "validation_regexp": {
                    "default": null,
                    "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                    "type": "string",
                    "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "validation_rule": {
                    "default": "none",
                    "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                    "enum": [
                      "email",
                      "url",
                      "regexp",
                      "none"
                    ],
                    "type": "string",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "value_per_channel": {
                    "default": false,
                    "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                    "type": "boolean",
                    "x-immutable": true
                  },
                  "value_per_locale": {
                    "default": false,
                    "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                    "type": "boolean",
                    "x-immutable": true
                  }
                },
                "required": [
                  "code",
                  "type",
                  "media_type"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "x-examples": [
              {
                "code": "model_is_wearing_size",
                "is_required_for_completeness": true,
                "labels": {
                  "en_US": "Model is wearing size",
                  "fr_FR": "Le mannequin porte la taille"
                },
                "type": "single_option",
                "value_per_channel": false,
                "value_per_locale": false
              },
              {
                "code": "media_link",
                "is_required_for_completeness": true,
                "labels": {
                  "en_US": "Media link",
                  "fr_FR": "Lien vers le média"
                },
                "media_type": "image",
                "prefix": "https://my-dam.com/",
                "suffix": "?height=630&width=485",
                "type": "media_link",
                "value_per_channel": false,
                "value_per_locale": false
              },
              {
                "code": "warning_mention",
                "is_required_for_completeness": false,
                "is_rich_text_editor": false,
                "is_textarea": false,
                "labels": {
                  "en_US": "Warning mention",
                  "fr_FR": "Phrase d'avertissement"
                },
                "max_characters": "50",
                "type": "text",
                "validation_regexp": null,
                "validation_rule": "none",
                "value_per_channel": false,
                "value_per_locale": true
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get the list of attributes of a given asset family",
        "tags": [
          "Asset attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/attributes/{attribute_code}/options": {
      "get": {
        "description": "This endpoint allows you to get a list of attribute options for a given asset family.",
        "operationId": "get_asset_family_attributes__attribute_code__options",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the options of the given attribute of the given asset family",
            "schema": {
              "items": {
                "example": {
                  "code": "small",
                  "labels": {
                    "en_US": "S",
                    "fr_FR": "S"
                  }
                },
                "properties": {
                  "code": {
                    "description": "Attribute's option code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "labels": {
                    "default": {},
                    "description": "Attribute labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Attribute label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "x-examples": [
              {
                "code": "unique_size",
                "labels": {
                  "en_US": "Unique size",
                  "fr_FR": "Taille unique"
                }
              },
              {
                "code": "size_27",
                "labels": {
                  "en_US": "Size 27",
                  "fr_FR": "Taille 36"
                }
              },
              {
                "code": "small",
                "labels": {
                  "en_US": "S",
                  "fr_FR": "S"
                }
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of attribute options of a given attribute for a given asset family",
        "tags": [
          "Asset attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/attributes/{attribute_code}/options/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given asset attribute option.",
        "operationId": "get_asset_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "small",
                "labels": {
                  "en_US": "S",
                  "fr_FR": "S"
                }
              },
              "properties": {
                "code": {
                  "description": "Attribute's option code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset attribute option in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute option for a given attribute of a given asset family",
        "tags": [
          "Asset attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given option for a given attribute and a given asset family. Learn more about the <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if the option does not already exist for the given attribute of the given asset family, it creates it.",
        "operationId": "patch_asset_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "small",
                "labels": {
                  "en_US": "S",
                  "fr_FR": "S"
                }
              },
              "properties": {
                "code": {
                  "description": "Attribute's option code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an asset attribute option for a given asset family",
        "tags": [
          "Asset attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{asset_family_code}/attributes/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute for a given asset family.",
        "operationId": "get_asset_family_attributes__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "model_is_wearing_size",
                "is_required_for_completeness": true,
                "labels": {
                  "en_US": "Model is wearing size",
                  "fr_FR": "Le mannequin porte la taille"
                },
                "type": "single_option",
                "value_per_channel": false,
                "value_per_locale": false
              },
              "properties": {
                "allowed_extensions": {
                  "default": [],
                  "description": "Extensions allowed when the attribute type is `media_file`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `media_file` attribute type"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "decimals_allowed": {
                  "default": false,
                  "description": "Whether decimals are allowed when the attribute type is `number`",
                  "type": "boolean",
                  "x-warning": "Only for `number` attribute type"
                },
                "is_read_only": {
                  "default": false,
                  "description": "Whether the attribute should be in read only mode only in the UI, but you can still update it with the API",
                  "type": "boolean"
                },
                "is_required_for_completeness": {
                  "default": false,
                  "description": "Whether the attribute should be part of the record's completeness calculation",
                  "type": "boolean"
                },
                "is_rich_text_editor": {
                  "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                  "type": "boolean",
                  "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                  "x-warning": "Only for `text` attribute type"
                },
                "is_textarea": {
                  "default": false,
                  "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                  "type": "boolean",
                  "x-warning": "Only for `text` attribute type"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "max_characters": {
                  "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                  "type": "integer",
                  "x-warning": "Only for `text` attribute type"
                },
                "max_file_size": {
                  "default": null,
                  "description": "Max file size in MB when the attribute type is `media_file`",
                  "type": "string",
                  "x-warning": "Only for `media_file` attribute type"
                },
                "max_value": {
                  "default": null,
                  "description": "Maximum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The maximum value must be greater than the minimum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "media_type": {
                  "description": "For the `media_link` attribute type, it is the type of the media behind the url, to allow its preview in the PIM. For the `media_file` attribute type, it is the type of the file.",
                  "enum": [
                    "image",
                    "pdf",
                    "youtube",
                    "vimeo",
                    "other"
                  ],
                  "type": "string",
                  "x-warning": "Only required for `media_link` and `media_file` attribute types"
                },
                "min_value": {
                  "default": null,
                  "description": "Minimum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The minimum value must be lower than the maximum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "prefix": {
                  "default": null,
                  "description": "Prefix of the `media_link` attribute type. The common url root that prefixes the link to the media",
                  "type": "string",
                  "x-warning": "Only for `media_link` attribute type"
                },
                "suffix": {
                  "default": null,
                  "description": "Suffix of the `media_link` attribute type. The common url suffix for the media",
                  "type": "string",
                  "x-warning": "Only for `media_link` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/asset-manager.html#asset-attribute'>type</a> section for more details.",
                  "enum": [
                    "text",
                    "media_link",
                    "number",
                    "media_file",
                    "single_option",
                    "multiple_options",
                    "reference_entity_single_link",
                    "reference_entity_multiple_links",
                    "boolean"
                  ],
                  "type": "string",
                  "x-immutable": true
                },
                "validation_regexp": {
                  "default": null,
                  "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                  "type": "string",
                  "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                  "x-warning": "Only for `text` attribute type"
                },
                "validation_rule": {
                  "default": "none",
                  "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                  "enum": [
                    "email",
                    "url",
                    "regexp",
                    "none"
                  ],
                  "type": "string",
                  "x-warning": "Only for `text` attribute type"
                },
                "value_per_channel": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "value_per_locale": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                }
              },
              "required": [
                "code",
                "type",
                "media_type"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset attribute in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute of a given asset family",
        "tags": [
          "Asset attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given attribute for a given asset family. Note that if the attribute does not already exist for the given asset family, it creates it.",
        "operationId": "patch_asset_family_attributes__code_",
        "parameters": [
          {
            "description": "Code of the asset family",
            "in": "path",
            "name": "asset_family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "model_is_wearing_size",
                "is_required_for_completeness": true,
                "labels": {
                  "en_US": "Model is wearing size",
                  "fr_FR": "Le mannequin porte la taille"
                },
                "type": "single_option",
                "value_per_channel": false,
                "value_per_locale": false
              },
              "properties": {
                "allowed_extensions": {
                  "default": [],
                  "description": "Extensions allowed when the attribute type is `media_file`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `media_file` attribute type"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "decimals_allowed": {
                  "default": false,
                  "description": "Whether decimals are allowed when the attribute type is `number`",
                  "type": "boolean",
                  "x-warning": "Only for `number` attribute type"
                },
                "is_read_only": {
                  "default": false,
                  "description": "Whether the attribute should be in read only mode only in the UI, but you can still update it with the API",
                  "type": "boolean"
                },
                "is_required_for_completeness": {
                  "default": false,
                  "description": "Whether the attribute should be part of the record's completeness calculation",
                  "type": "boolean"
                },
                "is_rich_text_editor": {
                  "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                  "type": "boolean",
                  "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                  "x-warning": "Only for `text` attribute type"
                },
                "is_textarea": {
                  "default": false,
                  "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                  "type": "boolean",
                  "x-warning": "Only for `text` attribute type"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "max_characters": {
                  "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                  "type": "integer",
                  "x-warning": "Only for `text` attribute type"
                },
                "max_file_size": {
                  "default": null,
                  "description": "Max file size in MB when the attribute type is `media_file`",
                  "type": "string",
                  "x-warning": "Only for `media_file` attribute type"
                },
                "max_value": {
                  "default": null,
                  "description": "Maximum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The maximum value must be greater than the minimum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "media_type": {
                  "description": "For the `media_link` attribute type, it is the type of the media behind the url, to allow its preview in the PIM. For the `media_file` attribute type, it is the type of the file.",
                  "enum": [
                    "image",
                    "pdf",
                    "youtube",
                    "vimeo",
                    "other"
                  ],
                  "type": "string",
                  "x-warning": "Only required for `media_link` and `media_file` attribute types"
                },
                "min_value": {
                  "default": null,
                  "description": "Minimum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The minimum value must be lower than the maximum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "prefix": {
                  "default": null,
                  "description": "Prefix of the `media_link` attribute type. The common url root that prefixes the link to the media",
                  "type": "string",
                  "x-warning": "Only for `media_link` attribute type"
                },
                "suffix": {
                  "default": null,
                  "description": "Suffix of the `media_link` attribute type. The common url suffix for the media",
                  "type": "string",
                  "x-warning": "Only for `media_link` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/asset-manager.html#asset-attribute'>type</a> section for more details.",
                  "enum": [
                    "text",
                    "media_link",
                    "number",
                    "media_file",
                    "single_option",
                    "multiple_options",
                    "reference_entity_single_link",
                    "reference_entity_multiple_links",
                    "boolean"
                  ],
                  "type": "string",
                  "x-immutable": true
                },
                "validation_regexp": {
                  "default": null,
                  "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                  "type": "string",
                  "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                  "x-warning": "Only for `text` attribute type"
                },
                "validation_rule": {
                  "default": "none",
                  "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                  "enum": [
                    "email",
                    "url",
                    "regexp",
                    "none"
                  ],
                  "type": "string",
                  "x-warning": "Only for `text` attribute type"
                },
                "value_per_channel": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "value_per_locale": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                }
              },
              "required": [
                "code",
                "type",
                "media_type"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an attribute of a given asset family",
        "tags": [
          "Asset attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-families/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given asset family.",
        "operationId": "get_asset_family__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "attribute_as_main_media": "main_image",
                "code": "model_pictures",
                "labels": {
                  "en_US": "Model pictures",
                  "fr_FR": "Photographies en pied"
                },
                "naming_convention": {
                  "abort_asset_creation_on_error": true,
                  "pattern": "/(?P<product_ref>.*)-.*/",
                  "source": {
                    "channel": null,
                    "locale": null,
                    "property": "code"
                  }
                },
                "product_link_rules": [
                  {
                    "assign_assets_to": [
                      {
                        "attribute": "model_pictures",
                        "mode": "replace"
                      }
                    ],
                    "product_selections": [
                      {
                        "field": "sku",
                        "operator": "EQUALS",
                        "value": "{{product_ref}}"
                      }
                    ]
                  }
                ],
                "transformations": [
                  {
                    "filename_suffix": "_thumbnailBW",
                    "label": "Thumbnail plus black and white transformation",
                    "operations": [
                      {
                        "parameters": {
                          "height": 150,
                          "width": 150
                        },
                        "type": "thumbnail"
                      },
                      {
                        "parameters": {
                          "colorspace": "grey"
                        },
                        "type": "colorspace"
                      }
                    ],
                    "source": {
                      "attribute": "main_image",
                      "channel": null,
                      "locale": null
                    },
                    "target": {
                      "attribute": "thumbnail",
                      "channel": null,
                      "locale": null
                    }
                  }
                ]
              },
              "properties": {
                "attribute_as_main_media": {
                  "default": "First media file or media link attribute that was created",
                  "description": "Attribute code that is used as the main media of the asset family.",
                  "type": "string",
                  "x-validation-rules": "It should be the code of an attribute that belongs to this family, and it must be a media file or a media link attribute type."
                },
                "code": {
                  "description": "Asset family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Asset family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Asset family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "naming_convention": {
                  "default": {},
                  "description": "The naming convention ran over the asset code or the main media filename upon each asset creation, in order to automatically set several values in asset attributes. To learn more and see the format of this property, take a look at <a href='/concepts/asset-manager.html#focus-on-the-naming-convention'>here</a>.",
                  "properties": {
                    "abort_asset_creation_on_error": {
                      "description": "Whether the asset should be created if the naming convention failed to apply. More details <a href='/concepts/asset-manager.html#abort-asset-creation-on-error'>here</a>.",
                      "type": "boolean"
                    },
                    "pattern": {
                      "description": "The regular expression that should be applied on the source. More details <a href='/concepts/asset-manager.html#pattern'>here</a>.",
                      "type": "string"
                    },
                    "source": {
                      "description": "The string on which the naming convention should be applied. More details <a href='/concepts/asset-manager.html#source'>here</a>.",
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our naming convention format."
                },
                "product_link_rules": {
                  "default": [],
                  "description": "The rules that will be run after the asset creation, in order to automatically link the assets of this family to a set of products. To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-product-link-rule'>here</a>.",
                  "items": {
                    "properties": {
                      "assign_assets_to": {
                        "description": "The product value in which your assets will be assigned. More details <a href='/concepts/asset-manager.html#product-value-assignment'>here</a>.",
                        "items": {
                          "properties": {
                            "attribute": {
                              "type": "string"
                            },
                            "channel": {
                              "type": "string"
                            },
                            "locale": {
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "attribute",
                            "mode"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "product_selections": {
                        "description": "The product selection to which the assets of the asset family to be automatically linked. More details <a href='/concepts/asset-manager.html#product-selection'>here</a>.",
                        "items": {
                          "properties": {
                            "channel": {
                              "type": "string"
                            },
                            "field": {
                              "type": "string"
                            },
                            "locale": {
                              "type": "string"
                            },
                            "operator": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "field",
                            "operator",
                            "value"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our product link rule format."
                },
                "transformations": {
                  "default": [],
                  "description": "The transformations to perform on source files in order to generate new files into your asset attributes (only available since v4.0). To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-transformations'>here</a>.",
                  "items": {
                    "properties": {
                      "filename_prefix": {
                        "description": "The prefix that will be prepended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                        "type": "string"
                      },
                      "filename_suffix": {
                        "description": "The suffix that will be appended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                        "type": "string"
                      },
                      "label": {
                        "description": "The name of the transformation",
                        "type": "string"
                      },
                      "operations": {
                        "description": "The transformations that should be applied to your source file to generate the target file. More details <a href='/concepts/asset-manager.html#transformation-operations'>here</a>.",
                        "properties": {
                          "parameters": {
                            "properties": {
                              "colorspace": {
                                "type": "string"
                              },
                              "height": {
                                "type": "integer"
                              },
                              "quality": {
                                "type": "integer"
                              },
                              "ratio": {
                                "type": "integer"
                              },
                              "resolution-unit": {
                                "type": "string"
                              },
                              "resolution-x": {
                                "type": "integer"
                              },
                              "resolution-y": {
                                "type": "integer"
                              },
                              "width": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "Should contain at least one operation"
                      },
                      "source": {
                        "description": "The attribute value in which is stored the media file you want to use as the source file for your transformation. More details <a href='/concepts/asset-manager.html#source-file'>here</a>.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "channel": {
                            "type": "string"
                          },
                          "locale": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "attribute",
                          "channel",
                          "locale"
                        ],
                        "type": "object"
                      },
                      "target": {
                        "description": "The attribute value in which the PIM will generate the new transformed file, aka the target file. More details <a href='/concepts/asset-manager.html#target-file'>here</a>.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "channel": {
                            "type": "string"
                          },
                          "locale": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "attribute",
                          "channel",
                          "locale"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "label",
                      "target",
                      "source",
                      "operations"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "4.0",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our transformation format."
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset family in JSON format."
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an asset family",
        "tags": [
          "Asset family"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given asset family. Note that if the asset family does not already exist, it creates it.",
        "operationId": "patch_asset_family__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "attribute_as_main_media": "main_image",
                "code": "model_pictures",
                "labels": {
                  "en_US": "Model pictures",
                  "fr_FR": "Photographies en pied"
                },
                "naming_convention": {
                  "abort_asset_creation_on_error": true,
                  "pattern": "/(?P<product_ref>.*)-.*/",
                  "source": {
                    "channel": null,
                    "locale": null,
                    "property": "code"
                  }
                },
                "product_link_rules": [
                  {
                    "assign_assets_to": [
                      {
                        "attribute": "model_pictures",
                        "mode": "replace"
                      }
                    ],
                    "product_selections": [
                      {
                        "field": "sku",
                        "operator": "EQUALS",
                        "value": "{{product_ref}}"
                      }
                    ]
                  }
                ],
                "transformations": [
                  {
                    "filename_suffix": "_thumbnailBW",
                    "label": "Thumbnail plus black and white transformation",
                    "operations": [
                      {
                        "parameters": {
                          "height": 150,
                          "width": 150
                        },
                        "type": "thumbnail"
                      },
                      {
                        "parameters": {
                          "colorspace": "grey"
                        },
                        "type": "colorspace"
                      }
                    ],
                    "source": {
                      "attribute": "main_image",
                      "channel": null,
                      "locale": null
                    },
                    "target": {
                      "attribute": "thumbnail",
                      "channel": null,
                      "locale": null
                    }
                  }
                ]
              },
              "properties": {
                "attribute_as_main_media": {
                  "default": "First media file or media link attribute that was created",
                  "description": "Attribute code that is used as the main media of the asset family.",
                  "type": "string",
                  "x-validation-rules": "It should be the code of an attribute that belongs to this family, and it must be a media file or a media link attribute type."
                },
                "code": {
                  "description": "Asset family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Asset family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Asset family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "naming_convention": {
                  "default": {},
                  "description": "The naming convention ran over the asset code or the main media filename upon each asset creation, in order to automatically set several values in asset attributes. To learn more and see the format of this property, take a look at <a href='/concepts/asset-manager.html#focus-on-the-naming-convention'>here</a>.",
                  "properties": {
                    "abort_asset_creation_on_error": {
                      "description": "Whether the asset should be created if the naming convention failed to apply. More details <a href='/concepts/asset-manager.html#abort-asset-creation-on-error'>here</a>.",
                      "type": "boolean"
                    },
                    "pattern": {
                      "description": "The regular expression that should be applied on the source. More details <a href='/concepts/asset-manager.html#pattern'>here</a>.",
                      "type": "string"
                    },
                    "source": {
                      "description": "The string on which the naming convention should be applied. More details <a href='/concepts/asset-manager.html#source'>here</a>.",
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our naming convention format."
                },
                "product_link_rules": {
                  "default": [],
                  "description": "The rules that will be run after the asset creation, in order to automatically link the assets of this family to a set of products. To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-product-link-rule'>here</a>.",
                  "items": {
                    "properties": {
                      "assign_assets_to": {
                        "description": "The product value in which your assets will be assigned. More details <a href='/concepts/asset-manager.html#product-value-assignment'>here</a>.",
                        "items": {
                          "properties": {
                            "attribute": {
                              "type": "string"
                            },
                            "channel": {
                              "type": "string"
                            },
                            "locale": {
                              "type": "string"
                            },
                            "mode": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "attribute",
                            "mode"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "product_selections": {
                        "description": "The product selection to which the assets of the asset family to be automatically linked. More details <a href='/concepts/asset-manager.html#product-selection'>here</a>.",
                        "items": {
                          "properties": {
                            "channel": {
                              "type": "string"
                            },
                            "field": {
                              "type": "string"
                            },
                            "locale": {
                              "type": "string"
                            },
                            "operator": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "field",
                            "operator",
                            "value"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our product link rule format."
                },
                "transformations": {
                  "default": [],
                  "description": "The transformations to perform on source files in order to generate new files into your asset attributes (only available since v4.0). To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-transformations'>here</a>.",
                  "items": {
                    "properties": {
                      "filename_prefix": {
                        "description": "The prefix that will be prepended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                        "type": "string"
                      },
                      "filename_suffix": {
                        "description": "The suffix that will be appended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                        "type": "string"
                      },
                      "label": {
                        "description": "The name of the transformation",
                        "type": "string"
                      },
                      "operations": {
                        "description": "The transformations that should be applied to your source file to generate the target file. More details <a href='/concepts/asset-manager.html#transformation-operations'>here</a>.",
                        "properties": {
                          "parameters": {
                            "properties": {
                              "colorspace": {
                                "type": "string"
                              },
                              "height": {
                                "type": "integer"
                              },
                              "quality": {
                                "type": "integer"
                              },
                              "ratio": {
                                "type": "integer"
                              },
                              "resolution-unit": {
                                "type": "string"
                              },
                              "resolution-x": {
                                "type": "integer"
                              },
                              "resolution-y": {
                                "type": "integer"
                              },
                              "width": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "Should contain at least one operation"
                      },
                      "source": {
                        "description": "The attribute value in which is stored the media file you want to use as the source file for your transformation. More details <a href='/concepts/asset-manager.html#source-file'>here</a>.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "channel": {
                            "type": "string"
                          },
                          "locale": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "attribute",
                          "channel",
                          "locale"
                        ],
                        "type": "object"
                      },
                      "target": {
                        "description": "The attribute value in which the PIM will generate the new transformed file, aka the target file. More details <a href='/concepts/asset-manager.html#target-file'>here</a>.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "channel": {
                            "type": "string"
                          },
                          "locale": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "attribute",
                          "channel",
                          "locale"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "label",
                      "target",
                      "source",
                      "operations"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "4.0",
                  "x-validation-rules": "To know more about the validation of this property, take a look at our transformation format."
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an asset family",
        "tags": [
          "Asset family"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-media-files": {
      "post": {
        "description": "This endpoint allows you to create a new media file and associate it to a media file attribute value of an asset.",
        "operationId": "post_asset_media_files",
        "parameters": [
          {
            "description": "Equal to 'multipart/form-data', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "file": {
                  "description": "The binary of the media file",
                  "format": "binary",
                  "type": "string"
                }
              },
              "required": [
                "file"
              ]
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Asset-media-file-code": {
                "description": "Code of the media file",
                "type": "string"
              },
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the media file creation was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `multipart/form-data`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new media file for an asset",
        "tags": [
          "Asset media file"
        ],
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-media-files/{code}": {
      "get": {
        "description": "This endpoint allows you to download a given media file that is associated with an asset.",
        "operationId": "get_asset_media_files__code",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the media file",
            "x-details": "Returns the binary of the media file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download the media file associated to an asset",
        "tags": [
          "Asset media file"
        ],
        "x-content-type": "Mime-type of the media file",
        "x-ee": true,
        "x-versions": [
          "3.2",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/asset-tags": {
      "get": {
        "description": "This endpoint allows you to get a list of PAM asset tags. PAM asset tags are paginated.",
        "operationId": "get_asset_tags",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns PAM asset tags paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-tags/tshirt"
                      }
                    },
                    "code": "tshirt"
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-tags/belt"
                      }
                    },
                    "code": "belt"
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/asset-tags/red"
                      }
                    },
                    "code": "red"
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-tags?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-tags?page=3&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-tags?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/asset-tags?page=2&limit=3"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "tshirt"
                                },
                                "properties": {
                                  "code": {
                                    "description": "PAM asset tag code",
                                    "type": "string",
                                    "x-immutable": true
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "PAM Asset Tags",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of PAM asset tags",
        "tags": [
          "PAM asset tag"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/asset-tags/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given PAM asset tag.",
        "operationId": "get_asset_tags__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "tshirt"
              },
              "properties": {
                "code": {
                  "description": "PAM asset tag code",
                  "type": "string",
                  "x-immutable": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the asset tag in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a PAM asset tag",
        "tags": [
          "PAM asset tag"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given PAM asset tag. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no tag exists for the given code, it creates it.",
        "operationId": "patch_asset_tags__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "tshirt"
              },
              "properties": {
                "code": {
                  "description": "PAM asset tag code",
                  "type": "string",
                  "x-immutable": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a PAM asset tag",
        "tags": [
          "PAM asset tag"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets": {
      "get": {
        "description": "This endpoint allows you to get a list of PAM assets. PAM assets are paginated.",
        "operationId": "get_pam_assets",
        "parameters": [
          {
            "default": "page",
            "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "enum": [
              "page",
              "search_after"
            ],
            "in": "query",
            "name": "pagination_type",
            "required": false,
            "type": "string",
            "x-validation-rules": "One of the following values"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns PAM assets paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture"
                      }
                    },
                    "categories": [
                      "tshirts_assets"
                    ],
                    "code": "tshirt_artemis_main_picture",
                    "description": "The main picture of the Artemis t-shirt",
                    "end_of_use": "2019-09-01T00:00:00+0200",
                    "localizable": false,
                    "reference_files": [
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                        "locale": null
                      }
                    ],
                    "tags": [
                      "tshirts",
                      "red",
                      "summer"
                    ],
                    "variation_files": [
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                          }
                        },
                        "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                        "locale": null,
                        "scope": "e_commerce"
                      },
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                        "locale": null,
                        "scope": "print"
                      }
                    ]
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture"
                      }
                    },
                    "categories": [
                      "tshirts_assets"
                    ],
                    "code": "tshirt_artemis_profile_picture",
                    "description": "The profile picture of the Artemis t-shirt",
                    "end_of_use": "2019-09-01T00:00:00+0200",
                    "localizable": false,
                    "reference_files": [
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/reference-files/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/reference-files/no_locale"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_profile_picture.jpg",
                        "locale": null
                      }
                    ],
                    "tags": [
                      "tshirts",
                      "red",
                      "summer",
                      "profile_views"
                    ],
                    "variation_files": [
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/variation-files/ecommerce/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/variation-files/ecommerce/no_locale"
                          }
                        },
                        "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_profile_picture_ecommerce.jpg",
                        "locale": null,
                        "scope": "e_commerce"
                      },
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/variation-files/print/no_locale/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_profile_picture/variation-files/print/no_locale"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_profile_picture_print.jpg",
                        "locale": null,
                        "scope": "print"
                      }
                    ]
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_maintenance_manual"
                      }
                    },
                    "categories": [
                      "tshirts_assets"
                    ],
                    "code": "tshirt_artemis_maintenance_manual",
                    "description": "The maintenance manual of the Artemis t-shirt",
                    "end_of_use": null,
                    "localizable": true,
                    "reference_files": [
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_maintenance_manual/reference-files/en_US/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_maintenance_manual/reference-files/en_US"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_maintenance_manual_en_US.pdf",
                        "locale": "en_US"
                      },
                      {
                        "_link": {
                          "download": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_maintenance_manual/reference-files/fr_FR/download"
                          },
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_maintenance_manual/reference-files/fr_FR"
                          }
                        },
                        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_maintenance_manual_fr_FR.pdf",
                        "locale": "fr_FR"
                      }
                    ],
                    "tags": [
                      "tshirts",
                      "manuals"
                    ],
                    "variation_files": []
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/assets?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/assets?page=3&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/assets?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/assets?page=2&limit=3"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "categories": [
                                    "tshirts_assets"
                                  ],
                                  "code": "tshirt_artemis_main_picture",
                                  "description": "The main picture of the Artemis t-shirt",
                                  "end_of_use": "2019-09-01T00:00:00+0200",
                                  "localizable": false,
                                  "reference_files": [
                                    {
                                      "_link": {
                                        "download": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                                        },
                                        "self": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                                        }
                                      },
                                      "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                                      "locale": null
                                    }
                                  ],
                                  "tags": [
                                    "tshirts",
                                    "red",
                                    "summer"
                                  ],
                                  "variation_files": [
                                    {
                                      "_link": {
                                        "download": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                                        },
                                        "self": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                                        }
                                      },
                                      "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                                      "locale": null,
                                      "scope": "e_commerce"
                                    },
                                    {
                                      "_link": {
                                        "download": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                                        },
                                        "self": {
                                          "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                                        }
                                      },
                                      "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                                      "locale": null,
                                      "scope": "print"
                                    }
                                  ]
                                },
                                "properties": {
                                  "categories": {
                                    "default": [],
                                    "description": "Codes of the PAM asset categories in which the asset is classified",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing asset category code"
                                  },
                                  "code": {
                                    "description": "PAM asset code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "description": {
                                    "default": null,
                                    "description": "Description of the PAM asset",
                                    "type": "string"
                                  },
                                  "end_of_use": {
                                    "default": null,
                                    "description": "Date on which the PAM asset expire",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-validation-rules": "The date follows the ISO 8601 format"
                                  },
                                  "localizable": {
                                    "default": false,
                                    "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "reference_files": {
                                    "description": "Reference files of the PAM asset",
                                    "items": {
                                      "properties": {
                                        "_link": {
                                          "description": "Links to get and download the reference file",
                                          "properties": {
                                            "download": {
                                              "properties": {
                                                "href": {
                                                  "description": "URI to download the reference file",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "self": {
                                              "properties": {
                                                "href": {
                                                  "description": "URI of the reference file entity",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "code": {
                                          "description": "Code of the reference file",
                                          "type": "string"
                                        },
                                        "locale": {
                                          "description": "Locale code of the reference file",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-read-only": true
                                  },
                                  "tags": {
                                    "default": [],
                                    "description": "Tags of the PAM asset",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "variation_files": {
                                    "description": "Variations of the PAM asset",
                                    "items": {
                                      "properties": {
                                        "_link": {
                                          "description": "Links to get and download the variation file",
                                          "properties": {
                                            "download": {
                                              "properties": {
                                                "href": {
                                                  "description": "URI to download the variation file",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "self": {
                                              "properties": {
                                                "href": {
                                                  "description": "URI of the variation entity",
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "code": {
                                          "description": "Code of the variation",
                                          "type": "string"
                                        },
                                        "locale": {
                                          "description": "Locale code of the variation",
                                          "type": "string"
                                        },
                                        "scope": {
                                          "description": "Channel code of the variation",
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-read-only": true
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "PAM Assets",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of PAM assets",
        "tags": [
          "PAM asset"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update several PAM assets at once.",
        "operationId": "patch_pam_assets",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "categories": [
                  "tshirts_assets"
                ],
                "code": "tshirt_artemis_main_picture",
                "description": "The main picture of the Artemis t-shirt",
                "end_of_use": "2019-09-01T00:00:00+0200",
                "localizable": false,
                "reference_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                    "locale": null
                  }
                ],
                "tags": [
                  "tshirts",
                  "red",
                  "summer"
                ],
                "variation_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                      }
                    },
                    "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                    "locale": null,
                    "scope": "e_commerce"
                  },
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                    "locale": null,
                    "scope": "print"
                  }
                ]
              },
              "properties": {
                "categories": {
                  "default": [],
                  "description": "Codes of the PAM asset categories in which the asset is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing asset category code"
                },
                "code": {
                  "description": "PAM asset code",
                  "type": "string",
                  "x-immutable": true
                },
                "description": {
                  "default": null,
                  "description": "Description of the PAM asset",
                  "type": "string"
                },
                "end_of_use": {
                  "default": null,
                  "description": "Date on which the PAM asset expire",
                  "format": "dateTime",
                  "type": "string",
                  "x-validation-rules": "The date follows the ISO 8601 format"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "reference_files": {
                  "description": "Reference files of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the reference file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the reference file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the reference file entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the reference file",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the reference file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                },
                "tags": {
                  "default": [],
                  "description": "Tags of the PAM asset",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "variation_files": {
                  "description": "Variations of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the variation file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the variation file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the variation entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the variation",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the variation",
                        "type": "string"
                      },
                      "scope": {
                        "description": "Channel code of the variation",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"tshirt_aria_main_picture\",\"categories\":[\"tshirts_assets\"],\"tags\":[\"tshirts\", \"red\", \"summer\"]}",
                "x-example-2": "{\"code\":\"tshirt_artemis_maintenance_manual\",\"categories\":[\"tshirts_assets\",\"short_sleeve\"]}",
                "x-example-3": "{\"code\":\"tshirt_artemis_main_picture\",\"tags\":[\"tshirts\", \"red\", \"summer\",\"short_sleeve\"]}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"tshirt_aria_main_picture\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"tshirt_artemis_maintenance_manual\",\"status_code\":422,\"message\":\"Category \"short_sleeve\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"tshirt_artemis_main_picture\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several PAM assets",
        "tags": [
          "PAM asset"
        ],
        "x-body-by-line": "Contains several lines, each line is a PAM asset in JSON format",
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new PAM asset.",
        "operationId": "post_pam_assets",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "categories": [
                  "tshirts_assets"
                ],
                "code": "tshirt_artemis_main_picture",
                "description": "The main picture of the Artemis t-shirt",
                "end_of_use": "2019-09-01T00:00:00+0200",
                "localizable": false,
                "reference_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                    "locale": null
                  }
                ],
                "tags": [
                  "tshirts",
                  "red",
                  "summer"
                ],
                "variation_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                      }
                    },
                    "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                    "locale": null,
                    "scope": "e_commerce"
                  },
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                    "locale": null,
                    "scope": "print"
                  }
                ]
              },
              "properties": {
                "categories": {
                  "default": [],
                  "description": "Codes of the PAM asset categories in which the asset is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing asset category code"
                },
                "code": {
                  "description": "PAM asset code",
                  "type": "string",
                  "x-immutable": true
                },
                "description": {
                  "default": null,
                  "description": "Description of the PAM asset",
                  "type": "string"
                },
                "end_of_use": {
                  "default": null,
                  "description": "Date on which the PAM asset expire",
                  "format": "dateTime",
                  "type": "string",
                  "x-validation-rules": "The date follows the ISO 8601 format"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "reference_files": {
                  "description": "Reference files of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the reference file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the reference file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the reference file entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the reference file",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the reference file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                },
                "tags": {
                  "default": [],
                  "description": "Tags of the PAM asset",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "variation_files": {
                  "description": "Variations of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the variation file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the variation file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the variation entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the variation",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the variation",
                        "type": "string"
                      },
                      "scope": {
                        "description": "Channel code of the variation",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new PAM asset",
        "tags": [
          "PAM asset"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets/{asset_code}/reference-files/{locale_code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a reference file of a given PAM asset.",
        "operationId": "get_reference_files__locale_code_",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "_link": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                  }
                },
                "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                "locale": null
              },
              "properties": {
                "_link": {
                  "description": "Links to get and download the reference file",
                  "properties": {
                    "download": {
                      "properties": {
                        "href": {
                          "description": "URI to download the reference file",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "code": {
                  "description": "Code of the PAM asset reference file",
                  "type": "string",
                  "x-immutable": true
                },
                "locale": {
                  "description": "Locale of the PAM asset reference file, equal to `null` if the asset is not localizable",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Returns the content of the reference file in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a reference file",
        "tags": [
          "PAM asset reference file"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "post": {
        "description": "This endpoint allows you to upload a new reference file for a given PAM asset and locale. It will also automatically generate all the variation files corresponding to this reference file.",
        "operationId": "post_reference_files__locale_code_",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Equal to 'multipart/form-data', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "file": {
                  "description": "The binaries of the file",
                  "format": "binary",
                  "type": "string"
                }
              },
              "required": [
                "file"
              ]
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "201": {
            "description": "Uploaded",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "schema": {
              "properties": {
                "errors": {
                  "items": {
                    "properties": {
                      "channel": {
                        "description": "Channel for which the variation file generation failed",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale for which the variation file generation failed",
                        "type": "string"
                      },
                      "message": {
                        "description": "Message explaining why the variation file generation failed",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "message": {
                  "description": "Message explaining the warning",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Means that the reference file upload was successful. Beware that even if the reference file upload is complete, some variation files generations could have failed. If so, you will see a warning message in the response body.",
            "x-no-entity": true
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `multipart/form-data`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Upload a new reference file",
        "tags": [
          "PAM asset reference file"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets/{asset_code}/reference-files/{locale_code}/download": {
      "get": {
        "description": "This endpoint allows you to download a given reference file.",
        "operationId": "get_reference_files__channel_code__locale_code__download",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the reference file",
            "x-details": "Returns the binary of the reference file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download a reference file",
        "tags": [
          "PAM asset reference file"
        ],
        "x-content-type": "Mime-type of the reference file",
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets/{asset_code}/variation-files/{channel_code}/{locale_code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a variation file of a given PAM asset.",
        "operationId": "get_variation_files__channel_code__locale_code",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the channel",
            "in": "path",
            "name": "channel_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "_link": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                  }
                },
                "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                "locale": null,
                "scope": "ecommerce"
              },
              "properties": {
                "_link": {
                  "description": "Links to get and download the reference file",
                  "properties": {
                    "download": {
                      "properties": {
                        "href": {
                          "description": "URI to download the variation file",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "code": {
                  "description": "Code of the PAM asset variation file",
                  "type": "string",
                  "x-immutable": true
                },
                "locale": {
                  "description": "Locale of the PAM asset variation file, equal to `null` if the asset is not localizable",
                  "type": "string"
                },
                "scope": {
                  "description": "Channel of the PAM asset variation file",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Returns the content of the variation file in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a variation file",
        "tags": [
          "PAM asset variation file"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "post": {
        "description": "This endpoint allows you to upload a new variation file for a given PAM asset, channel and locale.",
        "operationId": "post_variation_files__channel_code__locale_code_",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the channel",
            "in": "path",
            "name": "channel_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Equal to 'multipart/form-data', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "file": {
                  "description": "The binaries of the file",
                  "format": "binary",
                  "type": "string"
                }
              },
              "required": [
                "file"
              ]
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `multipart/form-data`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Upload a new variation file",
        "tags": [
          "PAM asset variation file"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets/{asset_code}/variation-files/{channel_code}/{locale_code}/download": {
      "get": {
        "description": "This endpoint allows you to download a given variation file.",
        "operationId": "get_variation_files__channel_code__locale_code__download",
        "parameters": [
          {
            "description": "Code of the asset",
            "in": "path",
            "name": "asset_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the channel",
            "in": "path",
            "name": "channel_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the locale if the asset is localizable or equal to `no-locale` if the asset is not localizable",
            "in": "path",
            "name": "locale_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the variation file",
            "x-details": "Returns the binary of the variation file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download a variation file",
        "tags": [
          "PAM asset variation file"
        ],
        "x-content-type": "Mime-type of the variation file",
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/assets/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given PAM asset.",
        "operationId": "get_pam_assets__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "categories": [
                  "tshirts_assets"
                ],
                "code": "tshirt_artemis_main_picture",
                "description": "The main picture of the Artemis t-shirt",
                "end_of_use": "2019-09-01T00:00:00+0200",
                "localizable": false,
                "reference_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                    "locale": null
                  }
                ],
                "tags": [
                  "tshirts",
                  "red",
                  "summer"
                ],
                "variation_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                      }
                    },
                    "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                    "locale": null,
                    "scope": "e_commerce"
                  },
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                    "locale": null,
                    "scope": "print"
                  }
                ]
              },
              "properties": {
                "categories": {
                  "default": [],
                  "description": "Codes of the PAM asset categories in which the asset is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing asset category code"
                },
                "code": {
                  "description": "PAM asset code",
                  "type": "string",
                  "x-immutable": true
                },
                "description": {
                  "default": null,
                  "description": "Description of the PAM asset",
                  "type": "string"
                },
                "end_of_use": {
                  "default": null,
                  "description": "Date on which the PAM asset expire",
                  "format": "dateTime",
                  "type": "string",
                  "x-validation-rules": "The date follows the ISO 8601 format"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "reference_files": {
                  "description": "Reference files of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the reference file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the reference file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the reference file entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the reference file",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the reference file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                },
                "tags": {
                  "default": [],
                  "description": "Tags of the PAM asset",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "variation_files": {
                  "description": "Variations of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the variation file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the variation file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the variation entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the variation",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the variation",
                        "type": "string"
                      },
                      "scope": {
                        "description": "Channel code of the variation",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the PAM asset in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a PAM asset",
        "tags": [
          "PAM asset"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given PAM asset. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no asset exists for the given code, it creates it.",
        "operationId": "patch_pam_assets__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "categories": [
                  "tshirts_assets"
                ],
                "code": "tshirt_artemis_main_picture",
                "description": "The main picture of the Artemis t-shirt",
                "end_of_use": "2019-09-01T00:00:00+0200",
                "localizable": false,
                "reference_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                    "locale": null
                  }
                ],
                "tags": [
                  "tshirts",
                  "red",
                  "summer"
                ],
                "variation_files": [
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                      }
                    },
                    "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                    "locale": null,
                    "scope": "e_commerce"
                  },
                  {
                    "_link": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                      }
                    },
                    "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                    "locale": null,
                    "scope": "print"
                  }
                ]
              },
              "properties": {
                "categories": {
                  "default": [],
                  "description": "Codes of the PAM asset categories in which the asset is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing asset category code"
                },
                "code": {
                  "description": "PAM asset code",
                  "type": "string",
                  "x-immutable": true
                },
                "description": {
                  "default": null,
                  "description": "Description of the PAM asset",
                  "type": "string"
                },
                "end_of_use": {
                  "default": null,
                  "description": "Date on which the PAM asset expire",
                  "format": "dateTime",
                  "type": "string",
                  "x-validation-rules": "The date follows the ISO 8601 format"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "reference_files": {
                  "description": "Reference files of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the reference file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the reference file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the reference file entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the reference file",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the reference file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                },
                "tags": {
                  "default": [],
                  "description": "Tags of the PAM asset",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "variation_files": {
                  "description": "Variations of the PAM asset",
                  "items": {
                    "properties": {
                      "_link": {
                        "description": "Links to get and download the variation file",
                        "properties": {
                          "download": {
                            "properties": {
                              "href": {
                                "description": "URI to download the variation file",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "self": {
                            "properties": {
                              "href": {
                                "description": "URI of the variation entity",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "code": {
                        "description": "Code of the variation",
                        "type": "string"
                      },
                      "locale": {
                        "description": "Locale code of the variation",
                        "type": "string"
                      },
                      "scope": {
                        "description": "Channel code of the variation",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a PAM asset",
        "tags": [
          "PAM asset"
        ],
        "x-deprecated": true,
        "x-ee": true,
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x"
        ]
      }
    },
    "/api/rest/v1/association-types": {
      "get": {
        "description": "This endpoint allows you to get a list of association types. Association types are paginated and sorted by code.",
        "operationId": "association_types_get_list",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return association types paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/association-types/X_SELL"
                      }
                    },
                    "code": "X_SELL",
                    "is_quantified": false,
                    "is_two_way": false,
                    "labels": {
                      "en_US": "Cross sell",
                      "fr_FR": "Vente croisée"
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/association-types/UPSELL"
                      }
                    },
                    "code": "UPSELL",
                    "is_quantified": false,
                    "is_two_way": false,
                    "labels": {
                      "en_US": "Upsell",
                      "fr_FR": "Vente incitative"
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/association-types/SUBSTITUTION"
                      }
                    },
                    "code": "SUBSTITUTION",
                    "is_quantified": false,
                    "is_two_way": false,
                    "labels": {
                      "en_US": "Substitution",
                      "fr_FR": "Remplacement"
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/association-types?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/association-types?page=1&limit=3"
                }
              },
              "current_page": 1
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "upsell",
                                  "is_quantified": false,
                                  "is_two_way": false,
                                  "labels": {
                                    "en_US": "Upsell",
                                    "fr_FR": "Vente incitative"
                                  }
                                },
                                "properties": {
                                  "code": {
                                    "description": "Association type code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "is_quantified": {
                                    "default": false,
                                    "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "is_two_way": {
                                    "default": false,
                                    "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Association type labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Association type label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Association types",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of association types",
        "tags": [
          "Association type"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several association types at once.",
        "operationId": "several_association_types_patch",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "upsell",
                "is_quantified": false,
                "is_two_way": false,
                "labels": {
                  "en_US": "Upsell",
                  "fr_FR": "Vente incitative"
                }
              },
              "properties": {
                "code": {
                  "description": "Association type code",
                  "type": "string",
                  "x-immutable": true
                },
                "is_quantified": {
                  "default": false,
                  "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "is_two_way": {
                  "default": false,
                  "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Association type labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Association type label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"new_sell\"}",
                "x-example-2": "{\"code\":\"substitution\", \"type\":\"bar\"}",
                "x-example-3": "{\"code\":\"x_cross_sell\", \"is_two_way\": true, \"is_quantified\": false}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"new_sell\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"substitution\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"http:\\/\\/api.akeneo.com\\/api-reference.html#patch_association_types__code_\"}",
              "x-example-3": "{\"line\":3,\"code\":\"x_cross_sell\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several association types",
        "tags": [
          "Association type"
        ],
        "x-body-by-line": "Contains several lines, each line is an association type in JSON standard format",
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new association type.",
        "operationId": "association_types_post",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "upsell",
                "is_quantified": false,
                "is_two_way": false,
                "labels": {
                  "en_US": "Upsell",
                  "fr_FR": "Vente incitative"
                }
              },
              "properties": {
                "code": {
                  "description": "Association type code",
                  "type": "string",
                  "x-immutable": true
                },
                "is_quantified": {
                  "default": false,
                  "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "is_two_way": {
                  "default": false,
                  "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Association type labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Association type label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new association type",
        "tags": [
          "Association type"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/association-types/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given association type.",
        "operationId": "association_types_get",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "upsell",
                "is_quantified": false,
                "is_two_way": false,
                "labels": {
                  "en_US": "Upsell",
                  "fr_FR": "Vente incitative"
                }
              },
              "properties": {
                "code": {
                  "description": "Association type code",
                  "type": "string",
                  "x-immutable": true
                },
                "is_quantified": {
                  "default": false,
                  "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "is_two_way": {
                  "default": false,
                  "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Association type labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Association type label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the association type in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an association type",
        "tags": [
          "Association type"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given association type. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no association type exists for the given code, it creates it.",
        "operationId": "association_types_patch",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "upsell",
                "is_quantified": false,
                "is_two_way": false,
                "labels": {
                  "en_US": "Upsell",
                  "fr_FR": "Vente incitative"
                }
              },
              "properties": {
                "code": {
                  "description": "Association type code",
                  "type": "string",
                  "x-immutable": true
                },
                "is_quantified": {
                  "default": false,
                  "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "is_two_way": {
                  "default": false,
                  "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
                  "type": "boolean",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Association type labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Association type label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an association type",
        "tags": [
          "Association type"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attribute-groups": {
      "get": {
        "description": "This endpoint allows you to get a list of attribute groups. Attribute groups are paginated and sorted by code.",
        "operationId": "attribute_groups_get_list",
        "parameters": [
          {
            "description": "Filter attribute groups, for more details see the <a href=\"/documentation/filter.html#filter-attribute-groups\">Filters</a> section.",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return attribute groups paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups/marketing"
                      }
                    },
                    "attributes": [
                      "sku",
                      "name",
                      "description",
                      "response_time",
                      "release_date",
                      "price"
                    ],
                    "code": "marketing",
                    "labels": {
                      "en_US": "Marketing",
                      "fr_FR": "Marketing"
                    },
                    "sort_order": 4
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups/technical"
                      }
                    },
                    "attributes": [
                      "weight",
                      "maximum_scan_size",
                      "color_scanning",
                      "power_requirements",
                      "maximum_print_size",
                      "sensor_type",
                      "total_megapixels",
                      "optical_zoom",
                      "camera_type"
                    ],
                    "code": "technical",
                    "labels": {
                      "en_US": "Technical",
                      "fr_FR": "Technique"
                    },
                    "sort_order": 5
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups?page=1&limit=2"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups?page=4&limit=2"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups?page=2&limit=2"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attribute-groups?page=3&limit=2"
                }
              },
              "current_page": 3
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "attributes": [
                                    "sku",
                                    "name",
                                    "description",
                                    "response_time",
                                    "release_date",
                                    "price"
                                  ],
                                  "code": "marketing",
                                  "labels": {
                                    "en_US": "Marketing",
                                    "fr_FR": "Marketing"
                                  },
                                  "sort_order": 4
                                },
                                "properties": {
                                  "attributes": {
                                    "default": [],
                                    "description": "Attribute codes that compose the attribute group",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
                                  },
                                  "code": {
                                    "description": "Attribute group code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Attribute group labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Attribute group label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "sort_order": {
                                    "default": 0,
                                    "description": "Attribute group order among other attribute groups",
                                    "type": "integer",
                                    "x-validation-rules": "It is a positive integer"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Attribute groups",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of attribute groups",
        "tags": [
          "Attribute group"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several attribute groups at once.",
        "operationId": "several_attribute_groups_patch",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "response_time",
                  "release_date",
                  "price"
                ],
                "code": "marketing",
                "labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "sort_order": 4
              },
              "properties": {
                "attributes": {
                  "default": [],
                  "description": "Attribute codes that compose the attribute group",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
                },
                "code": {
                  "description": "Attribute group code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "default": 0,
                  "description": "Attribute group order among other attribute groups",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"technical\",\"labels\":{\"en_US\": \"Technical\", \"fr_FR\": \"Technique\"}}",
                "x-example-2": "{\"code\":\"marketing\",\"type\":\"bar\"}",
                "x-example-3": "{\"code\":\"design\",\"sort_order\":7}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"technical\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"marketing\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"http:\\/\\/api.akeneo.com\\/api-reference.html#patch_attribute_groups__code_\"}",
              "x-example-3": "{\"line\":3,\"code\":\"design\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several attribute groups",
        "tags": [
          "Attribute group"
        ],
        "x-body-by-line": "Contains several lines, each line is an attribute group in JSON standard format",
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new attribute group.",
        "operationId": "attribute_groups_post",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "response_time",
                  "release_date",
                  "price"
                ],
                "code": "marketing",
                "labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "sort_order": 4
              },
              "properties": {
                "attributes": {
                  "default": [],
                  "description": "Attribute codes that compose the attribute group",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
                },
                "code": {
                  "description": "Attribute group code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "default": 0,
                  "description": "Attribute group order among other attribute groups",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new attribute group",
        "tags": [
          "Attribute group"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attribute-groups/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute group.",
        "operationId": "attribute_groups_get",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "response_time",
                  "release_date",
                  "price"
                ],
                "code": "marketing",
                "labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "sort_order": 4
              },
              "properties": {
                "attributes": {
                  "default": [],
                  "description": "Attribute codes that compose the attribute group",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
                },
                "code": {
                  "description": "Attribute group code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "default": 0,
                  "description": "Attribute group order among other attribute groups",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the attribute group in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute group",
        "tags": [
          "Attribute group"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given attribute group. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no attribute group exists for the given code, it creates it.",
        "operationId": "attribute_groups_patch",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "response_time",
                  "release_date",
                  "price"
                ],
                "code": "marketing",
                "labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "sort_order": 4
              },
              "properties": {
                "attributes": {
                  "default": [],
                  "description": "Attribute codes that compose the attribute group",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
                },
                "code": {
                  "description": "Attribute group code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "default": 0,
                  "description": "Attribute group order among other attribute groups",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an attribute group",
        "tags": [
          "Attribute group"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attributes": {
      "get": {
        "description": "This endpoint allows you to get a list of attributes. Attributes are paginated and sorted by code.",
        "operationId": "get_attributes",
        "parameters": [
          {
            "description": "Filter attributes, for more details see the <a href=\"/documentation/filter.html#filter-attributes\">Filters</a> section.",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          },
          {
            "default": false,
            "description": "Return the options of 'select' column types (of a table attribute) in the response. (Only available since the 7.0 version)",
            "in": "query",
            "name": "with_table_select_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "7.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Return attributes paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attributes/sku"
                      }
                    },
                    "allowed_extensions": [],
                    "available_locales": [],
                    "code": "sku",
                    "date_max": null,
                    "date_min": null,
                    "decimals_allowed": false,
                    "default_metric_unit": null,
                    "default_value": null,
                    "group": "other",
                    "group_labels": {
                      "en_US": "Other",
                      "fr_FR": "Autre"
                    },
                    "labels": {
                      "en_US": "Identifier",
                      "fr_FR": "Identifiant"
                    },
                    "localizable": false,
                    "max_characters": null,
                    "max_file_size": null,
                    "metric_family": null,
                    "minimum_input_length": null,
                    "negative_allowed": false,
                    "number_max": null,
                    "number_min": null,
                    "reference_data_name": null,
                    "scopable": false,
                    "sort_order": 1,
                    "type": "pim_catalog_identifier",
                    "unique": true,
                    "useable_as_grid_filter": true,
                    "validation_regexp": null,
                    "validation_rule": null,
                    "wysiwyg_enabled": false
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attributes/release_date"
                      }
                    },
                    "allowed_extensions": [],
                    "available_locales": [],
                    "code": "release_date",
                    "date_max": "2017-08-08T22:00:00",
                    "date_min": "2017-06-28T08:00:00",
                    "decimals_allowed": false,
                    "default_metric_unit": null,
                    "default_value": null,
                    "group": "marketing",
                    "labels": {
                      "en_US": "Sale date",
                      "fr_FR": "Date des soldes"
                    },
                    "localizable": false,
                    "max_characters": null,
                    "max_file_size": null,
                    "metric_family": null,
                    "minimum_input_length": null,
                    "negative_allowed": false,
                    "number_max": null,
                    "number_min": null,
                    "reference_data_name": null,
                    "scopable": false,
                    "sort_order": 1,
                    "type": "pim_catalog_date",
                    "unique": false,
                    "useable_as_grid_filter": true,
                    "validation_regexp": null,
                    "validation_rule": null,
                    "wysiwyg_enabled": false
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "http://localhost:8080/api/rest/v1/attributes/food_composition"
                      }
                    },
                    "allowed_extensions": [],
                    "auto_option_sorting": null,
                    "available_locales": [],
                    "code": "food_composition",
                    "date_max": null,
                    "date_min": null,
                    "decimals_allowed": null,
                    "default_metric_unit": null,
                    "default_value": null,
                    "group": "product",
                    "guidelines": {},
                    "is_read_only": null,
                    "labels": {
                      "en_US": "Composition",
                      "fr_FR": "Composition"
                    },
                    "localizable": false,
                    "max_characters": null,
                    "max_file_size": null,
                    "metric_family": null,
                    "minimum_input_length": null,
                    "negative_allowed": null,
                    "number_max": null,
                    "number_min": null,
                    "reference_data_name": null,
                    "scopable": false,
                    "sort_order": 0,
                    "table_configuration": [
                      {
                        "code": "ingredient",
                        "data_type": "select",
                        "is_required_for_completeness": true,
                        "labels": {
                          "en_US": "Ingredient",
                          "fr_FR": "Ingrédient"
                        },
                        "validations": {}
                      },
                      {
                        "code": "percentage",
                        "data_type": "number",
                        "is_required_for_completeness": true,
                        "labels": {
                          "en_US": "%",
                          "fr_FR": "%"
                        },
                        "validations": {
                          "decimals_allowed": true,
                          "max": 100,
                          "min": 0
                        }
                      },
                      {
                        "code": "allergen",
                        "data_type": "boolean",
                        "is_required_for_completeness": false,
                        "labels": {
                          "en_US": "Allergen",
                          "fr_FR": "Allergène"
                        },
                        "validations": {}
                      }
                    ],
                    "type": "pim_catalog_table",
                    "unique": false,
                    "useable_as_grid_filter": false,
                    "validation_regexp": null,
                    "validation_rule": null,
                    "wysiwyg_enabled": null
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes?page=4&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes?page=2&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes?page=3&limit=3"
                }
              },
              "current_page": 3
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "allowed_extensions": [],
                                  "available_locales": [],
                                  "code": "release_date",
                                  "date_max": "2017-08-08T22:00:00",
                                  "date_min": "2017-06-28T08:00:00",
                                  "decimals_allowed": null,
                                  "default_metric_unit": null,
                                  "default_value": null,
                                  "group": "marketing",
                                  "group_labels": {
                                    "en_US": "Marketing",
                                    "fr_FR": "Marketing"
                                  },
                                  "labels": {
                                    "en_US": "Sale date",
                                    "fr_FR": "Date des soldes"
                                  },
                                  "localizable": false,
                                  "max_characters": null,
                                  "max_file_size": null,
                                  "metric_family": null,
                                  "minimum_input_length": null,
                                  "negative_allowed": null,
                                  "number_max": null,
                                  "number_min": null,
                                  "reference_data_name": null,
                                  "scopable": false,
                                  "sort_order": 1,
                                  "type": "pim_catalog_date",
                                  "unique": false,
                                  "useable_as_grid_filter": true,
                                  "validation_regexp": null,
                                  "validation_rule": null,
                                  "wysiwyg_enabled": null
                                },
                                "properties": {
                                  "allowed_extensions": {
                                    "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                                  },
                                  "available_locales": {
                                    "description": "To make the attribute locale specfic, specify here for which locales it is specific",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is an existing and activated locale"
                                  },
                                  "code": {
                                    "description": "Attribute code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "date_max": {
                                    "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
                                    "format": "date-time",
                                    "type": "string",
                                    "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                                    "x-warning": "Only for `pim_catalog_date` attribute type"
                                  },
                                  "date_min": {
                                    "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
                                    "format": "date-time",
                                    "type": "string",
                                    "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                                    "x-warning": "Only for `pim_catalog_date` attribute type"
                                  },
                                  "decimals_allowed": {
                                    "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                                    "type": "boolean",
                                    "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                                  },
                                  "default_metric_unit": {
                                    "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
                                    "type": "string",
                                    "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                                    "x-warning": "Only for `pim_catalog_metric` attribute type"
                                  },
                                  "default_value": {
                                    "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
                                    "type": "boolean",
                                    "x-from-version": "5.0",
                                    "x-warning": "Only for `pim_catalog_boolean` attribute type"
                                  },
                                  "group": {
                                    "description": "Attribute group",
                                    "type": "string",
                                    "x-validation-rules": "It is the code of an existing group"
                                  },
                                  "group_labels": {
                                    "default": {},
                                    "description": "Group labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Group label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-read-only": true,
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Attribute labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Attribute label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "localizable": {
                                    "default": false,
                                    "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "max_characters": {
                                    "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`",
                                    "type": "integer",
                                    "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
                                  },
                                  "max_file_size": {
                                    "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                                    "type": "string",
                                    "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                                  },
                                  "metric_family": {
                                    "description": "Metric family when the attribute type is `pim_catalog_metric`",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                                    "x-warning": "Only for `pim_catalog_metric` attribute type"
                                  },
                                  "negative_allowed": {
                                    "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
                                    "type": "boolean",
                                    "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
                                  },
                                  "number_max": {
                                    "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                                    "type": "string",
                                    "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                                  },
                                  "number_min": {
                                    "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                                    "type": "string",
                                    "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                                  },
                                  "reference_data_name": {
                                    "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`",
                                    "type": "string",
                                    "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"
                                  },
                                  "scopable": {
                                    "default": false,
                                    "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "sort_order": {
                                    "default": 0,
                                    "description": "Order of the attribute in its group",
                                    "type": "integer",
                                    "x-validation-rules": "It is a positive integer"
                                  },
                                  "table_configuration": {
                                    "description": "Configuration of the Table attribute (columns)",
                                    "items": {
                                      "properties": {
                                        "code": {
                                          "description": "Column code",
                                          "type": "string"
                                        },
                                        "data_type": {
                                          "description": "Column data type",
                                          "enum": [
                                            "select",
                                            "text",
                                            "number",
                                            "boolean"
                                          ],
                                          "type": "string"
                                        },
                                        "is_required_for_completeness": {
                                          "default": false,
                                          "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                                          "type": "boolean",
                                          "x-warning": "This value is always true for the first column in a table configuration"
                                        },
                                        "labels": {
                                          "default": {},
                                          "description": "Column labels for each locale",
                                          "properties": {
                                            "localeCode": {
                                              "description": "Column label for the locale `localeCode`",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                        },
                                        "validations": {
                                          "default": {},
                                          "description": "User defined validation constraints on the cell content",
                                          "properties": {
                                            "decimals_allowed": {
                                              "description": "whether the value of a numeric cell can hold a decimal part",
                                              "type": "boolean",
                                              "x-validation-rules": "only for `number` data type columns"
                                            },
                                            "max": {
                                              "description": "maximum value of a numeric cell",
                                              "type": "number",
                                              "x-validation-rules": "only for `number` data type columns"
                                            },
                                            "max_length": {
                                              "description": "maximum length of a text cell",
                                              "type": "number",
                                              "x-validation-rules": "only for `text` data type columns"
                                            },
                                            "min": {
                                              "description": "minimum value of a numeric cell",
                                              "type": "number",
                                              "x-validation-rules": "only for `number` data type columns"
                                            }
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "code",
                                        "data_type"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
                                    "x-warning": "Only for `pim_catalog_table` attribute type"
                                  },
                                  "type": {
                                    "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
                                    "enum": [
                                      "pim_catalog_identifier",
                                      "pim_catalog_metric",
                                      "pim_catalog_number",
                                      "pim_catalog_reference_data_multi_select",
                                      "pim_catalog_reference_data_simple_select",
                                      "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"
                                    ],
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-validation-rules": "The type is one of the following values"
                                  },
                                  "unique": {
                                    "description": "Whether two values for the attribute cannot be the same",
                                    "type": "boolean",
                                    "x-immutable": true
                                  },
                                  "useable_as_grid_filter": {
                                    "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
                                    "type": "boolean"
                                  },
                                  "validation_regexp": {
                                    "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                                    "type": "string",
                                    "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"
                                  },
                                  "validation_rule": {
                                    "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                                    "type": "string",
                                    "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"
                                  },
                                  "wysiwyg_enabled": {
                                    "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
                                    "type": "boolean",
                                    "x-warning": "Only for `pim_catalog_textarea` attribute type"
                                  }
                                },
                                "required": [
                                  "code",
                                  "type",
                                  "group"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Attributes",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of attributes",
        "tags": [
          "Attribute"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several attributes at once.",
        "operationId": "patch_attributes",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "allowed_extensions": [],
                "available_locales": [],
                "code": "release_date",
                "date_max": "2017-08-08T22:00:00",
                "date_min": "2017-06-28T08:00:00",
                "decimals_allowed": null,
                "default_metric_unit": null,
                "default_value": null,
                "group": "marketing",
                "group_labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "labels": {
                  "en_US": "Sale date",
                  "fr_FR": "Date des soldes"
                },
                "localizable": false,
                "max_characters": null,
                "max_file_size": null,
                "metric_family": null,
                "minimum_input_length": null,
                "negative_allowed": null,
                "number_max": null,
                "number_min": null,
                "reference_data_name": null,
                "scopable": false,
                "sort_order": 1,
                "type": "pim_catalog_date",
                "unique": false,
                "useable_as_grid_filter": true,
                "validation_regexp": null,
                "validation_rule": null,
                "wysiwyg_enabled": null
              },
              "properties": {
                "allowed_extensions": {
                  "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "available_locales": {
                  "description": "To make the attribute locale specfic, specify here for which locales it is specific",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing and activated locale"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "date_max": {
                  "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "date_min": {
                  "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "decimals_allowed": {
                  "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "default_metric_unit": {
                  "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "default_value": {
                  "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
                  "type": "boolean",
                  "x-from-version": "5.0",
                  "x-warning": "Only for `pim_catalog_boolean` attribute type"
                },
                "group": {
                  "description": "Attribute group",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing group"
                },
                "group_labels": {
                  "default": {},
                  "description": "Group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-read-only": true,
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "max_characters": {
                  "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`",
                  "type": "integer",
                  "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
                },
                "max_file_size": {
                  "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "metric_family": {
                  "description": "Metric family when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "negative_allowed": {
                  "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
                },
                "number_max": {
                  "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "number_min": {
                  "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "reference_data_name": {
                  "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`",
                  "type": "string",
                  "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"
                },
                "scopable": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "sort_order": {
                  "default": 0,
                  "description": "Order of the attribute in its group",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                },
                "table_configuration": {
                  "description": "Configuration of the Table attribute (columns)",
                  "items": {
                    "properties": {
                      "code": {
                        "description": "Column code",
                        "type": "string"
                      },
                      "data_type": {
                        "description": "Column data type",
                        "enum": [
                          "select",
                          "text",
                          "number",
                          "boolean"
                        ],
                        "type": "string"
                      },
                      "is_required_for_completeness": {
                        "default": false,
                        "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                        "type": "boolean",
                        "x-warning": "This value is always true for the first column in a table configuration"
                      },
                      "labels": {
                        "default": {},
                        "description": "Column labels for each locale",
                        "properties": {
                          "localeCode": {
                            "description": "Column label for the locale `localeCode`",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                      },
                      "validations": {
                        "default": {},
                        "description": "User defined validation constraints on the cell content",
                        "properties": {
                          "decimals_allowed": {
                            "description": "whether the value of a numeric cell can hold a decimal part",
                            "type": "boolean",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max": {
                            "description": "maximum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max_length": {
                            "description": "maximum length of a text cell",
                            "type": "number",
                            "x-validation-rules": "only for `text` data type columns"
                          },
                          "min": {
                            "description": "minimum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "code",
                      "data_type"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
                  "x-warning": "Only for `pim_catalog_table` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
                  "enum": [
                    "pim_catalog_identifier",
                    "pim_catalog_metric",
                    "pim_catalog_number",
                    "pim_catalog_reference_data_multi_select",
                    "pim_catalog_reference_data_simple_select",
                    "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"
                  ],
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "The type is one of the following values"
                },
                "unique": {
                  "description": "Whether two values for the attribute cannot be the same",
                  "type": "boolean",
                  "x-immutable": true
                },
                "useable_as_grid_filter": {
                  "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
                  "type": "boolean"
                },
                "validation_regexp": {
                  "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "validation_rule": {
                  "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "wysiwyg_enabled": {
                  "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_textarea` attribute type"
                }
              },
              "required": [
                "code",
                "type",
                "group"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"description\",\"useable_as_grid_filter\":true}",
                "x-example-2": "{\"code\":\"short_description\",\"group\":\"marketig\"}",
                "x-example-3": "{\"code\":\"release_date\",\"date_min\":\"2017-06-28T08:00:00\"}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"description\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"short_description\",\"status_code\":422,\"message\":\"Group \"marketig\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"release_date\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several attributes",
        "tags": [
          "Attribute"
        ],
        "x-body-by-line": "Contains several lines, each line is an attribute in JSON standard format",
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new attribute.",
        "operationId": "post_attributes",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "allowed_extensions": [],
                "available_locales": [],
                "code": "release_date",
                "date_max": "2017-08-08T22:00:00",
                "date_min": "2017-06-28T08:00:00",
                "decimals_allowed": null,
                "default_metric_unit": null,
                "default_value": null,
                "group": "marketing",
                "group_labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "labels": {
                  "en_US": "Sale date",
                  "fr_FR": "Date des soldes"
                },
                "localizable": false,
                "max_characters": null,
                "max_file_size": null,
                "metric_family": null,
                "minimum_input_length": null,
                "negative_allowed": null,
                "number_max": null,
                "number_min": null,
                "reference_data_name": null,
                "scopable": false,
                "sort_order": 1,
                "type": "pim_catalog_date",
                "unique": false,
                "useable_as_grid_filter": true,
                "validation_regexp": null,
                "validation_rule": null,
                "wysiwyg_enabled": null
              },
              "properties": {
                "allowed_extensions": {
                  "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "available_locales": {
                  "description": "To make the attribute locale specfic, specify here for which locales it is specific",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing and activated locale"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "date_max": {
                  "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "date_min": {
                  "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "decimals_allowed": {
                  "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "default_metric_unit": {
                  "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "default_value": {
                  "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
                  "type": "boolean",
                  "x-from-version": "5.0",
                  "x-warning": "Only for `pim_catalog_boolean` attribute type"
                },
                "group": {
                  "description": "Attribute group",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing group"
                },
                "group_labels": {
                  "default": {},
                  "description": "Group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-read-only": true,
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "max_characters": {
                  "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`",
                  "type": "integer",
                  "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
                },
                "max_file_size": {
                  "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "metric_family": {
                  "description": "Metric family when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "negative_allowed": {
                  "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
                },
                "number_max": {
                  "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "number_min": {
                  "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "reference_data_name": {
                  "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`",
                  "type": "string",
                  "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"
                },
                "scopable": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "sort_order": {
                  "default": 0,
                  "description": "Order of the attribute in its group",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                },
                "table_configuration": {
                  "description": "Configuration of the Table attribute (columns)",
                  "items": {
                    "properties": {
                      "code": {
                        "description": "Column code",
                        "type": "string"
                      },
                      "data_type": {
                        "description": "Column data type",
                        "enum": [
                          "select",
                          "text",
                          "number",
                          "boolean"
                        ],
                        "type": "string"
                      },
                      "is_required_for_completeness": {
                        "default": false,
                        "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                        "type": "boolean",
                        "x-warning": "This value is always true for the first column in a table configuration"
                      },
                      "labels": {
                        "default": {},
                        "description": "Column labels for each locale",
                        "properties": {
                          "localeCode": {
                            "description": "Column label for the locale `localeCode`",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                      },
                      "validations": {
                        "default": {},
                        "description": "User defined validation constraints on the cell content",
                        "properties": {
                          "decimals_allowed": {
                            "description": "whether the value of a numeric cell can hold a decimal part",
                            "type": "boolean",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max": {
                            "description": "maximum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max_length": {
                            "description": "maximum length of a text cell",
                            "type": "number",
                            "x-validation-rules": "only for `text` data type columns"
                          },
                          "min": {
                            "description": "minimum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "code",
                      "data_type"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
                  "x-warning": "Only for `pim_catalog_table` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
                  "enum": [
                    "pim_catalog_identifier",
                    "pim_catalog_metric",
                    "pim_catalog_number",
                    "pim_catalog_reference_data_multi_select",
                    "pim_catalog_reference_data_simple_select",
                    "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"
                  ],
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "The type is one of the following values"
                },
                "unique": {
                  "description": "Whether two values for the attribute cannot be the same",
                  "type": "boolean",
                  "x-immutable": true
                },
                "useable_as_grid_filter": {
                  "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
                  "type": "boolean"
                },
                "validation_regexp": {
                  "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "validation_rule": {
                  "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "wysiwyg_enabled": {
                  "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_textarea` attribute type"
                }
              },
              "required": [
                "code",
                "type",
                "group"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new attribute",
        "tags": [
          "Attribute"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attributes/{attribute_code}/options": {
      "get": {
        "description": "This endpoint allows you to get a list of attribute options. Attribute options are paginated and sorted by code.",
        "operationId": "get_attributes__attribute_code__options",
        "parameters": [
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return attribute options paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options/red"
                      }
                    },
                    "attribute": "a_simple_select",
                    "code": "red",
                    "labels": {
                      "en_US": "Red",
                      "fr_FR": "Rouge"
                    },
                    "sort_order": 1
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options/black"
                      }
                    },
                    "attribute": "a_simple_select",
                    "code": "black",
                    "labels": {
                      "en_US": "Black",
                      "fr_FR": "Noir"
                    },
                    "sort_order": 2
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options/purple"
                      }
                    },
                    "attribute": "a_simple_select",
                    "code": "purple",
                    "labels": {
                      "en_US": "Purple",
                      "fr_FR": "Violet"
                    },
                    "sort_order": 3
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options?page=4&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options?page=2&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/attributes/color/options?page=3&limit=3"
                }
              },
              "current_page": 3
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "attribute": "a_simple_select",
                                  "code": "black",
                                  "labels": {
                                    "en_US": "Black",
                                    "fr_FR": "Noir"
                                  },
                                  "sort_order": 2
                                },
                                "properties": {
                                  "attribute": {
                                    "description": "Code of attribute related to the attribute option",
                                    "type": "string",
                                    "x-validation-rules": "It is the same attribute code as the one given as path parameter"
                                  },
                                  "code": {
                                    "description": "Code of option",
                                    "type": "string"
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Attribute option labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Attribute option label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "sort_order": {
                                    "description": "Order of attribute option",
                                    "type": "integer",
                                    "x-validation-rules": "It is a positive integer"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Attribute Options",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of attribute options",
        "tags": [
          "Attribute option"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update several attribute options at once.",
        "operationId": "patch_attributes__attribute_code__options",
        "parameters": [
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attribute": "a_simple_select",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                },
                "sort_order": 2
              },
              "properties": {
                "attribute": {
                  "description": "Code of attribute related to the attribute option",
                  "type": "string",
                  "x-validation-rules": "It is the same attribute code as the one given as path parameter"
                },
                "code": {
                  "description": "Code of option",
                  "type": "string"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute option labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute option label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "description": "Order of attribute option",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"black\", \"attribute\":\"a_simple_select\", \"labels\":{\"en_US\": \"Black\",\"fr_FR\": \"Noir\"}}",
                "x-example-2": "{\"code\":\"red\", \"label\":{\"en_US\": \"Red\",\"fr_FR\": \"Rouge\"}}",
                "x-example-3": "{\"code\":\"yellow\", \"labels\":{\"en_US\": \"Yellow\",\"fr_FR\": \"Jaune\"}}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"black\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"red\",\"status_code\":422,\"message\":\"Property \"label\" does not exist. Check the API format documentation.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"yellow\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several attribute options",
        "tags": [
          "Attribute option"
        ],
        "x-body-by-line": "Contains several lines, each line is an attribute option in JSON standard format",
        "x-versions": [
          "2.1",
          "2.2",
          "2.3",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new attribute option.",
        "operationId": "post_attributes__attribute_code__options",
        "parameters": [
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attribute": "a_simple_select",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                },
                "sort_order": 2
              },
              "properties": {
                "attribute": {
                  "description": "Code of attribute related to the attribute option",
                  "type": "string",
                  "x-validation-rules": "It is the same attribute code as the one given as path parameter"
                },
                "code": {
                  "description": "Code of option",
                  "type": "string"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute option labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute option label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "description": "Order of attribute option",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new attribute option",
        "tags": [
          "Attribute option"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attributes/{attribute_code}/options/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute option.",
        "operationId": "get_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "attribute": "a_simple_select",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                },
                "sort_order": 2
              },
              "properties": {
                "attribute": {
                  "description": "Code of attribute related to the attribute option",
                  "type": "string",
                  "x-validation-rules": "It is the same attribute code as the one given as path parameter"
                },
                "code": {
                  "description": "Code of option",
                  "type": "string"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute option labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute option label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "description": "Order of attribute option",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the attribute option in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute option",
        "tags": [
          "Attribute option"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given attribute option. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no attribute option exists for the given code, it creates it.",
        "operationId": "patch_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "attribute": "a_simple_select",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                },
                "sort_order": 2
              },
              "properties": {
                "attribute": {
                  "description": "Code of attribute related to the attribute option",
                  "type": "string",
                  "x-validation-rules": "It is the same attribute code as the one given as path parameter"
                },
                "code": {
                  "description": "Code of option",
                  "type": "string"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute option labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute option label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "sort_order": {
                  "description": "Order of attribute option",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an attribute option",
        "tags": [
          "Attribute option"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/attributes/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute.",
        "operationId": "get_attributes__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "default": false,
            "description": "Return the options of 'select' column types (of a table attribute) in the response. (Only available since the 7.0 version)",
            "in": "query",
            "name": "with_table_select_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "7.0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "allowed_extensions": [],
                "available_locales": [],
                "code": "release_date",
                "date_max": "2017-08-08T22:00:00",
                "date_min": "2017-06-28T08:00:00",
                "decimals_allowed": null,
                "default_metric_unit": null,
                "default_value": null,
                "group": "marketing",
                "group_labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "labels": {
                  "en_US": "Sale date",
                  "fr_FR": "Date des soldes"
                },
                "localizable": false,
                "max_characters": null,
                "max_file_size": null,
                "metric_family": null,
                "minimum_input_length": null,
                "negative_allowed": null,
                "number_max": null,
                "number_min": null,
                "reference_data_name": null,
                "scopable": false,
                "sort_order": 1,
                "type": "pim_catalog_date",
                "unique": false,
                "useable_as_grid_filter": true,
                "validation_regexp": null,
                "validation_rule": null,
                "wysiwyg_enabled": null
              },
              "properties": {
                "allowed_extensions": {
                  "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "available_locales": {
                  "description": "To make the attribute locale specfic, specify here for which locales it is specific",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing and activated locale"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "date_max": {
                  "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "date_min": {
                  "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "decimals_allowed": {
                  "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "default_metric_unit": {
                  "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "default_value": {
                  "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
                  "type": "boolean",
                  "x-from-version": "5.0",
                  "x-warning": "Only for `pim_catalog_boolean` attribute type"
                },
                "group": {
                  "description": "Attribute group",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing group"
                },
                "group_labels": {
                  "default": {},
                  "description": "Group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-read-only": true,
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "max_characters": {
                  "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`",
                  "type": "integer",
                  "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
                },
                "max_file_size": {
                  "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "metric_family": {
                  "description": "Metric family when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "negative_allowed": {
                  "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
                },
                "number_max": {
                  "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "number_min": {
                  "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "reference_data_name": {
                  "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`",
                  "type": "string",
                  "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"
                },
                "scopable": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "sort_order": {
                  "default": 0,
                  "description": "Order of the attribute in its group",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                },
                "table_configuration": {
                  "description": "Configuration of the Table attribute (columns)",
                  "items": {
                    "properties": {
                      "code": {
                        "description": "Column code",
                        "type": "string"
                      },
                      "data_type": {
                        "description": "Column data type",
                        "enum": [
                          "select",
                          "text",
                          "number",
                          "boolean"
                        ],
                        "type": "string"
                      },
                      "is_required_for_completeness": {
                        "default": false,
                        "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                        "type": "boolean",
                        "x-warning": "This value is always true for the first column in a table configuration"
                      },
                      "labels": {
                        "default": {},
                        "description": "Column labels for each locale",
                        "properties": {
                          "localeCode": {
                            "description": "Column label for the locale `localeCode`",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                      },
                      "validations": {
                        "default": {},
                        "description": "User defined validation constraints on the cell content",
                        "properties": {
                          "decimals_allowed": {
                            "description": "whether the value of a numeric cell can hold a decimal part",
                            "type": "boolean",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max": {
                            "description": "maximum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max_length": {
                            "description": "maximum length of a text cell",
                            "type": "number",
                            "x-validation-rules": "only for `text` data type columns"
                          },
                          "min": {
                            "description": "minimum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "code",
                      "data_type"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
                  "x-warning": "Only for `pim_catalog_table` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
                  "enum": [
                    "pim_catalog_identifier",
                    "pim_catalog_metric",
                    "pim_catalog_number",
                    "pim_catalog_reference_data_multi_select",
                    "pim_catalog_reference_data_simple_select",
                    "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"
                  ],
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "The type is one of the following values"
                },
                "unique": {
                  "description": "Whether two values for the attribute cannot be the same",
                  "type": "boolean",
                  "x-immutable": true
                },
                "useable_as_grid_filter": {
                  "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
                  "type": "boolean"
                },
                "validation_regexp": {
                  "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "validation_rule": {
                  "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "wysiwyg_enabled": {
                  "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_textarea` attribute type"
                }
              },
              "required": [
                "code",
                "type",
                "group"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the attribute in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute",
        "tags": [
          "Attribute"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given attribute. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no attribute exists for the given code, it creates it.",
        "operationId": "patch_attributes__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "allowed_extensions": [],
                "available_locales": [],
                "code": "release_date",
                "date_max": "2017-08-08T22:00:00",
                "date_min": "2017-06-28T08:00:00",
                "decimals_allowed": null,
                "default_metric_unit": null,
                "default_value": null,
                "group": "marketing",
                "group_labels": {
                  "en_US": "Marketing",
                  "fr_FR": "Marketing"
                },
                "labels": {
                  "en_US": "Sale date",
                  "fr_FR": "Date des soldes"
                },
                "localizable": false,
                "max_characters": null,
                "max_file_size": null,
                "metric_family": null,
                "minimum_input_length": null,
                "negative_allowed": null,
                "number_max": null,
                "number_min": null,
                "reference_data_name": null,
                "scopable": false,
                "sort_order": 1,
                "type": "pim_catalog_date",
                "unique": false,
                "useable_as_grid_filter": true,
                "validation_regexp": null,
                "validation_rule": null,
                "wysiwyg_enabled": null
              },
              "properties": {
                "allowed_extensions": {
                  "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "available_locales": {
                  "description": "To make the attribute locale specfic, specify here for which locales it is specific",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing and activated locale"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "date_max": {
                  "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "date_min": {
                  "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
                  "format": "date-time",
                  "type": "string",
                  "x-validation-rules": "The datetime format follows the ISO-8601 norm",
                  "x-warning": "Only for `pim_catalog_date` attribute type"
                },
                "decimals_allowed": {
                  "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "default_metric_unit": {
                  "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "default_value": {
                  "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
                  "type": "boolean",
                  "x-from-version": "5.0",
                  "x-warning": "Only for `pim_catalog_boolean` attribute type"
                },
                "group": {
                  "description": "Attribute group",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing group"
                },
                "group_labels": {
                  "default": {},
                  "description": "Group labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Group label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-read-only": true,
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "localizable": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                },
                "max_characters": {
                  "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`",
                  "type": "integer",
                  "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
                },
                "max_file_size": {
                  "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
                },
                "metric_family": {
                  "description": "Metric family when the attribute type is `pim_catalog_metric`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
                  "x-warning": "Only for `pim_catalog_metric` attribute type"
                },
                "negative_allowed": {
                  "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
                },
                "number_max": {
                  "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "number_min": {
                  "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
                  "type": "string",
                  "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
                },
                "reference_data_name": {
                  "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`",
                  "type": "string",
                  "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"
                },
                "scopable": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "sort_order": {
                  "default": 0,
                  "description": "Order of the attribute in its group",
                  "type": "integer",
                  "x-validation-rules": "It is a positive integer"
                },
                "table_configuration": {
                  "description": "Configuration of the Table attribute (columns)",
                  "items": {
                    "properties": {
                      "code": {
                        "description": "Column code",
                        "type": "string"
                      },
                      "data_type": {
                        "description": "Column data type",
                        "enum": [
                          "select",
                          "text",
                          "number",
                          "boolean"
                        ],
                        "type": "string"
                      },
                      "is_required_for_completeness": {
                        "default": false,
                        "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                        "type": "boolean",
                        "x-warning": "This value is always true for the first column in a table configuration"
                      },
                      "labels": {
                        "default": {},
                        "description": "Column labels for each locale",
                        "properties": {
                          "localeCode": {
                            "description": "Column label for the locale `localeCode`",
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                      },
                      "validations": {
                        "default": {},
                        "description": "User defined validation constraints on the cell content",
                        "properties": {
                          "decimals_allowed": {
                            "description": "whether the value of a numeric cell can hold a decimal part",
                            "type": "boolean",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max": {
                            "description": "maximum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          },
                          "max_length": {
                            "description": "maximum length of a text cell",
                            "type": "number",
                            "x-validation-rules": "only for `text` data type columns"
                          },
                          "min": {
                            "description": "minimum value of a numeric cell",
                            "type": "number",
                            "x-validation-rules": "only for `number` data type columns"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "required": [
                      "code",
                      "data_type"
                    ],
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
                  "x-warning": "Only for `pim_catalog_table` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
                  "enum": [
                    "pim_catalog_identifier",
                    "pim_catalog_metric",
                    "pim_catalog_number",
                    "pim_catalog_reference_data_multi_select",
                    "pim_catalog_reference_data_simple_select",
                    "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"
                  ],
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "The type is one of the following values"
                },
                "unique": {
                  "description": "Whether two values for the attribute cannot be the same",
                  "type": "boolean",
                  "x-immutable": true
                },
                "useable_as_grid_filter": {
                  "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
                  "type": "boolean"
                },
                "validation_regexp": {
                  "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "validation_rule": {
                  "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
                  "type": "string",
                  "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"
                },
                "wysiwyg_enabled": {
                  "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
                  "type": "boolean",
                  "x-warning": "Only for `pim_catalog_textarea` attribute type"
                }
              },
              "required": [
                "code",
                "type",
                "group"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an attribute",
        "tags": [
          "Attribute"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/catalogs": {
      "get": {
        "description": "This endpoint allows you to get the list of catalogs you owned.",
        "operationId": "get_app_catalogs",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 100,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the paginated catalogs owned by the user making the request",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "enabled": false,
                                  "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
                                  "name": "My app catalog"
                                },
                                "properties": {
                                  "enabled": {
                                    "default": false,
                                    "description": "Whether the catalog is enabled or not",
                                    "type": "boolean"
                                  },
                                  "id": {
                                    "description": "Catalog id",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "name": {
                                    "description": "Catalog name",
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Catalogs",
              "type": "object"
            },
            "x-examples": {
              "_embedded": {
                "items": [
                  {
                    "enabled": false,
                    "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
                    "name": "Store FR"
                  },
                  {
                    "enabled": true,
                    "id": "092c5f22-ecd8-485f-97e9-3b78098e1386",
                    "name": "Store US"
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/catalogs?page=1&limit=2"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/catalogs?page=4&limit=2"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/catalogs?page=2&limit=2"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/catalogs?page=3&limit=2"
                }
              },
              "current_page": 3
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          }
        },
        "summary": "Get the list of owned catalogs",
        "tags": [
          "Catalogs"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new catalog.",
        "operationId": "post_app_catalog",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "name": "My app catalog"
              },
              "properties": {
                "name": {
                  "description": "Catalog name",
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "example": {
                "enabled": false,
                "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
                "name": "My app catalog"
              },
              "properties": {
                "enabled": {
                  "default": false,
                  "description": "Whether the catalog is enabled or not",
                  "type": "boolean"
                },
                "id": {
                  "description": "Catalog id",
                  "type": "string",
                  "x-immutable": true
                },
                "name": {
                  "description": "Catalog name",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Means that the creation was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed",
            "x-examples-per-version": [
              {
                "x-example": {
                  "code": 422,
                  "errors": [
                    {
                      "message": "This value should not be blank.",
                      "property": "name"
                    },
                    {
                      "message": "This value is too short. It should have 1 character or more.",
                      "property": "name"
                    }
                  ],
                  "message": "Validation failed."
                },
                "x-version": "SaaS"
              }
            ]
          }
        },
        "summary": "Create a new catalog",
        "tags": [
          "Catalogs"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/catalogs/{id}": {
      "delete": {
        "description": "This endpoint allows you to delete a catalog.",
        "operationId": "delete_app_catalog",
        "parameters": [
          {
            "description": "Catalog ID",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          }
        },
        "summary": "Delete a catalog",
        "tags": [
          "Catalogs"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      },
      "get": {
        "description": "This endpoint allows you to get the information about a catalog.",
        "operationId": "get_app_catalog",
        "parameters": [
          {
            "description": "Catalog ID",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog",
            "schema": {
              "example": {
                "enabled": false,
                "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
                "name": "My app catalog"
              },
              "properties": {
                "enabled": {
                  "default": false,
                  "description": "Whether the catalog is enabled or not",
                  "type": "boolean"
                },
                "id": {
                  "description": "Catalog id",
                  "type": "string",
                  "x-immutable": true
                },
                "name": {
                  "description": "Catalog name",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          }
        },
        "summary": "Get a catalog",
        "tags": [
          "Catalogs"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a catalog.",
        "operationId": "patch_app_catalog",
        "parameters": [
          {
            "description": "Catalog ID",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "name": "My app catalog"
              },
              "properties": {
                "name": {
                  "description": "Catalog name",
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated",
            "schema": {
              "example": {
                "enabled": false,
                "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
                "name": "My app catalog"
              },
              "properties": {
                "enabled": {
                  "default": false,
                  "description": "Whether the catalog is enabled or not",
                  "type": "boolean"
                },
                "id": {
                  "description": "Catalog id",
                  "type": "string",
                  "x-immutable": true
                },
                "name": {
                  "description": "Catalog name",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed",
            "x-examples-per-version": [
              {
                "x-example": {
                  "code": 422,
                  "errors": [
                    {
                      "message": "This value should not be blank.",
                      "property": "name"
                    },
                    {
                      "message": "This value is too short. It should have 1 character or more.",
                      "property": "name"
                    }
                  ],
                  "message": "Validation failed."
                },
                "x-version": "SaaS"
              }
            ]
          }
        },
        "summary": "Update a catalog",
        "tags": [
          "Catalogs"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/catalogs/{id}/product-uuids": {
      "get": {
        "description": "This endpoint allows you to get the list of uuids of products contained in a catalog. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the <a href=\"apps/catalogs.html#troubleshooting\">App Catalog</a> section.",
        "operationId": "get_app_catalog_product_uuids",
        "parameters": [
          {
            "description": "Id of the catalog",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 100,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 1000,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Filter products that have been updated BEFORE the provided date (Only available on Catalogs endpoints)",
            "format": "date",
            "in": "query",
            "name": "updated_before",
            "required": false,
            "type": "string",
            "x-from-version": "SaaS"
          },
          {
            "description": "Filter products that have been updated AFTER the provided date (Only available on Catalogs endpoints)",
            "format": "date",
            "in": "query",
            "name": "updated_after",
            "required": false,
            "type": "string",
            "x-from-version": "SaaS"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the paginated product uuids",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "format": "uuid",
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Product uuids",
              "type": "object"
            },
            "x-examples": {
              "_embedded": {
                "items": [
                  "844c736b-a19b-48a6-a354-6056044729f0",
                  "b2a683ef-4a91-4ed3-b3fa-76dab065a8d5",
                  "eddfbd2a-abc7-488d-b9e3-41289c824f80"
                ]
              },
              "_links": {
                "first": {
                  "href": "http://demo.akeneo.com/api/rest/v1/catalogs/12351d98-200e-4bbc-aa19-7fdda1bd14f2/product-uuids"
                },
                "next": {
                  "href": "http://demo.akeneo.com/api/rest/v1/catalogs/12351d98-200e-4bbc-aa19-7fdda1bd14f2/product-uuids?search_after=eddfbd2a-abc7-488d-b9e3-41289c824f80"
                },
                "self": {
                  "href": "http://demo.akeneo.com/api/rest/v1/catalogs/12351d98-200e-4bbc-aa19-7fdda1bd14f2/product-uuids"
                }
              }
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          }
        },
        "summary": "Get the list of product uuids",
        "tags": [
          "Catalog products"
        ],
        "x-app-token": true,
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/catalogs/{id}/products": {
      "get": {
        "description": "This endpoint allows you to get the list of products related to a catalog. Products are paginated and they can be filtered. In the Enterprise Edition, permissions based on your app settings are applied to the set of products you request. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the <a href=\"apps/catalogs.html#troubleshooting\">App Catalog</a> section.",
        "operationId": "get_app_catalog_products",
        "parameters": [
          {
            "description": "Catalog ID",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 100,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 1000,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "description": "Filter products that have been updated BEFORE the provided date (Only available on Catalogs endpoints)",
            "format": "date",
            "in": "query",
            "name": "updated_before",
            "required": false,
            "type": "string",
            "x-from-version": "SaaS"
          },
          {
            "description": "Filter products that have been updated AFTER the provided date (Only available on Catalogs endpoints)",
            "format": "date",
            "in": "query",
            "name": "updated_after",
            "required": false,
            "type": "string",
            "x-from-version": "SaaS"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the paginated products",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "format": "uuid",
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Products",
              "type": "object"
            },
            "x-examples-per-version": [
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "SUBSTITUTION": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "UPSELL": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "X_SELL": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          }
                        },
                        "categories": [
                          "Cloths"
                        ],
                        "created": "2022-03-14T15:25:45+00:00",
                        "enabled": true,
                        "family": "mens_clothing",
                        "groups": [],
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2022-06-24T12:54:58+00:00",
                        "uuid": "00073089-1310-4340-bcf0-9e33e4019b79",
                        "values": {
                          "Default_Price": [
                            {
                              "data": [
                                {
                                  "amount": "10.00",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "Name": [
                            {
                              "data": "Product 416",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "Weight": [
                            {
                              "data": {
                                "amount": 10,
                                "unit": "KILOGRAM"
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "sku": [
                            {
                              "data": "product_416",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "SUBSTITUTION": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "UPSELL": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          },
                          "X_SELL": {
                            "groups": [],
                            "product_models": [],
                            "products": []
                          }
                        },
                        "categories": [
                          "Cloths"
                        ],
                        "created": "2022-03-14T15:25:45+00:00",
                        "enabled": true,
                        "family": "mens_clothing",
                        "groups": [],
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2022-06-24T12:55:01+00:00",
                        "uuid": "00248acf-f1f7-45cb-b409-c8c4b9a17a86",
                        "values": {
                          "Default_Price": [
                            {
                              "data": [
                                {
                                  "amount": "10.00",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "Name": [
                            {
                              "data": "Product 470",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "Weight": [
                            {
                              "data": {
                                "amount": 10,
                                "unit": "KILOGRAM"
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "sku": [
                            {
                              "data": "product_470",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/catalogs/65f5a521-e65c-4d7b-8be8-1f267fa2729c/products?limit=3"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/catalogs/65f5a521-e65c-4d7b-8be8-1f267fa2729c/products?search_after=0059d30f-6874-4277-81ed-3b3657c83f5e&limit=3"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/catalogs/65f5a521-e65c-4d7b-8be8-1f267fa2729c/products?limit=3"
                    }
                  }
                },
                "x-version": "SaaS"
              }
            ]
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          }
        },
        "summary": "Get the list of products related to a catalog",
        "tags": [
          "Catalog products"
        ],
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/catalogs/{id}/products/{uuid}": {
      "get": {
        "description": "This endpoint allows you to get a specific product related to a catalog. In the Enterprise Edition, permissions based on your app settings are applied on the product you request. Please, note that a disabled catalog can return an HTTP 200 with a payload containing an error message, for more details see the <a href=\"apps/catalogs.html#troubleshooting\">App Catalog</a> section.",
        "operationId": "get_app_catalog_products_uuid",
        "parameters": [
          {
            "description": "Catalog ID",
            "format": "uuid",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Product UUID",
            "format": "uuid",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the product",
            "x-examples-per-version": [
              {
                "x-example": {
                  "categories": [],
                  "enabled": true,
                  "family": "tshirt",
                  "groups": [],
                  "parent": null,
                  "uuid": "a5eed606-4f98-4d8c-b926-5b59f8fb0ee7",
                  "values": {
                    "name": [
                      {
                        "data": "Top",
                        "locale": "en_US",
                        "scope": null
                      }
                    ]
                  }
                },
                "x-version": "SaaS"
              }
            ]
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list catalogs."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The app does not have the permission to execute this request"
          },
          "404": {
            "description": "Catalog not found",
            "examples": {
              "code": 404,
              "message": "Catalog \"65f5a521-e65c-4d7b-8be8-1f267fa2729c\" does not exist or you can't access it."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The catalog id given in the URI does not exist"
          }
        },
        "summary": "Get a product related to a catalog",
        "tags": [
          "Catalog products"
        ],
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/categories": {
      "get": {
        "description": "This endpoint allows you to get a list of categories. Categories are paginated and sorted by `root/left`.",
        "operationId": "get_categories",
        "parameters": [
          {
            "description": "Filter categories, for more details see the <a href=\"/documentation/filter.html#filter-categories\">Filters</a> section.",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Return information about category position into its category tree (only available since the 7.0 version)",
            "in": "query",
            "name": "with_position",
            "required": false,
            "type": "boolean",
            "x-from-version": "7.0"
          },
          {
            "description": "Return attribute values of the category (only available on SaaS platforms)",
            "in": "query",
            "name": "with_enriched_attributes",
            "required": false,
            "type": "boolean",
            "x-from-version": "SaaS"
          }
        ],
        "responses": {
          "200": {
            "description": "Return categories paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/categories/winter_collection"
                      }
                    },
                    "code": "winter_collection",
                    "labels": {
                      "de_DE": "Winter-Kollektion",
                      "en_US": "Winter collection",
                      "fr_FR": "Collection hiver"
                    },
                    "parent": null,
                    "position": 1,
                    "updated": "2021-05-21T11:32:00+02:00",
                    "values": {
                      "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                        "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                        "channel": "ecommerce",
                        "data": "<p>Winter collection description</p>\n",
                        "locale": "en_US",
                        "type": "textarea"
                      }
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/categories/woman"
                      }
                    },
                    "code": "woman",
                    "labels": {
                      "de_DE": "Damen",
                      "en_US": "Woman",
                      "fr_FR": "Femme"
                    },
                    "parent": "winter_collection",
                    "position": 1,
                    "updated": "2021-04-21T10:41:02+02:00",
                    "values": {}
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/categories/man"
                      }
                    },
                    "code": "man",
                    "labels": {
                      "de_DE": "Herren",
                      "en_US": "Man",
                      "fr_FR": "Homme"
                    },
                    "parent": "winter_collection",
                    "position": 2,
                    "updated": "2021-03-02T12:59:59+02:00",
                    "values": {}
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/categories/kids"
                      }
                    },
                    "code": "kids",
                    "labels": {
                      "de_DE": "Kinder",
                      "en_US": "Kids",
                      "fr_FR": "Enfant"
                    },
                    "parent": "winter_collection",
                    "position": 3,
                    "updated": "2021-01-03T12:40:00+02:00",
                    "values": {}
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/categories/summer_collection"
                      }
                    },
                    "code": "summer_collection",
                    "labels": {
                      "de_DE": "Sommer-Kollektion",
                      "en_US": "Summer collection",
                      "fr_FR": "Collection été"
                    },
                    "parent": null,
                    "position": 1,
                    "updated": "2021-04-04T09:42:00+02:00",
                    "values": {}
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/categories?page=1&limit=5"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/categories?page=3&limit=5"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/categories?page=1&limit=5"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/categories?page=2&limit=5"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "winter_collection",
                                  "labels": {
                                    "en_US": "Winter collection",
                                    "fr_FR": "Collection hiver"
                                  },
                                  "parent": null,
                                  "position": 1,
                                  "updated": "2021-05-22T12:48:00+02:00",
                                  "values": {
                                    "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                                      "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                                      "channel": "ecommerce",
                                      "data": "<p>Winter collection description</p>\n",
                                      "locale": "en_US",
                                      "type": "textarea"
                                    }
                                  }
                                },
                                "properties": {
                                  "code": {
                                    "description": "Category code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Category labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Category label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "parent": {
                                    "default": "null",
                                    "description": "Category code of the parent's category",
                                    "type": "string",
                                    "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
                                  },
                                  "position": {
                                    "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
                                    "type": "integer",
                                    "x-read-only": true
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "values": {
                                    "default": null,
                                    "description": "Attribute values",
                                    "properties": {
                                      "attributeCode|attributeUuid|channelCode|localeCode": {
                                        "items": {
                                          "properties": {
                                            "attribute_code": {
                                              "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                                              "type": "string"
                                            },
                                            "channel": {
                                              "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                                              "type": "string"
                                            },
                                            "data": {
                                              "description": "Attribute value",
                                              "type": "object"
                                            },
                                            "locale": {
                                              "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                                              "type": "string"
                                            },
                                            "type": {
                                              "description": "The attribute type",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-read-only": true
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Categories",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of categories",
        "tags": [
          "Category"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update several categories at once.",
        "operationId": "patch_categories",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "winter_collection",
                "labels": {
                  "en_US": "Winter collection",
                  "fr_FR": "Collection hiver"
                },
                "parent": null,
                "position": 1,
                "updated": "2021-05-22T12:48:00+02:00",
                "values": {
                  "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                    "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                    "channel": "ecommerce",
                    "data": "<p>Winter collection description</p>\n",
                    "locale": "en_US",
                    "type": "textarea"
                  }
                }
              },
              "properties": {
                "code": {
                  "description": "Category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "Category code of the parent's category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
                },
                "position": {
                  "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
                  "type": "integer",
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "default": null,
                  "description": "Attribute values",
                  "properties": {
                    "attributeCode|attributeUuid|channelCode|localeCode": {
                      "items": {
                        "properties": {
                          "attribute_code": {
                            "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                            "type": "string"
                          },
                          "channel": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Attribute value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                            "type": "string"
                          },
                          "type": {
                            "description": "The attribute type",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"spring_collection\",\"parent\":null}",
                "x-example-2": "{\"code\":\"woman\",\"parent\":\"spring_collectionn\"}",
                "x-example-3": "{\"code\":\"man\",\"parent\":\"spring_collection\"}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"spring_collection\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"woman\",\"status_code\":422,\"message\":\"Category \"spring_collectionn\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"man\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several categories",
        "tags": [
          "Category"
        ],
        "x-body-by-line": "Contains several lines, each line is a category in JSON standard format",
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new category.",
        "operationId": "post_categories",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "winter_collection",
                "labels": {
                  "en_US": "Winter collection",
                  "fr_FR": "Collection hiver"
                },
                "parent": null,
                "position": 1,
                "updated": "2021-05-22T12:48:00+02:00",
                "values": {
                  "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                    "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                    "channel": "ecommerce",
                    "data": "<p>Winter collection description</p>\n",
                    "locale": "en_US",
                    "type": "textarea"
                  }
                }
              },
              "properties": {
                "code": {
                  "description": "Category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "Category code of the parent's category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
                },
                "position": {
                  "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
                  "type": "integer",
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "default": null,
                  "description": "Attribute values",
                  "properties": {
                    "attributeCode|attributeUuid|channelCode|localeCode": {
                      "items": {
                        "properties": {
                          "attribute_code": {
                            "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                            "type": "string"
                          },
                          "channel": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Attribute value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                            "type": "string"
                          },
                          "type": {
                            "description": "The attribute type",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new category",
        "tags": [
          "Category"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/categories/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given category.",
        "operationId": "get_categories__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Return information about category position into its category tree (only available since the 7.0 version)",
            "in": "query",
            "name": "with_position",
            "required": false,
            "type": "boolean",
            "x-from-version": "7.0"
          },
          {
            "description": "Return attribute values of the category (only available on SaaS platforms) <strong>[COMING SOON]<strong>",
            "in": "query",
            "name": "with_enriched_attributes",
            "required": false,
            "type": "boolean",
            "x-from-version": "SaaS"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "winter_collection",
                "labels": {
                  "en_US": "Winter collection",
                  "fr_FR": "Collection hiver"
                },
                "parent": null,
                "position": 1,
                "updated": "2021-05-22T12:48:00+02:00",
                "values": {
                  "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                    "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                    "channel": "ecommerce",
                    "data": "<p>Winter collection description</p>\n",
                    "locale": "en_US",
                    "type": "textarea"
                  }
                }
              },
              "properties": {
                "code": {
                  "description": "Category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "Category code of the parent's category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
                },
                "position": {
                  "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
                  "type": "integer",
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "default": null,
                  "description": "Attribute values",
                  "properties": {
                    "attributeCode|attributeUuid|channelCode|localeCode": {
                      "items": {
                        "properties": {
                          "attribute_code": {
                            "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                            "type": "string"
                          },
                          "channel": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Attribute value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                            "type": "string"
                          },
                          "type": {
                            "description": "The attribute type",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the category in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a category",
        "tags": [
          "Category"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given category. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no category exists for the given code, it creates it.",
        "operationId": "patch_categories__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "winter_collection",
                "labels": {
                  "en_US": "Winter collection",
                  "fr_FR": "Collection hiver"
                },
                "parent": null,
                "position": 1,
                "updated": "2021-05-22T12:48:00+02:00",
                "values": {
                  "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                    "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                    "channel": "ecommerce",
                    "data": "<p>Winter collection description</p>\n",
                    "locale": "en_US",
                    "type": "textarea"
                  }
                }
              },
              "properties": {
                "code": {
                  "description": "Category code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Category labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Category label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "parent": {
                  "default": "null",
                  "description": "Category code of the parent's category",
                  "type": "string",
                  "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
                },
                "position": {
                  "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
                  "type": "integer",
                  "x-read-only": true
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "default": null,
                  "description": "Attribute values",
                  "properties": {
                    "attributeCode|attributeUuid|channelCode|localeCode": {
                      "items": {
                        "properties": {
                          "attribute_code": {
                            "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                            "type": "string"
                          },
                          "channel": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Attribute value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                            "type": "string"
                          },
                          "type": {
                            "description": "The attribute type",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-read-only": true
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a category",
        "tags": [
          "Category"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/category-media-files/{code}/download": {
      "get": {
        "description": "This endpoint allows you to download a given media file that is used as an attribute value of a enriched category.",
        "operationId": "get_category_media_files__code__download",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the media file",
            "x-details": "Returns the binary of the media file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download a category media file [COMING SOON]",
        "tags": [
          "Category"
        ],
        "x-content-type": "Mime-type of the media file",
        "x-versions": [
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/channels": {
      "get": {
        "description": "This endpoint allows you to get a list of channels. Channels are paginated and sorted by code.",
        "operationId": "get_channels",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return channels paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/channels/ecommerce"
                      }
                    },
                    "category_tree": "master",
                    "code": "ecommerce",
                    "conversion_units": {
                      "a_metric": "KILOWATT",
                      "a_metric_negative": "CELSIUS",
                      "a_metric_to_not_convert": null
                    },
                    "currencies": [
                      "USD",
                      "EUR"
                    ],
                    "labels": {
                      "de_DE": "E-commerce",
                      "en_US": "Ecommerce",
                      "fr_FR": "E-commerce"
                    },
                    "locales": [
                      "en_US",
                      "fr_FR",
                      "de_DE"
                    ]
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/channels/mobile"
                      }
                    },
                    "category_tree": "master",
                    "code": "mobile",
                    "conversion_units": {
                      "a_metric": "KILOWATT",
                      "a_metric_negative": "CELSIUS",
                      "a_metric_to_not_convert": null
                    },
                    "currencies": [
                      "USD",
                      "EUR"
                    ],
                    "labels": {
                      "de_DE": "Mobile",
                      "en_US": "Mobile",
                      "fr_FR": "Mobile"
                    },
                    "locales": [
                      "en_US",
                      "fr_FR",
                      "de_DE"
                    ]
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/channels/print"
                      }
                    },
                    "category_tree": "master",
                    "code": "print",
                    "conversion_units": {},
                    "currencies": [
                      "USD",
                      "EUR"
                    ],
                    "labels": {
                      "de_DE": "Print",
                      "en_US": "Print",
                      "fr_FR": "Print"
                    },
                    "locales": [
                      "en_US",
                      "fr_FR",
                      "de_DE"
                    ]
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/channels?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/channels?page=1&limit=3"
                }
              },
              "current_page": 1
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "category_tree": "master",
                                  "code": "ecommerce",
                                  "conversion_units": {
                                    "weight": "KILOGRAM"
                                  },
                                  "currencies": [
                                    "USD",
                                    "EUR"
                                  ],
                                  "labels": {
                                    "de_DE": "Ecommerce",
                                    "en_US": "Ecommerce",
                                    "fr_FR": "Ecommerce"
                                  },
                                  "locales": [
                                    "de_DE",
                                    "en_US",
                                    "fr_FR"
                                  ]
                                },
                                "properties": {
                                  "category_tree": {
                                    "description": "Code of the category tree linked to the channel",
                                    "type": "string",
                                    "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
                                  },
                                  "code": {
                                    "description": "Channel code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "conversion_units": {
                                    "description": "Units to which the given metric attributes should be converted when exporting products",
                                    "properties": {
                                      "attributeCode": {
                                        "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
                                  },
                                  "currencies": {
                                    "description": "Codes of activated currencies for the channel",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Channel labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Channel label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "locales": {
                                    "description": "Codes of activated locales for the channel",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
                                  }
                                },
                                "required": [
                                  "code",
                                  "category_tree",
                                  "locales",
                                  "currencies"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Channels",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of channels",
        "tags": [
          "Channel"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several channels at once.",
        "operationId": "several_channels_patch",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "category_tree": "master",
                "code": "ecommerce",
                "conversion_units": {
                  "weight": "KILOGRAM"
                },
                "currencies": [
                  "USD",
                  "EUR"
                ],
                "labels": {
                  "de_DE": "Ecommerce",
                  "en_US": "Ecommerce",
                  "fr_FR": "Ecommerce"
                },
                "locales": [
                  "de_DE",
                  "en_US",
                  "fr_FR"
                ]
              },
              "properties": {
                "category_tree": {
                  "description": "Code of the category tree linked to the channel",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
                },
                "code": {
                  "description": "Channel code",
                  "type": "string",
                  "x-immutable": true
                },
                "conversion_units": {
                  "description": "Units to which the given metric attributes should be converted when exporting products",
                  "properties": {
                    "attributeCode": {
                      "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
                },
                "currencies": {
                  "description": "Codes of activated currencies for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
                },
                "labels": {
                  "default": {},
                  "description": "Channel labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Channel label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "locales": {
                  "description": "Codes of activated locales for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
                }
              },
              "required": [
                "code",
                "category_tree",
                "locales",
                "currencies"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"ecommerce_fr\", \"category_tree\": \"master\", \"currencies\": [\"EUR\"], \"locales\": [\"fr_FR\"], \"labels\":{\"fr_FR\": \"Ecommerce Fr\"}}",
                "x-example-2": "{\"code\":\"ecommerce_ch\", \"type\":\"bar\"}",
                "x-example-3": "{\"code\":\"tablet\", \"labels\":{\"en_US\": \"Tablet\", \"fr_FR\": \"Tablette\"}}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"ecommerce_fr\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"ecommerce_ch\",\"status_code\":422,\"message\":\"Property \\\"type\\\" does not exist. Check the standard format documentation.\",\"_links\":{\"documentation\":{\"href\":\"http:\\/\\/api.akeneo.com\\/api-reference.html#patch_channels__code_\"}",
              "x-example-3": "{\"line\":3,\"code\":\"tablet\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several channels",
        "tags": [
          "Channel"
        ],
        "x-body-by-line": "Contains several lines, each line is a channel in JSON standard format",
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new channel.",
        "operationId": "channels_post",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "category_tree": "master",
                "code": "ecommerce",
                "conversion_units": {
                  "weight": "KILOGRAM"
                },
                "currencies": [
                  "USD",
                  "EUR"
                ],
                "labels": {
                  "de_DE": "Ecommerce",
                  "en_US": "Ecommerce",
                  "fr_FR": "Ecommerce"
                },
                "locales": [
                  "de_DE",
                  "en_US",
                  "fr_FR"
                ]
              },
              "properties": {
                "category_tree": {
                  "description": "Code of the category tree linked to the channel",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
                },
                "code": {
                  "description": "Channel code",
                  "type": "string",
                  "x-immutable": true
                },
                "conversion_units": {
                  "description": "Units to which the given metric attributes should be converted when exporting products",
                  "properties": {
                    "attributeCode": {
                      "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
                },
                "currencies": {
                  "description": "Codes of activated currencies for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
                },
                "labels": {
                  "default": {},
                  "description": "Channel labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Channel label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "locales": {
                  "description": "Codes of activated locales for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
                }
              },
              "required": [
                "code",
                "category_tree",
                "locales",
                "currencies"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new channel",
        "tags": [
          "Channel"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/channels/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given channel.",
        "operationId": "get_channels__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "category_tree": "master",
                "code": "ecommerce",
                "conversion_units": {
                  "weight": "KILOGRAM"
                },
                "currencies": [
                  "USD",
                  "EUR"
                ],
                "labels": {
                  "de_DE": "Ecommerce",
                  "en_US": "Ecommerce",
                  "fr_FR": "Ecommerce"
                },
                "locales": [
                  "de_DE",
                  "en_US",
                  "fr_FR"
                ]
              },
              "properties": {
                "category_tree": {
                  "description": "Code of the category tree linked to the channel",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
                },
                "code": {
                  "description": "Channel code",
                  "type": "string",
                  "x-immutable": true
                },
                "conversion_units": {
                  "description": "Units to which the given metric attributes should be converted when exporting products",
                  "properties": {
                    "attributeCode": {
                      "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
                },
                "currencies": {
                  "description": "Codes of activated currencies for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
                },
                "labels": {
                  "default": {},
                  "description": "Channel labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Channel label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "locales": {
                  "description": "Codes of activated locales for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
                }
              },
              "required": [
                "code",
                "category_tree",
                "locales",
                "currencies"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the channel in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a channel",
        "tags": [
          "Channel"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given channel. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no channel exists for the given code, it creates it.",
        "operationId": "channels_patch",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "category_tree": "master",
                "code": "ecommerce",
                "conversion_units": {
                  "weight": "KILOGRAM"
                },
                "currencies": [
                  "USD",
                  "EUR"
                ],
                "labels": {
                  "de_DE": "Ecommerce",
                  "en_US": "Ecommerce",
                  "fr_FR": "Ecommerce"
                },
                "locales": [
                  "de_DE",
                  "en_US",
                  "fr_FR"
                ]
              },
              "properties": {
                "category_tree": {
                  "description": "Code of the category tree linked to the channel",
                  "type": "string",
                  "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
                },
                "code": {
                  "description": "Channel code",
                  "type": "string",
                  "x-immutable": true
                },
                "conversion_units": {
                  "description": "Units to which the given metric attributes should be converted when exporting products",
                  "properties": {
                    "attributeCode": {
                      "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
                },
                "currencies": {
                  "description": "Codes of activated currencies for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
                },
                "labels": {
                  "default": {},
                  "description": "Channel labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Channel label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "locales": {
                  "description": "Codes of activated locales for the channel",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
                }
              },
              "required": [
                "code",
                "category_tree",
                "locales",
                "currencies"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a channel",
        "tags": [
          "Channel"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/currencies": {
      "get": {
        "description": "This endpoint allows you to get a list of currencies. Currencies are paginated and sorted by code.",
        "operationId": "currencies_get_list",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return currencies paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/currencies/ADP"
                      }
                    },
                    "code": "ADP",
                    "enabled": true
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/currencies/AED"
                      }
                    },
                    "code": "AED",
                    "enabled": true
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/currencies/AFA"
                      }
                    },
                    "code": "AFA",
                    "enabled": false
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/currencies?page=1&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/currencies?page=1&limit=3"
                }
              },
              "current_page": 1
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "EUR",
                                  "enabled": true
                                },
                                "properties": {
                                  "code": {
                                    "description": "Currency code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "enabled": {
                                    "description": "Whether the currency is enabled",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Currencies",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of currencies",
        "tags": [
          "Currency"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/currencies/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given currency.",
        "operationId": "currencies_get",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "EUR",
                "enabled": true
              },
              "properties": {
                "code": {
                  "description": "Currency code",
                  "type": "string",
                  "x-immutable": true
                },
                "enabled": {
                  "description": "Whether the currency is enabled",
                  "type": "boolean"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the currency in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a currency",
        "tags": [
          "Currency"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/families": {
      "get": {
        "description": "This endpoint allows you to get a list of families. Families are paginated and sorted by code.",
        "operationId": "get_families",
        "parameters": [
          {
            "description": "Filter families, for more details see the <a href=\"/documentation/filter.html#filter-families\">Filters</a> section.",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return families paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/families/tshirt"
                      }
                    },
                    "attribute_as_image": "picture",
                    "attribute_as_label": "name",
                    "attribute_requirements": {
                      "ecommerce": [
                        "sku",
                        "name",
                        "description",
                        "price",
                        "size",
                        "color"
                      ],
                      "tablet": [
                        "sku",
                        "name",
                        "description",
                        "price"
                      ]
                    },
                    "attributes": [
                      "sku",
                      "name",
                      "description",
                      "price",
                      "size",
                      "color",
                      "picture"
                    ],
                    "code": "tshirt",
                    "labels": {
                      "en_US": "Tshirt",
                      "fr_FR": "Tshirt"
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/families/caps"
                      }
                    },
                    "attribute_as_image": "picture",
                    "attribute_as_label": "name",
                    "attribute_requirements": {
                      "ecommerce": [
                        "sku",
                        "name",
                        "description",
                        "price",
                        "color"
                      ],
                      "tablet": [
                        "sku",
                        "name",
                        "description",
                        "price"
                      ]
                    },
                    "attributes": [
                      "sku",
                      "name",
                      "description",
                      "price",
                      "color",
                      "picture"
                    ],
                    "code": "caps",
                    "labels": {
                      "en_US": "Caps",
                      "fr_FR": "Casquettes"
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/families?page=1&limit=2"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/families?page=3&limit=2"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/families?page=1&limit=2"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/families?page=2&limit=2"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "attribute_as_image": "picture",
                                  "attribute_as_label": "name",
                                  "attribute_requirements": {
                                    "ecommerce": [
                                      "sku",
                                      "name",
                                      "description",
                                      "price",
                                      "color"
                                    ],
                                    "tablet": [
                                      "sku",
                                      "name",
                                      "description",
                                      "price"
                                    ]
                                  },
                                  "attributes": [
                                    "sku",
                                    "name",
                                    "description",
                                    "price",
                                    "color",
                                    "picture"
                                  ],
                                  "code": "caps",
                                  "labels": {
                                    "en_US": "Caps",
                                    "fr_FR": "Casquettes"
                                  }
                                },
                                "properties": {
                                  "attribute_as_image": {
                                    "default": "null",
                                    "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
                                    "type": "string",
                                    "x-from-version": "2.0",
                                    "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
                                  },
                                  "attribute_as_label": {
                                    "description": "Attribute code used as label",
                                    "type": "string",
                                    "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
                                  },
                                  "attribute_requirements": {
                                    "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
                                    "properties": {
                                      "channelCode": {
                                        "items": {
                                          "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                                          "type": "string"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
                                  },
                                  "attributes": {
                                    "default": [],
                                    "description": "Attributes codes that compose the family",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is an existing attribute code"
                                  },
                                  "code": {
                                    "description": "Family code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Family labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Family label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  }
                                },
                                "required": [
                                  "code",
                                  "attribute_as_label"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Families",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of families",
        "tags": [
          "Family"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several families at once.",
        "operationId": "patch_families",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attribute_as_image": "picture",
                "attribute_as_label": "name",
                "attribute_requirements": {
                  "ecommerce": [
                    "sku",
                    "name",
                    "description",
                    "price",
                    "color"
                  ],
                  "tablet": [
                    "sku",
                    "name",
                    "description",
                    "price"
                  ]
                },
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "price",
                  "color",
                  "picture"
                ],
                "code": "caps",
                "labels": {
                  "en_US": "Caps",
                  "fr_FR": "Casquettes"
                }
              },
              "properties": {
                "attribute_as_image": {
                  "default": "null",
                  "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
                },
                "attribute_as_label": {
                  "description": "Attribute code used as label",
                  "type": "string",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
                },
                "attribute_requirements": {
                  "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
                  "properties": {
                    "channelCode": {
                      "items": {
                        "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
                },
                "attributes": {
                  "default": [],
                  "description": "Attributes codes that compose the family",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code"
                },
                "code": {
                  "description": "Family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code",
                "attribute_as_label"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\":\"tshirt\",\"attributes\":[\"description\",\"size\"]}",
                "x-example-2": "{\"code\":\"cap\",\"attribute_as_label\":\"descripion\"}",
                "x-example-3": "{\"code\":\"mug\",\"attributes\":[\"description\",\"short_description\"]}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"tshirt\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"cap\",\"status_code\":422,\"message\":\"Attribute \"descripion\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"code\":\"mug\",\"status_code\":204}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several families",
        "tags": [
          "Family"
        ],
        "x-body-by-line": "Contains several lines, each line is a family in JSON standard format",
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new family.",
        "operationId": "post_families",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "attribute_as_image": "picture",
                "attribute_as_label": "name",
                "attribute_requirements": {
                  "ecommerce": [
                    "sku",
                    "name",
                    "description",
                    "price",
                    "color"
                  ],
                  "tablet": [
                    "sku",
                    "name",
                    "description",
                    "price"
                  ]
                },
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "price",
                  "color",
                  "picture"
                ],
                "code": "caps",
                "labels": {
                  "en_US": "Caps",
                  "fr_FR": "Casquettes"
                }
              },
              "properties": {
                "attribute_as_image": {
                  "default": "null",
                  "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
                },
                "attribute_as_label": {
                  "description": "Attribute code used as label",
                  "type": "string",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
                },
                "attribute_requirements": {
                  "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
                  "properties": {
                    "channelCode": {
                      "items": {
                        "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
                },
                "attributes": {
                  "default": [],
                  "description": "Attributes codes that compose the family",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code"
                },
                "code": {
                  "description": "Family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code",
                "attribute_as_label"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new family",
        "tags": [
          "Family"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/families/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given family.",
        "operationId": "get_families__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "attribute_as_image": "picture",
                "attribute_as_label": "name",
                "attribute_requirements": {
                  "ecommerce": [
                    "sku",
                    "name",
                    "description",
                    "price",
                    "color"
                  ],
                  "tablet": [
                    "sku",
                    "name",
                    "description",
                    "price"
                  ]
                },
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "price",
                  "color",
                  "picture"
                ],
                "code": "caps",
                "labels": {
                  "en_US": "Caps",
                  "fr_FR": "Casquettes"
                }
              },
              "properties": {
                "attribute_as_image": {
                  "default": "null",
                  "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
                },
                "attribute_as_label": {
                  "description": "Attribute code used as label",
                  "type": "string",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
                },
                "attribute_requirements": {
                  "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
                  "properties": {
                    "channelCode": {
                      "items": {
                        "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
                },
                "attributes": {
                  "default": [],
                  "description": "Attributes codes that compose the family",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code"
                },
                "code": {
                  "description": "Family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code",
                "attribute_as_label"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the family in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a family",
        "tags": [
          "Family"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given family. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no family exists for the given code, it creates it.",
        "operationId": "patch_families__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "attribute_as_image": "picture",
                "attribute_as_label": "name",
                "attribute_requirements": {
                  "ecommerce": [
                    "sku",
                    "name",
                    "description",
                    "price",
                    "color"
                  ],
                  "tablet": [
                    "sku",
                    "name",
                    "description",
                    "price"
                  ]
                },
                "attributes": [
                  "sku",
                  "name",
                  "description",
                  "price",
                  "color",
                  "picture"
                ],
                "code": "caps",
                "labels": {
                  "en_US": "Caps",
                  "fr_FR": "Casquettes"
                }
              },
              "properties": {
                "attribute_as_image": {
                  "default": "null",
                  "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
                },
                "attribute_as_label": {
                  "description": "Attribute code used as label",
                  "type": "string",
                  "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
                },
                "attribute_requirements": {
                  "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
                  "properties": {
                    "channelCode": {
                      "items": {
                        "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
                },
                "attributes": {
                  "default": [],
                  "description": "Attributes codes that compose the family",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is an existing attribute code"
                },
                "code": {
                  "description": "Family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code",
                "attribute_as_label"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a family",
        "tags": [
          "Family"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/families/{family_code}/variants": {
      "get": {
        "description": "This endpoint allows you to get a list of family variants. Family variants are paginated and sorted by code.",
        "operationId": "get_families__family_code__variants",
        "parameters": [
          {
            "description": "Code of the family",
            "in": "path",
            "name": "family_code",
            "required": true,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return family variants paginated",
            "examples": {
              "code": "shoesVariant",
              "labels": {
                "en_US": "Shoes variant",
                "fr_FR": "Variante de chaussures"
              },
              "variant_attribute_sets": [
                {
                  "attributes": [
                    "color",
                    "material"
                  ],
                  "axes": [
                    "color"
                  ],
                  "level": 1
                },
                {
                  "attributes": [
                    "sku",
                    "size"
                  ],
                  "axes": [
                    "size"
                  ],
                  "level": 2
                }
              ]
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "shoesVariant",
                                  "labels": {
                                    "en_US": "Shoes variant",
                                    "fr_FR": "Variante de chaussures"
                                  },
                                  "variant_attribute_sets": [
                                    {
                                      "attributes": [
                                        "color",
                                        "material"
                                      ],
                                      "axes": [
                                        "color"
                                      ],
                                      "level": 1
                                    },
                                    {
                                      "attributes": [
                                        "sku",
                                        "size"
                                      ],
                                      "axes": [
                                        "size"
                                      ],
                                      "level": 2
                                    }
                                  ]
                                },
                                "properties": {
                                  "code": {
                                    "description": "Family variant code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Family variant labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Family variant label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  },
                                  "variant_attribute_sets": {
                                    "description": "Attributes distribution according to the enrichment level",
                                    "items": {
                                      "description": "Enrichment level",
                                      "properties": {
                                        "attributes": {
                                          "default": [],
                                          "description": "Codes of attributes bind to this enrichment level",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                                        },
                                        "axes": {
                                          "default": [],
                                          "description": "Codes of attributes used as variant axes",
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array",
                                          "x-immutable": true,
                                          "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                                        },
                                        "level": {
                                          "description": "Enrichment level",
                                          "type": "integer",
                                          "x-immutable": true,
                                          "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                                        }
                                      },
                                      "required": [
                                        "level",
                                        "axes"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "code",
                                  "variant_attribute_sets"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Family Variants",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of family variants",
        "tags": [
          "Family variant"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several family variants at once, for a given family.",
        "operationId": "patch_families__family_code__variants",
        "parameters": [
          {
            "description": "Code of the family",
            "in": "path",
            "name": "family_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "shoesVariant",
                "labels": {
                  "en_US": "Shoes variant",
                  "fr_FR": "Variante de chaussures"
                },
                "variant_attribute_sets": [
                  {
                    "attributes": [
                      "color",
                      "material"
                    ],
                    "axes": [
                      "color"
                    ],
                    "level": 1
                  },
                  {
                    "attributes": [
                      "sku",
                      "size"
                    ],
                    "axes": [
                      "size"
                    ],
                    "level": 2
                  }
                ]
              },
              "properties": {
                "code": {
                  "description": "Family variant code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family variant labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family variant label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "variant_attribute_sets": {
                  "description": "Attributes distribution according to the enrichment level",
                  "items": {
                    "description": "Enrichment level",
                    "properties": {
                      "attributes": {
                        "default": [],
                        "description": "Codes of attributes bind to this enrichment level",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                      },
                      "axes": {
                        "default": [],
                        "description": "Codes of attributes used as variant axes",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                      },
                      "level": {
                        "description": "Enrichment level",
                        "type": "integer",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                      }
                    },
                    "required": [
                      "level",
                      "axes"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "code",
                "variant_attribute_sets"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\": \"shoes_by_size\", \"variant_attribute_sets\": [{\"level\": 1, \"axes\": [\"size\"], \"attributes\": [\"color\"]}]}",
                "x-example-2": "{\"code\": \"shoes_by_color\",\"labels\": {\"en_US\": \"Shoes by color\"}}",
                "x-example-3": "{\"code\": \"shoes_without_axes\", \"variant_attribute_sets\": [{\"level\": 1, \"axes\": [], \"attributes\": [\"color\"]}]}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"shoes_by_size\",\"status_code\":201}",
              "x-example-2": "{\"line\":2,\"code\":\"shoes_by_color\",\"status_code\":204}",
              "x-example-3": "{\"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\"\"}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several family variants",
        "tags": [
          "Family variant"
        ],
        "x-body-by-line": "Contains several lines, each line is a family in JSON standard format",
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a family variant.",
        "operationId": "post_families__family_code__variants",
        "parameters": [
          {
            "description": "Code of the family",
            "in": "path",
            "name": "family_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "code": "shoesVariant",
                "labels": {
                  "en_US": "Shoes variant",
                  "fr_FR": "Variante de chaussures"
                },
                "variant_attribute_sets": [
                  {
                    "attributes": [
                      "color",
                      "material"
                    ],
                    "axes": [
                      "color"
                    ],
                    "level": 1
                  },
                  {
                    "attributes": [
                      "sku",
                      "size"
                    ],
                    "axes": [
                      "size"
                    ],
                    "level": 2
                  }
                ]
              },
              "properties": {
                "code": {
                  "description": "Family variant code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family variant labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family variant label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "variant_attribute_sets": {
                  "description": "Attributes distribution according to the enrichment level",
                  "items": {
                    "description": "Enrichment level",
                    "properties": {
                      "attributes": {
                        "default": [],
                        "description": "Codes of attributes bind to this enrichment level",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                      },
                      "axes": {
                        "default": [],
                        "description": "Codes of attributes used as variant axes",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                      },
                      "level": {
                        "description": "Enrichment level",
                        "type": "integer",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                      }
                    },
                    "required": [
                      "level",
                      "axes"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "code",
                "variant_attribute_sets"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new family variant",
        "tags": [
          "Family"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/families/{family_code}/variants/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given family variant.",
        "operationId": "get_families__family_code__variants__code__",
        "parameters": [
          {
            "description": "Code of the family",
            "in": "path",
            "name": "family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "shoesVariant",
                "labels": {
                  "en_US": "Shoes variant",
                  "fr_FR": "Variante de chaussures"
                },
                "variant_attribute_sets": [
                  {
                    "attributes": [
                      "color",
                      "material"
                    ],
                    "axes": [
                      "color"
                    ],
                    "level": 1
                  },
                  {
                    "attributes": [
                      "sku",
                      "size"
                    ],
                    "axes": [
                      "size"
                    ],
                    "level": 2
                  }
                ]
              },
              "properties": {
                "code": {
                  "description": "Family variant code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family variant labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family variant label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "variant_attribute_sets": {
                  "description": "Attributes distribution according to the enrichment level",
                  "items": {
                    "description": "Enrichment level",
                    "properties": {
                      "attributes": {
                        "default": [],
                        "description": "Codes of attributes bind to this enrichment level",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                      },
                      "axes": {
                        "default": [],
                        "description": "Codes of attributes used as variant axes",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                      },
                      "level": {
                        "description": "Enrichment level",
                        "type": "integer",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                      }
                    },
                    "required": [
                      "level",
                      "axes"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "code",
                "variant_attribute_sets"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the family variant in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a family variant",
        "tags": [
          "Family variant"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given family variant. Know more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no family variant exists for the given code, it creates it.",
        "operationId": "patch_families__family_code__variants__code__",
        "parameters": [
          {
            "description": "Code of the family",
            "in": "path",
            "name": "family_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "shoesVariant",
                "labels": {
                  "en_US": "Shoes variant",
                  "fr_FR": "Variante de chaussures"
                },
                "variant_attribute_sets": [
                  {
                    "attributes": [
                      "color",
                      "material"
                    ],
                    "axes": [
                      "color"
                    ],
                    "level": 1
                  },
                  {
                    "attributes": [
                      "sku",
                      "size"
                    ],
                    "axes": [
                      "size"
                    ],
                    "level": 2
                  }
                ]
              },
              "properties": {
                "code": {
                  "description": "Family variant code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Family variant labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Family variant label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "variant_attribute_sets": {
                  "description": "Attributes distribution according to the enrichment level",
                  "items": {
                    "description": "Enrichment level",
                    "properties": {
                      "attributes": {
                        "default": [],
                        "description": "Codes of attributes bind to this enrichment level",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                      },
                      "axes": {
                        "default": [],
                        "description": "Codes of attributes used as variant axes",
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                      },
                      "level": {
                        "description": "Enrichment level",
                        "type": "integer",
                        "x-immutable": true,
                        "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                      }
                    },
                    "required": [
                      "level",
                      "axes"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "code",
                "variant_attribute_sets"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a family variant",
        "tags": [
          "Family variant"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/locales": {
      "get": {
        "description": "This endpoint allows you to get a list of locales. Locales are paginated and sorted by code.",
        "operationId": "get_locales",
        "parameters": [
          {
            "description": "Filter locales, for more details see the <a href=\"/documentation/filter.html\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return locales paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/locales/en_US"
                      }
                    },
                    "code": "en_US",
                    "enabled": true
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/locales/fr_FR"
                      }
                    },
                    "code": "fr_FR",
                    "enabled": true
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/locales/de_DE"
                      }
                    },
                    "code": "de_DE",
                    "enabled": true
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/locales/af_ZA"
                      }
                    },
                    "code": "af_ZA",
                    "enabled": false
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/locales?page=1&limit=4"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/locales?page=2&limit=4"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/locales?page=1&limit=4"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/locales?page=2&limit=4"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "en_US",
                                  "enable": true
                                },
                                "properties": {
                                  "code": {
                                    "description": "Locale code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "enabled": {
                                    "default": false,
                                    "description": "Whether the locale is enabled",
                                    "type": "boolean"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Locales",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of locales",
        "tags": [
          "Locale"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/locales/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given locale.",
        "operationId": "get_locales__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "en_US",
                "enable": true
              },
              "properties": {
                "code": {
                  "description": "Locale code",
                  "type": "string",
                  "x-immutable": true
                },
                "enabled": {
                  "default": false,
                  "description": "Whether the locale is enabled",
                  "type": "boolean"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the locale in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a locale",
        "tags": [
          "Locale"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/measure-families": {
      "get": {
        "description": "This endpoint allows you to get a list of measure families. Measure families are paginated and sorted by code.",
        "operationId": "measure_families_get_list",
        "responses": {
          "200": {
            "description": "Return measure families paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/measure-families/Area"
                      }
                    },
                    "code": "Area",
                    "standard": "SQUARE_METER",
                    "units": [
                      {
                        "code": "SQUARE_MILLIMETER",
                        "convert": {
                          "mul": "0.000001"
                        },
                        "symbol": "mm²"
                      },
                      {
                        "code": "SQUARE_CENTIMETER",
                        "convert": {
                          "mul": "0.0001"
                        },
                        "symbol": "cm²"
                      },
                      {
                        "code": "SQUARE_DECIMETER",
                        "convert": {
                          "mul": "0.01"
                        },
                        "symbol": "dm²"
                      },
                      {
                        "code": "SQUARE_METER",
                        "convert": {
                          "mul": "1"
                        },
                        "symbol": "m²"
                      },
                      {
                        "code": "CENTIARE",
                        "convert": {
                          "mul": "1"
                        },
                        "symbol": "ca"
                      },
                      {
                        "code": "SQUARE_DEKAMETER",
                        "convert": {
                          "mul": "100"
                        },
                        "symbol": "dam²"
                      },
                      {
                        "code": "ARE",
                        "convert": {
                          "mul": "100"
                        },
                        "symbol": "a"
                      },
                      {
                        "code": "SQUARE_HECTOMETER",
                        "convert": {
                          "mul": "10000"
                        },
                        "symbol": "hm²"
                      }
                    ]
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/measure-families?page=1&limit=1"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/measure-families?page=1&limit=1"
                }
              },
              "current_page": 1
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "Area",
                                  "standard": "SQUARE_METER",
                                  "units": [
                                    {
                                      "code": "SQUARE_MILLIMETER",
                                      "convert": {
                                        "mul": "0.001"
                                      },
                                      "symbol": "mm²"
                                    },
                                    {
                                      "code": "SQUARE_CENTIMETER",
                                      "convert": {
                                        "mul": "0.001"
                                      },
                                      "symbol": "cm²"
                                    }
                                  ]
                                },
                                "properties": {
                                  "code": {
                                    "description": "Measure family code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "standard": {
                                    "description": "Measure family standard",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "units": {
                                    "description": "Family units",
                                    "items": {
                                      "properties": {
                                        "code": {
                                          "description": "Measure code",
                                          "type": "string",
                                          "x-immutable": true
                                        },
                                        "convert": {
                                          "description": "Mathematic operation to convert the unit into the standard unit",
                                          "type": "object"
                                        },
                                        "symbol": {
                                          "description": "Measure symbol",
                                          "type": "string",
                                          "x-immutable": true
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Measure Families",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of measure familiy",
        "tags": [
          "Measure family"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/measure-families/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given measure family.",
        "operationId": "measure_families_get",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "Area",
                "standard": "SQUARE_METER",
                "units": [
                  {
                    "code": "SQUARE_MILLIMETER",
                    "convert": {
                      "mul": "0.001"
                    },
                    "symbol": "mm²"
                  },
                  {
                    "code": "SQUARE_CENTIMETER",
                    "convert": {
                      "mul": "0.001"
                    },
                    "symbol": "cm²"
                  }
                ]
              },
              "properties": {
                "code": {
                  "description": "Measure family code",
                  "type": "string",
                  "x-immutable": true
                },
                "standard": {
                  "description": "Measure family standard",
                  "type": "string",
                  "x-immutable": true
                },
                "units": {
                  "description": "Family units",
                  "items": {
                    "properties": {
                      "code": {
                        "description": "Measure code",
                        "type": "string",
                        "x-immutable": true
                      },
                      "convert": {
                        "description": "Mathematic operation to convert the unit into the standard unit",
                        "type": "object"
                      },
                      "symbol": {
                        "description": "Measure symbol",
                        "type": "string",
                        "x-immutable": true
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the measure family in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a measure family",
        "tags": [
          "Measure family"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/measurement-families": {
      "get": {
        "description": "This endpoint allows you to get a list of measurement families.",
        "operationId": "measurement_families_get_list",
        "responses": {
          "200": {
            "description": "Return the measurement families",
            "schema": {
              "example": {
                "code": "AREA",
                "labels": {
                  "en_US": "Area",
                  "fr_FR": "Surface"
                },
                "standard_unit_code": "SQUARE_METER",
                "units": {
                  "SQUARE_CENTIMETER": {
                    "code": "SQUARE_CENTIMETER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "0.0001"
                      }
                    ],
                    "labels": {
                      "en_US": "Square centimeter",
                      "fr_FR": "Centimètre carré"
                    },
                    "symbol": "cm²"
                  },
                  "SQUARE_METER": {
                    "code": "SQUARE_METER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "1"
                      }
                    ],
                    "labels": {
                      "en_US": "Square meter",
                      "fr_FR": "Mètre carré"
                    },
                    "symbol": "m²"
                  },
                  "SQUARE_MILLIMETER": {
                    "code": "SQUARE_MILLIMETER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "0.000001"
                      }
                    ],
                    "labels": {
                      "en_US": "Square millimeter",
                      "fr_FR": "Millimètre carré"
                    },
                    "symbol": "mm²"
                  }
                }
              },
              "properties": {
                "code": {
                  "description": "Measurement family code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Measurement family labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Measurement family label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "standard_unit_code": {
                  "description": "Unit code used as the standard unit for this measurement family",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "The unit code exists in the list of the property `units`"
                },
                "units": {
                  "description": "Measurement units for this family with their conversion operations. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "properties": {
                    "unitCode": {
                      "properties": {
                        "code": {
                          "description": "Measurement unit code. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                          "type": "string",
                          "x-immutable": true
                        },
                        "convert_from_standard": {
                          "description": "Calculation to convert the unit from the standard unit. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                          "items": {
                            "properties": {
                              "operator": {
                                "description": "Operator for a conversion operation to convert the unit in the standard unit",
                                "enum": [
                                  "mul",
                                  "div",
                                  "add",
                                  "sub"
                                ],
                                "type": "string",
                                "x-validation-rules": "The operator is one of the following values"
                              },
                              "value": {
                                "description": "Value for a conversion operation to convert the unit in the standard unit",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array",
                          "x-validation-rules": "&bull; The conversion operations can't be updated when a product attribute is linked to this measurement family &#10;&bull; At least one conversion operation per unit is required"
                        },
                        "labels": {
                          "default": {},
                          "description": "Unit labels for each locale. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                          "properties": {
                            "localeCode": {
                              "description": "Unit label for the locale `localeCode`",
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                        },
                        "symbol": {
                          "description": "Measurement unit symbol. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "A unit can't be added when a product attribute is linked to this measurement family"
                }
              },
              "required": [
                "code",
                "standard_unit_code",
                "units"
              ],
              "type": "object"
            },
            "x-examples": [
              {
                "code": "AREA",
                "labels": {
                  "en_US": "Area",
                  "fr_FR": "Surface"
                },
                "standard_unit_code": "SQUARE_METER",
                "units": {
                  "SQUARE_CENTIMETER": {
                    "code": "SQUARE_CENTIMETER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "0.0001"
                      }
                    ],
                    "labels": {
                      "en_US": "Square centimeter",
                      "fr_FR": "Centimètre carré"
                    },
                    "symbol": "cm²"
                  },
                  "SQUARE_METER": {
                    "code": "SQUARE_METER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "1"
                      }
                    ],
                    "labels": {
                      "en_US": "Square meter",
                      "fr_FR": "Mètre carré"
                    },
                    "symbol": "m²"
                  },
                  "SQUARE_MILLIMETER": {
                    "code": "SQUARE_MILLIMETER",
                    "convert_from_standard": [
                      {
                        "operator": "mul",
                        "value": "0.000001"
                      }
                    ],
                    "labels": {
                      "en_US": "Square millimeter",
                      "fr_FR": "Millimètre carré"
                    },
                    "symbol": "mm²"
                  }
                }
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of measurement families",
        "tags": [
          "Measurement family"
        ],
        "x-versions": [
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several measurement families at once.",
        "operationId": "patch_measurement_families",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": [
                {
                  "code": "AREA",
                  "labels": {
                    "en_US": "Area",
                    "fr_FR": "Surface"
                  },
                  "standard_unit_code": "SQUARE_METER",
                  "units": {
                    "SQUARE_CENTIMETER": {
                      "code": "SQUARE_CENTIMETER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "0.0001"
                        }
                      ],
                      "labels": {
                        "en_US": "Square centimeter",
                        "fr_FR": "Centimètre carré"
                      },
                      "symbol": "cm²"
                    },
                    "SQUARE_METER": {
                      "code": "SQUARE_METER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "1"
                        }
                      ],
                      "labels": {
                        "en_US": "Square meter",
                        "fr_FR": "Mètre carré"
                      },
                      "symbol": "m²"
                    },
                    "SQUARE_MILLIMETER": {
                      "code": "SQUARE_MILLIMETER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "0.000001"
                        }
                      ],
                      "labels": {
                        "en_US": "Square millimeter",
                        "fr_FR": "Millimètre carré"
                      },
                      "symbol": "mm²"
                    }
                  }
                }
              ],
              "items": {
                "example": {
                  "code": "AREA",
                  "labels": {
                    "en_US": "Area",
                    "fr_FR": "Surface"
                  },
                  "standard_unit_code": "SQUARE_METER",
                  "units": {
                    "SQUARE_CENTIMETER": {
                      "code": "SQUARE_CENTIMETER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "0.0001"
                        }
                      ],
                      "labels": {
                        "en_US": "Square centimeter",
                        "fr_FR": "Centimètre carré"
                      },
                      "symbol": "cm²"
                    },
                    "SQUARE_METER": {
                      "code": "SQUARE_METER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "1"
                        }
                      ],
                      "labels": {
                        "en_US": "Square meter",
                        "fr_FR": "Mètre carré"
                      },
                      "symbol": "m²"
                    },
                    "SQUARE_MILLIMETER": {
                      "code": "SQUARE_MILLIMETER",
                      "convert_from_standard": [
                        {
                          "operator": "mul",
                          "value": "0.000001"
                        }
                      ],
                      "labels": {
                        "en_US": "Square millimeter",
                        "fr_FR": "Millimètre carré"
                      },
                      "symbol": "mm²"
                    }
                  }
                },
                "properties": {
                  "code": {
                    "description": "Measurement family code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "labels": {
                    "default": {},
                    "description": "Measurement family labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Measurement family label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  },
                  "standard_unit_code": {
                    "description": "Unit code used as the standard unit for this measurement family",
                    "type": "string",
                    "x-immutable": true,
                    "x-validation-rules": "The unit code exists in the list of the property `units`"
                  },
                  "units": {
                    "description": "Measurement units for this family with their conversion operations. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                    "properties": {
                      "unitCode": {
                        "properties": {
                          "code": {
                            "description": "Measurement unit code. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                            "type": "string",
                            "x-immutable": true
                          },
                          "convert_from_standard": {
                            "description": "Calculation to convert the unit from the standard unit. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                            "items": {
                              "properties": {
                                "operator": {
                                  "description": "Operator for a conversion operation to convert the unit in the standard unit",
                                  "enum": [
                                    "mul",
                                    "div",
                                    "add",
                                    "sub"
                                  ],
                                  "type": "string",
                                  "x-validation-rules": "The operator is one of the following values"
                                },
                                "value": {
                                  "description": "Value for a conversion operation to convert the unit in the standard unit",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array",
                            "x-validation-rules": "&bull; The conversion operations can't be updated when a product attribute is linked to this measurement family &#10;&bull; At least one conversion operation per unit is required"
                          },
                          "labels": {
                            "default": {},
                            "description": "Unit labels for each locale. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                            "properties": {
                              "localeCode": {
                                "description": "Unit label for the locale `localeCode`",
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                          },
                          "symbol": {
                            "description": "Measurement unit symbol. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "A unit can't be added when a product attribute is linked to this measurement family"
                  }
                },
                "required": [
                  "code",
                  "standard_unit_code",
                  "units"
                ],
                "type": "object"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "properties": {
                  "code": {
                    "description": "Resource code",
                    "type": "string"
                  },
                  "errors": {
                    "description": "List of errors",
                    "items": {
                      "properties": {
                        "message": {
                          "type": "string"
                        },
                        "property": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "message": {
                    "description": "Message explaining the error",
                    "type": "string"
                  },
                  "status_code": {
                    "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "x-details": "Returns a JSON containing the status of each update or creation",
            "x-examples": [
              {
                "code": "Angle",
                "status_code": 201
              },
              {
                "code": "Force",
                "status_code": 204
              },
              {
                "code": "Area",
                "errors": [
                  {
                    "message": "The standard unit code of the \"Angle\" measurement family cannot be changed",
                    "property": "standard_unit_code"
                  }
                ],
                "message": "The measurement family has data that does not comply with the business rules.",
                "status_code": 422
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several measurement families",
        "tags": [
          "Measurement family"
        ],
        "x-versions": [
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/media-files": {
      "get": {
        "description": "This endpoint allows you to get a list of media files that are used as attribute values in products or product models.",
        "operationId": "get_media_files",
        "parameters": [
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return media files paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg"
                      }
                    },
                    "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
                    "extension": "jpg",
                    "mime_type": "image/jpeg",
                    "original_filename": "10806799-1356.jpg",
                    "size": 16070
                  },
                  {
                    "_links": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/d/0/3/2/d032a92d994df3ef67ee6746b7b7a795c2964e7c_10734346_1480.jpg/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/d/0/3/2/d032a92d994df3ef67ee6746b7b7a795c2964e7c_10734346_1480.jpg"
                      }
                    },
                    "code": "d/0/3/2/d032a92d994df3ef67ee6746b7b7a795c2964e7c_10734346_1480.jpg",
                    "extension": "jpg",
                    "mime_type": "image/jpeg",
                    "original_filename": "10734346-1480.jpg",
                    "size": 16454
                  },
                  {
                    "_links": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_12431976_8797.jpg/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_12431976_8797.jpg"
                      }
                    },
                    "code": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_12431976_8797.jpg",
                    "extension": "jpg",
                    "mime_type": "image/jpeg",
                    "original_filename": "12431976-8797.jpg",
                    "size": 19725
                  },
                  {
                    "_links": {
                      "download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/0/c/b/0/0cb0c0e115dedba676f8d1ad8343e6207ab54c7b_107406_9841.jpg/download"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/media-files/0/c/b/0/0cb0c0e115dedba676f8d1ad8343e6207ab54c7b_107406_9841.jpg"
                      }
                    },
                    "code": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343e6207ab54c7b_107406_9841.jpg",
                    "extension": "jpg",
                    "mime_type": "image/jpeg",
                    "original_filename": "107406-9841.jpg",
                    "size": 17639
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/media-files?page=1&limit=4"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/media-files?page=2&limit=4"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/media-files?page=1&limit=4"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/media-files?page=2&limit=4"
                }
              },
              "current_page": 2
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "download": {
                                        "properties": {
                                          "href": {
                                            "description": "URI to download the binaries of the media file",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI to get the metadata of the media file",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
                                  "extension": "jpg",
                                  "mime_type": "image/jpeg",
                                  "original_filename": "10806799-1356.jpg",
                                  "size": 16070
                                },
                                "properties": {
                                  "code": {
                                    "description": "Media file code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "extension": {
                                    "description": "Extension of the media file",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "mime_type": {
                                    "description": "Mime type of the media file",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "original_filename": {
                                    "description": "Original filename of the media file",
                                    "type": "string"
                                  },
                                  "size": {
                                    "description": "Size of the media file",
                                    "type": "integer",
                                    "x-read-only": true
                                  }
                                },
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "MediaFiles",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of product media files",
        "tags": [
          "Product media file"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new media file and associate it to an attribute value of a given product or product model.",
        "operationId": "post_media_files",
        "parameters": [
          {
            "description": "Equal to 'multipart/form-data', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "file": {
                  "description": "The binaries of the file",
                  "format": "binary",
                  "type": "string"
                },
                "product": {
                  "description": "The product to which the media file will be associated. It is a JSON string that follows this format '{\"identifier\":\"product_identifier\", \"attribute\":\"attribute_code\", \"scope\":\"channel_code\",\"locale\":\"locale_code\"}'. You have to either use this field or the `product_model` field, but not both at the same time.",
                  "type": "string"
                },
                "product_model": {
                  "description": "The product model to which the media file will be associated. It is a JSON string that follows this format '{\"code\":\"product_model_code\", \"attribute\":\"attribute_code\", \"scope\":\"channel_code\",\"locale\":\"locale_code\"}'. You have to either use this field or the `product` field, but not both at the same time.",
                  "type": "string"
                }
              },
              "required": [
                "file"
              ]
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `multipart/form-data`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new product media file",
        "tags": [
          "Product media file"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/media-files/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given media file that is used as an attribute value of a product or a product model.",
        "operationId": "get_media_files__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "download": {
                          "properties": {
                            "href": {
                              "description": "URI to download the binaries of the media file",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "x-read-only": true
                    }
                  },
                  "type": "object"
                },
                {
                  "example": {
                    "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
                    "extension": "jpg",
                    "mime_type": "image/jpeg",
                    "original_filename": "10806799-1356.jpg",
                    "size": 16070
                  },
                  "properties": {
                    "code": {
                      "description": "Media file code",
                      "type": "string",
                      "x-immutable": true
                    },
                    "extension": {
                      "description": "Extension of the media file",
                      "type": "string",
                      "x-read-only": true
                    },
                    "mime_type": {
                      "description": "Mime type of the media file",
                      "type": "string",
                      "x-read-only": true
                    },
                    "original_filename": {
                      "description": "Original filename of the media file",
                      "type": "string"
                    },
                    "size": {
                      "description": "Size of the media file",
                      "type": "integer",
                      "x-read-only": true
                    }
                  },
                  "type": "object"
                }
              ],
              "example": {
                "_links": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/media-files/7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg/download"
                  }
                },
                "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
                "extension": "jpg",
                "mime_type": "image/jpeg",
                "original_filename": "10806799-1356.jpg",
                "size": 16070
              }
            },
            "x-details": "Returns the content of the media file in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a product media file",
        "tags": [
          "Product media file"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/media-files/{code}/download": {
      "get": {
        "description": "This endpoint allows you to download a given media file that is used as an attribute value of a product or a product model.",
        "operationId": "get_media_files__code__download",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the media file",
            "x-details": "Returns the binary of the media file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download a product media file",
        "tags": [
          "Product media file"
        ],
        "x-content-type": "Mime-type of the media file",
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/product-models": {
      "get": {
        "description": "This endpoint allows you to get a list of product models. Product models are paginated. In the Enterprise Edition, since the 2.0, permissions based on your user groups are applied to the set of products you request.",
        "operationId": "get_product_models",
        "parameters": [
          {
            "description": "Filter product models, for more details see the <a href=\"/documentation/filter.html\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-channel\">Filter product values via channel</a> section",
            "in": "query",
            "name": "scope",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-locale\">Filter product values via locale</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to only return those concerning the given attributes, for more details see the <a href=\"/documentation/filter.html#filter-product-values\">Filter on product values</a> section and the <a href=\"/documentation/filter.html#filter-on-product-model-properties\">Filter on product model properties</a> section",
            "in": "query",
            "name": "attributes",
            "required": false,
            "type": "string"
          },
          {
            "default": "page",
            "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "enum": [
              "page",
              "search_after"
            ],
            "in": "query",
            "name": "pagination_type",
            "required": false,
            "type": "string",
            "x-validation-rules": "One of the following values"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          },
          {
            "description": "Return product model quality scores in the response. <strong>(Only available since the 6.0 version)</strong>",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Return product models paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "http://demo.akeneo.com/api/rest/v1/product-models/amarisshoe"
                      }
                    },
                    "associations": {
                      "PACK": {
                        "groups": [],
                        "product_models": [],
                        "products": [
                          "sunglasses"
                        ]
                      }
                    },
                    "categories": [
                      "clothing",
                      "shoes"
                    ],
                    "code": "amarisshoe",
                    "created": "2017-10-04T18:04:10+02:00",
                    "family": "shoes",
                    "family_variant": "shoes_VariantA1",
                    "parent": null,
                    "quality_scores": [
                      {
                        "data": "A",
                        "locale": "en_US",
                        "scope": "ecommerce"
                      },
                      {
                        "data": "B",
                        "locale": "fr_FR",
                        "scope": "ecommerce"
                      },
                      {
                        "data": "D",
                        "locale": "en_US",
                        "scope": "tablet"
                      },
                      {
                        "data": "E",
                        "locale": "fr_FR",
                        "scope": "tablet"
                      }
                    ],
                    "quantified_associations": {
                      "PRODUCT_SET": {
                        "product_models": [
                          {
                            "identifier": "model-biker-jacket-leather",
                            "quantity": 2
                          }
                        ],
                        "products": [
                          {
                            "identifier": "cap",
                            "quantity": 2
                          },
                          {
                            "identifier": "shoes",
                            "quantity": 1
                          }
                        ]
                      }
                    },
                    "updated": "2017-10-04T18:04:10+02:00",
                    "values": {
                      "description": [
                        {
                          "data": "I like shoes!",
                          "locale": "en_US",
                          "scope": "ecommerce"
                        }
                      ],
                      "price": [
                        {
                          "data": [
                            {
                              "amount": "50.00",
                              "currency": "EUR"
                            }
                          ],
                          "locale": null,
                          "scope": null
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "http://demo.akeneo.com/api/rest/v1/product-models/Abiloitshirt"
                      }
                    },
                    "associations": {
                      "PACK": {
                        "groups": [],
                        "product_models": [],
                        "products": [
                          "sunglasses"
                        ]
                      }
                    },
                    "categories": [
                      "clothing",
                      "tshirt"
                    ],
                    "code": "Abiloitshirt",
                    "created": "2017-10-04T18:04:10+02:00",
                    "family": "clothing",
                    "family_variant": "clothing_VariantA1",
                    "parent": null,
                    "quality_scores": [
                      {
                        "data": "A",
                        "locale": "en_US",
                        "scope": "ecommerce"
                      },
                      {
                        "data": "B",
                        "locale": "fr_FR",
                        "scope": "ecommerce"
                      },
                      {
                        "data": "D",
                        "locale": "en_US",
                        "scope": "tablet"
                      },
                      {
                        "data": "E",
                        "locale": "fr_FR",
                        "scope": "tablet"
                      }
                    ],
                    "quantified_associations": {
                      "PRODUCT_SET": {
                        "product_models": [],
                        "products": [
                          {
                            "identifier": "cap",
                            "quantity": 2
                          }
                        ]
                      }
                    },
                    "updated": "2017-10-04T18:04:10+02:00",
                    "values": {
                      "description": [
                        {
                          "data": "I like tshirt!",
                          "locale": "en_US",
                          "scope": "ecommerce"
                        }
                      ],
                      "price": [
                        {
                          "data": [
                            {
                              "amount": "50.00",
                              "currency": "EUR"
                            }
                          ],
                          "locale": null,
                          "scope": null
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "http://demo.akeneo.com/api/rest/v1/product-models/Astertrousers"
                      }
                    },
                    "associations": {
                      "PACK": {
                        "groups": [],
                        "product_models": [],
                        "products": [
                          "sunglasses"
                        ]
                      }
                    },
                    "categories": [
                      "clothing",
                      "trousers"
                    ],
                    "code": "Astertrousers",
                    "created": "2017-10-04T18:04:10+02:00",
                    "family": "clothing",
                    "family_variant": "clothing_VariantA1",
                    "parent": null,
                    "quantified_associations": {},
                    "updated": "2017-10-04T18:04:10+02:00",
                    "values": {
                      "description": [
                        {
                          "data": "I like trousers!",
                          "locale": "en_US",
                          "scope": "ecommerce"
                        }
                      ],
                      "price": [
                        {
                          "data": [
                            {
                              "amount": "50.00",
                              "currency": "EUR"
                            }
                          ],
                          "locale": null,
                          "scope": null
                        }
                      ]
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "http://demo.akeneo.com/api/rest/v1/product-models?pagination_type=search_after&limit=3"
                },
                "next": {
                  "href": "http://demo.akeneo.com/api/rest/v1/product-models?pagination_type=search_after&limit=3&search_after=rw%3D%3D"
                },
                "self": {
                  "href": "http://demo.akeneo.com/api/rest/v1/product-models?pagination_type=search_after&limit=3&search_after=qg%3D%3D"
                }
              }
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "associations": {
                                    "PACK": {
                                      "groups": [],
                                      "product_models": [],
                                      "products": [
                                        "sunglass"
                                      ]
                                    }
                                  },
                                  "categories": [
                                    "summer_collection"
                                  ],
                                  "code": "model-biker-jacket-leather",
                                  "created": "2017-10-02T15:03:55+02:00",
                                  "family": "clothing",
                                  "family_variant": "clothing_material_size",
                                  "parent": "model-biker-jacket",
                                  "quality_scores": [
                                    {
                                      "data": "A",
                                      "locale": "en_US",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "B",
                                      "locale": "fr_FR",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "D",
                                      "locale": "en_US",
                                      "scope": "tablet"
                                    },
                                    {
                                      "data": "E",
                                      "locale": "fr_FR",
                                      "scope": "tablet"
                                    }
                                  ],
                                  "quantified_associations": {
                                    "PRODUCT_SET": {
                                      "product_models": [
                                        {
                                          "code": "model-biker-jacket-leather",
                                          "quantity": 2
                                        }
                                      ],
                                      "products": [
                                        {
                                          "identifier": "top",
                                          "quantity": 2
                                        },
                                        {
                                          "identifier": "cap",
                                          "quantity": 1
                                        }
                                      ]
                                    }
                                  },
                                  "updated": "2017-10-02T15:03:55+02:00",
                                  "values": {
                                    "collection": [
                                      {
                                        "data": [
                                          "summer_2017"
                                        ],
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "color": [
                                      {
                                        "data": "antique_white",
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "description": [
                                      {
                                        "data": "Biker jacket",
                                        "locale": "en_US",
                                        "scope": "ecommerce"
                                      }
                                    ],
                                    "material": [
                                      {
                                        "data": "leather",
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "name": [
                                      {
                                        "data": "Biker jacket",
                                        "locale": "en_US",
                                        "scope": null
                                      }
                                    ],
                                    "variation_name": [
                                      {
                                        "data": "Biker jacket leather",
                                        "locale": "en_US",
                                        "scope": null
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "associations": {
                                    "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                                    "properties": {
                                      "associationTypeCode": {
                                        "properties": {
                                          "groups": {
                                            "description": "Array of groups codes with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "product_models": {
                                            "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-from-version": "2.1"
                                          },
                                          "products": {
                                            "description": "Array of product identifiers with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                                  },
                                  "categories": {
                                    "default": [],
                                    "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing category code"
                                  },
                                  "code": {
                                    "description": "Product model code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "created": {
                                    "description": "Date of creation",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "family": {
                                    "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                                    "type": "string",
                                    "x-from-version": "3.2",
                                    "x-immutable": true,
                                    "x-validation-rules": "It is equal to an existing family code"
                                  },
                                  "family_variant": {
                                    "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                                  },
                                  "metadata": {
                                    "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                                    "properties": {
                                      "workflow_status": {
                                        "description": "Status of the product model regarding the user permissions",
                                        "enum": [
                                          "read_only",
                                          "draft_in_progress",
                                          "proposal_waiting_for_approval",
                                          "working_copy"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "2.3",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "parent": {
                                    "default": "null",
                                    "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                                    "type": "string",
                                    "x-from-version": "2.3",
                                    "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                                  },
                                  "quality_scores": {
                                    "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                                    "type": "object",
                                    "x-from-version": "7.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "quantified_associations": {
                                    "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                                    "properties": {
                                      "quantifiedAssociationTypeCode": {
                                        "properties": {
                                          "product_models": {
                                            "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                                            "items": {
                                              "properties": {
                                                "code": {
                                                  "type": "string"
                                                },
                                                "quantity": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "products": {
                                            "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                                            "items": {
                                              "properties": {
                                                "identifier": {
                                                  "type": "string"
                                                },
                                                "quantity": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "5.0",
                                    "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "values": {
                                    "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "data": {
                                              "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                                              "type": "object"
                                            },
                                            "locale": {
                                              "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                                              "type": "string"
                                            },
                                            "scope": {
                                              "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Product values section"
                                  }
                                },
                                "required": [
                                  "code",
                                  "family_variant"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Product Models",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Get list of product models",
        "tags": [
          "Product model"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several product models at once. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product models exists for the given code, it creates it. In the Enterprise Edition, since the v2.3, permissions based on your user groups are applied to the product models you try to update. It may result in the creation of drafts if you only have edit rights through the product model's categories.",
        "operationId": "patch_product_models",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "code": "model-biker-jacket-leather",
                "created": "2017-10-02T15:03:55+02:00",
                "family": "clothing",
                "family_variant": "clothing_material_size",
                "parent": "model-biker-jacket",
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "code": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "top",
                        "quantity": 2
                      },
                      {
                        "identifier": "cap",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2017-10-02T15:03:55+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "summer_2017"
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "antique_white",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    }
                  ],
                  "material": [
                    {
                      "data": "leather",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "name": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": null
                    }
                  ],
                  "variation_name": [
                    {
                      "data": "Biker jacket leather",
                      "locale": "en_US",
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "code": {
                  "description": "Product model code",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "family": {
                  "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                  "type": "string",
                  "x-from-version": "3.2",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "family_variant": {
                  "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                },
                "metadata": {
                  "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product model regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.3",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.3",
                  "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                },
                "quality_scores": {
                  "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "code",
                "family_variant"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"code\": \"sub_sweat_option_a\", \"parent\": \"sweat\", \"values\": {\"a_simple_select\": [{\"locale\": null, \"scope\": null, \"data\": \"optionA\"}]}}",
                "x-example-2": "{\"code\": \"sub_sweat_option_b\", \"parent\": \"sweat\", \"values\": {\"a_simple_select\": [{\"locale\": null, \"scope\": null, \"data\": \"optionA\"}]}}",
                "x-example-3": "{\"code\":\"tshirt\", \"parent\": \"root_tshirt\", \"family_variant\":\"clothesvariant\",\"values\":{\"description\":[{\"scope\":\"ecommerce\",\"locale\":\"en_US\",\"data\":\"My amazing tshirt\"}]}}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"code\":\"sub_sweat_option_a\",\"status_code\":204}",
              "x-example-2": "{\"line\":2,\"code\":\"sub_sweat_option_b\",\"status_code\":422,\"message\":\"Validation failed.\",\"errors\":[{\"property\":\"attribute\",\"message\":\"Cannot set value \\\"Option A\\\" for the attribute axis \\\"a_simple_select\\\", as another sibling entity already has this value\"}]}",
              "x-example-3": "{\"line\":3,\"code\":\"tshirt\",\"status_code\":201}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several product models",
        "tags": [
          "Product model"
        ],
        "x-body-by-line": "Contains several lines, each line is a product model in JSON standard format",
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new product model. In the Enterprise Edition, since the v2.3, permissions based on your user groups are applied to the product model you try to create.",
        "operationId": "post_product_models",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "code": "model-biker-jacket-leather",
                "created": "2017-10-02T15:03:55+02:00",
                "family": "clothing",
                "family_variant": "clothing_material_size",
                "parent": "model-biker-jacket",
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "code": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "top",
                        "quantity": 2
                      },
                      {
                        "identifier": "cap",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2017-10-02T15:03:55+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "summer_2017"
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "antique_white",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    }
                  ],
                  "material": [
                    {
                      "data": "leather",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "name": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": null
                    }
                  ],
                  "variation_name": [
                    {
                      "data": "Biker jacket leather",
                      "locale": "en_US",
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "code": {
                  "description": "Product model code",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "family": {
                  "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                  "type": "string",
                  "x-from-version": "3.2",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "family_variant": {
                  "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                },
                "metadata": {
                  "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product model regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.3",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.3",
                  "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                },
                "quality_scores": {
                  "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "code",
                "family_variant"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new product model",
        "tags": [
          "Product model"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/product-models/{code}": {
      "delete": {
        "description": "This endpoint allows you to delete a given product model. All its children, product models and variant products, will be also deleted. In the Enterprise Edition, the permissions based on your connection user group are applied to the product model you try to delete.",
        "operationId": "delete_product_models__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No content to return",
            "x-details": "Means that the deletion was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Delete a product model",
        "tags": [
          "Product model"
        ],
        "x-versions": [
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "get": {
        "description": "This endpoint allows you to get the information about a given product model. In the Entreprise Edition, since the v2.0, permissions based on your user groups are applied to the product model you request.",
        "operationId": "get_product_models__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Return product model quality scores in the response. <strong>(Only available since the 6.0 version)</strong>",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "code": "model-biker-jacket-leather",
                "created": "2017-10-02T15:03:55+02:00",
                "family": "clothing",
                "family_variant": "clothing_material_size",
                "parent": "model-biker-jacket",
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "code": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "top",
                        "quantity": 2
                      },
                      {
                        "identifier": "cap",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2017-10-02T15:03:55+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "summer_2017"
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "antique_white",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    }
                  ],
                  "material": [
                    {
                      "data": "leather",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "name": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": null
                    }
                  ],
                  "variation_name": [
                    {
                      "data": "Biker jacket leather",
                      "locale": "en_US",
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "code": {
                  "description": "Product model code",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "family": {
                  "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                  "type": "string",
                  "x-from-version": "3.2",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "family_variant": {
                  "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                },
                "metadata": {
                  "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product model regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.3",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.3",
                  "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                },
                "quality_scores": {
                  "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "code",
                "family_variant"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the product model in JSON standard format."
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a product model",
        "tags": [
          "Product model"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given product model. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product model exists for the given code, it creates it. In the Enterprise Edition PIM since the 2.3, permissions based on your user groups are applied to the product model you try to update. It may result in the creation of a draft if you only have edit rights through the product model's categories.",
        "operationId": "patch_product_models__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "code": "model-biker-jacket-leather",
                "created": "2017-10-02T15:03:55+02:00",
                "family": "clothing",
                "family_variant": "clothing_material_size",
                "parent": "model-biker-jacket",
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "code": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "top",
                        "quantity": 2
                      },
                      {
                        "identifier": "cap",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2017-10-02T15:03:55+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "summer_2017"
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "antique_white",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    }
                  ],
                  "material": [
                    {
                      "data": "leather",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "name": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": null
                    }
                  ],
                  "variation_name": [
                    {
                      "data": "Biker jacket leather",
                      "locale": "en_US",
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "code": {
                  "description": "Product model code",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "family": {
                  "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                  "type": "string",
                  "x-from-version": "3.2",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "family_variant": {
                  "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                },
                "metadata": {
                  "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product model regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.3",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.3",
                  "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                },
                "quality_scores": {
                  "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "code",
                "family_variant"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a product model",
        "tags": [
          "Product model"
        ],
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/product-models/{code}/draft": {
      "get": {
        "description": "This endpoint allows you to get the information about a given product model draft.",
        "operationId": "get_product_model_draft__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "code": "model-biker-jacket-leather",
                "created": "2017-10-02T15:03:55+02:00",
                "family": "clothing",
                "family_variant": "clothing_material_size",
                "parent": "model-biker-jacket",
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "code": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "top",
                        "quantity": 2
                      },
                      {
                        "identifier": "cap",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2017-10-02T15:03:55+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "summer_2017"
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "antique_white",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    }
                  ],
                  "material": [
                    {
                      "data": "leather",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "name": [
                    {
                      "data": "Biker jacket",
                      "locale": "en_US",
                      "scope": null
                    }
                  ],
                  "variation_name": [
                    {
                      "data": "Biker jacket leather",
                      "locale": "en_US",
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product and/or other product models, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "code": {
                  "description": "Product model code",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "family": {
                  "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
                  "type": "string",
                  "x-from-version": "3.2",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "family_variant": {
                  "description": "Family variant code from which the product model inherits its attributes and variant attributes",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
                },
                "metadata": {
                  "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product model regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.3",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.3",
                  "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
                },
                "quality_scores": {
                  "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "code",
                "family_variant"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the draft in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a draft",
        "tags": [
          "Product model"
        ],
        "x-ee": true,
        "x-versions": [
          "2.3",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/product-models/{code}/proposal": {
      "post": {
        "description": "This endpoint allows you to submit a product model draft for approval.",
        "operationId": "post_product_model_proposal",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Submitted",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the draft submission was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Submit a draft for approval",
        "tags": [
          "Product model"
        ],
        "x-ee": true,
        "x-versions": [
          "2.3",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products": {
      "get": {
        "description": "This endpoint allows you to get a list of products. Products are paginated and they can be filtered. In the Enterprise Edition, since the 2.0, permissions based on your user groups are applied to the set of products you request.",
        "operationId": "get_products",
        "parameters": [
          {
            "description": "Filter products, for more details see the <a href=\"/documentation/filter.html\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-channel\">Filter product values via channel</a> section",
            "in": "query",
            "name": "scope",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-locale\">Filter product values via locale</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to only return those concerning the given attributes, for more details see the <a href=\"/documentation/filter.html#filter-product-values\">Filter on product values</a> section",
            "in": "query",
            "name": "attributes",
            "required": false,
            "type": "string"
          },
          {
            "default": "page",
            "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "enum": [
              "page",
              "search_after"
            ],
            "in": "query",
            "name": "pagination_type",
            "required": false,
            "type": "string",
            "x-validation-rules": "One of the following values"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          },
          {
            "default": false,
            "description": "Return labels of attribute options in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_attribute_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product quality scores in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product completenesses in the response. (Only available since the 6.0 version)",
            "in": "query",
            "name": "with_completenesses",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Return products paginated",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "associations": {
                                    "PACK": {
                                      "groups": [],
                                      "product_models": [],
                                      "products": [
                                        "sunglass"
                                      ]
                                    }
                                  },
                                  "categories": [
                                    "summer_collection"
                                  ],
                                  "completenesses": [
                                    {
                                      "data": 10,
                                      "locale": "en_US",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": 20,
                                      "locale": "fr_FR",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": 30,
                                      "locale": "en_US",
                                      "scope": "tablet"
                                    },
                                    {
                                      "data": 40,
                                      "locale": "fr_FR",
                                      "scope": "tablet"
                                    }
                                  ],
                                  "created": "2016-06-23T18:24:44+02:00",
                                  "enabled": true,
                                  "family": "tshirt",
                                  "groups": [],
                                  "identifier": "top",
                                  "parent": null,
                                  "quality_scores": [
                                    {
                                      "data": "A",
                                      "locale": "en_US",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "B",
                                      "locale": "fr_FR",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "D",
                                      "locale": "en_US",
                                      "scope": "tablet"
                                    },
                                    {
                                      "data": "E",
                                      "locale": "fr_FR",
                                      "scope": "tablet"
                                    }
                                  ],
                                  "quantified_associations": {
                                    "PRODUCT_SET": {
                                      "product_models": [
                                        {
                                          "identifier": "model-biker-jacket-leather",
                                          "quantity": 2
                                        }
                                      ],
                                      "products": [
                                        {
                                          "identifier": "cap",
                                          "quantity": 2
                                        },
                                        {
                                          "identifier": "shoes",
                                          "quantity": 1
                                        }
                                      ]
                                    }
                                  },
                                  "updated": "2016-06-25T17:56:12+02:00",
                                  "values": {
                                    "collection": [
                                      {
                                        "data": [
                                          "winter_2016"
                                        ],
                                        "linked_data": {
                                          "winter_2016": {
                                            "attribute": "collection",
                                            "code": "winter_2016",
                                            "labels": {
                                              "en_US": "Winter 2016",
                                              "fr_FR": "Hiver 2016"
                                            }
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "color": [
                                      {
                                        "data": "black",
                                        "linked_data": {
                                          "attribute": "color",
                                          "code": "black",
                                          "labels": {
                                            "en_US": "Black",
                                            "fr_FR": "Noir"
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "description": [
                                      {
                                        "data": "Summer top",
                                        "locale": "en_US",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": "tablet"
                                      },
                                      {
                                        "data": "Débardeur pour l'été",
                                        "locale": "fr_FR",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": "tablet"
                                      }
                                    ],
                                    "name": [
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": null
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": null
                                      }
                                    ],
                                    "price": [
                                      {
                                        "data": [
                                          {
                                            "amount": "15.5",
                                            "currency": "EUR"
                                          },
                                          {
                                            "amount": "15",
                                            "currency": "USD"
                                          }
                                        ],
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "size": [
                                      {
                                        "data": "m",
                                        "linked_data": {
                                          "attribute": "size",
                                          "code": "m",
                                          "labels": {
                                            "en_US": "M",
                                            "fr_FR": "M"
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "associations": {
                                    "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                                    "properties": {
                                      "associationTypeCode": {
                                        "properties": {
                                          "groups": {
                                            "description": "Array of groups codes with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "product_models": {
                                            "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-from-version": "2.1"
                                          },
                                          "products": {
                                            "description": "Array of product identifiers with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                                  },
                                  "categories": {
                                    "default": [],
                                    "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing category code"
                                  },
                                  "completenesses": {
                                    "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                                    "items": {
                                      "properties": {
                                        "data": {
                                          "type": "integer"
                                        },
                                        "locale": {
                                          "type": "string"
                                        },
                                        "scope": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-from-version": "7.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "created": {
                                    "description": "Date of creation",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "enabled": {
                                    "default": true,
                                    "description": "Whether the product is enabled",
                                    "type": "boolean"
                                  },
                                  "family": {
                                    "default": "null only in the case of a non variant product",
                                    "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                                    "type": "string",
                                    "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                                  },
                                  "groups": {
                                    "default": [],
                                    "description": "Codes of the groups to which the product belong",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing group code"
                                  },
                                  "identifier": {
                                    "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                                    "type": "string"
                                  },
                                  "metadata": {
                                    "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                                    "properties": {
                                      "workflow_status": {
                                        "description": "Status of the product regarding the user permissions",
                                        "enum": [
                                          "read_only",
                                          "draft_in_progress",
                                          "proposal_waiting_for_approval",
                                          "working_copy"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "2.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "parent": {
                                    "default": "null",
                                    "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                                    "type": "string",
                                    "x-from-version": "2.0",
                                    "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                                  },
                                  "quality_scores": {
                                    "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                                    "type": "object",
                                    "x-from-version": "5.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "quantified_associations": {
                                    "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                                    "properties": {
                                      "quantifiedAssociationTypeCode": {
                                        "properties": {
                                          "product_models": {
                                            "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                                            "items": {
                                              "properties": {
                                                "code": {
                                                  "type": "string"
                                                },
                                                "quantity": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "products": {
                                            "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                                            "items": {
                                              "properties": {
                                                "identifier": {
                                                  "type": "string"
                                                },
                                                "quantity": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "5.0",
                                    "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "uuid": {
                                    "description": "Product UUID",
                                    "type": "string",
                                    "x-from-version": "7.0"
                                  },
                                  "values": {
                                    "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "data": {
                                              "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                                              "type": "object"
                                            },
                                            "linked_data": {
                                              "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                                              "properties": {
                                                "attribute": {
                                                  "type": "string"
                                                },
                                                "code": {
                                                  "type": "string"
                                                },
                                                "labels": {
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object",
                                              "x-from-version": "5.0",
                                              "x-read-only": true
                                            },
                                            "locale": {
                                              "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                                              "type": "string"
                                            },
                                            "scope": {
                                              "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Product values section"
                                  }
                                },
                                "required": [
                                  "identifier"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Products",
              "type": "object"
            },
            "x-examples-per-version": [
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "identifier": "top",
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "products": [
                              {
                                "identifier": "cap",
                                "quantity": 2
                              },
                              {
                                "identifier": "shoes",
                                "quantity": 1
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "identifier": "cap",
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "identifier": "sweat",
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "values": {}
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "1.7"
              },
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "identifier": "top",
                        "parent": null,
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "products": [
                              {
                                "identifier": "cap",
                                "quantity": 2
                              },
                              {
                                "identifier": "shoes",
                                "quantity": 1
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "identifier": "cap",
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "identifier": "sweat",
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "values": {}
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "2.0"
              },
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "identifier": "top",
                        "parent": null,
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "product_models": [
                              {
                                "identifier": "model-biker-jacket-leather",
                                "quantity": 2
                              }
                            ],
                            "products": [
                              {
                                "identifier": "cap",
                                "quantity": 2
                              },
                              {
                                "identifier": "shoes",
                                "quantity": 1
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "identifier": "cap",
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "identifier": "sweat",
                        "parent": null,
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "values": {}
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "2.1"
              },
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "identifier": "top",
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "product_models": [
                              {
                                "identifier": "model-biker-jacket-leather",
                                "quantity": 2
                              }
                            ],
                            "products": [
                              {
                                "identifier": "cap",
                                "quantity": 2
                              },
                              {
                                "identifier": "shoes",
                                "quantity": 1
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "linked_data": {
                                "winter_2016": {
                                  "attribute": "collection",
                                  "code": "winter_2016",
                                  "labels": {
                                    "en_US": "Winter 2016",
                                    "fr_FR": "Hiver 2016"
                                  }
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "linked_data": {
                                "attribute": "size",
                                "code": "m",
                                "labels": {
                                  "en_US": "M",
                                  "fr_FR": "M"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "identifier": "cap",
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "identifier": "sweat",
                        "parent": null,
                        "quality_scores": {},
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "values": {}
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3&with_quality_scores=true&with_attribute_options=true"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3&with_quality_scores=true&with_attribute_options=true"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3&with_quality_scores=true&with_attribute_options=true"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3&with_quality_scores=true&with_attribute_options=true"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "5.0"
              },
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "completenesses": [
                          {
                            "data": 20,
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 30,
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 55,
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": 70,
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "identifier": "top",
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "product_models": [
                              {
                                "identifier": "model-biker-jacket-leather",
                                "quantity": 2
                              }
                            ],
                            "products": [
                              {
                                "identifier": "cap",
                                "quantity": 2
                              },
                              {
                                "identifier": "shoes",
                                "quantity": 1
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "uuid": "aaf518b2-f91e-40f1-a53a-78ce5e81a6f9",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "linked_data": {
                                "winter_2016": {
                                  "attribute": "collection",
                                  "code": "winter_2016",
                                  "labels": {
                                    "en_US": "Winter 2016",
                                    "fr_FR": "Hiver 2016"
                                  }
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "linked_data": {
                                "attribute": "size",
                                "code": "m",
                                "labels": {
                                  "en_US": "M",
                                  "fr_FR": "M"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "sunglasses"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "completenesses": [
                          {
                            "data": 20,
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 30,
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 55,
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": 70,
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "identifier": "cap",
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "uuid": "aec6780b-c813-4bd7-8e24-1a8574471576",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "completenesses": [],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "identifier": "sweat",
                        "parent": null,
                        "quality_scores": {},
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "uuid": "93f14b03-5ed3-4f23-87c6-ae3806041b6a",
                        "values": {}
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "SaaS"
              }
            ]
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Get list of products",
        "tags": [
          "Product [identifier]"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several products at once. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product exists for the given identifier, it creates it. In the Enterprise Edition, since the v2.0, permissions based on your user groups are applied to the products you try to update. It may result in the creation of drafts if you only have edit rights through the product's categories.",
        "operationId": "patch_products",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "cap",
                        "quantity": 2
                      },
                      {
                        "identifier": "shoes",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product UUID",
                  "type": "string",
                  "x-from-version": "7.0"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"identifier\":\"cap\",\"values\":{\"description\":[{\"scope\":\"ecommerce\",\"locale\":\"en_US\",\"data\":\"My amazing cap\"}]}}",
                "x-example-2": "{\"identifier\":\"mug\",\"group\":[\"promotion\"]}",
                "x-example-3": "{\"identifier\":\"tshirt\",\"family\":\"clothes\"}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"identifier\":\"cap\",\"status_code\":204}",
              "x-example-2": "{\"line\":2,\"identifier\":\"mug\",\"status_code\":422,\"message\":\"Property \"group\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"identifier\":\"tshirt\",\"status_code\":201}"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "Resource code, only filled when the resource is not a product",
                  "type": "string"
                },
                "identifier": {
                  "description": "Resource identifier, only filled when the resource is a product",
                  "type": "string"
                },
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several products",
        "tags": [
          "Product [identifier]"
        ],
        "x-body-by-line": "Contains several lines, each line is a product in JSON standard format",
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new product. In the Enterprise Edition, since the v2.0, permissions based on your user groups are applied to the product you try to create.",
        "operationId": "post_products",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "cap",
                        "quantity": 2
                      },
                      {
                        "identifier": "shoes",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product UUID",
                  "type": "string",
                  "x-from-version": "7.0"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new product",
        "tags": [
          "Product [identifier]"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products-uuid": {
      "get": {
        "description": "This endpoint allows you to get a list of products. Products are paginated and they can be filtered. In the Enterprise Edition, permissions based on your user groups are applied to the set of products you request.",
        "operationId": "get_products_uuid",
        "parameters": [
          {
            "description": "Filter products, for more details see the <a href=\"/documentation/filter.html\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-channel\">Filter product values via channel</a> section",
            "in": "query",
            "name": "scope",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#via-locale\">Filter product values via locale</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter product values to only return those concerning the given attributes, for more details see the <a href=\"/documentation/filter.html#filter-product-values\">Filter on product values</a> section",
            "in": "query",
            "name": "attributes",
            "required": false,
            "type": "string"
          },
          {
            "default": "page",
            "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "enum": [
              "page",
              "search_after"
            ],
            "in": "query",
            "name": "pagination_type",
            "required": false,
            "type": "string",
            "x-validation-rules": "One of the following values"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          },
          {
            "default": false,
            "description": "Return labels of attribute options in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_attribute_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product quality scores in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product completenesses in the response. (Only available since the 6.0 version)",
            "in": "query",
            "name": "with_completenesses",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "Return products paginated",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "associations": {
                                    "PACK": {
                                      "groups": [],
                                      "product_models": [],
                                      "products": [
                                        "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                                      ]
                                    }
                                  },
                                  "categories": [
                                    "summer_collection"
                                  ],
                                  "completenesses": [
                                    {
                                      "data": 10,
                                      "locale": "en_US",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": 20,
                                      "locale": "fr_FR",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": 30,
                                      "locale": "en_US",
                                      "scope": "tablet"
                                    },
                                    {
                                      "data": 40,
                                      "locale": "fr_FR",
                                      "scope": "tablet"
                                    }
                                  ],
                                  "created": "2016-06-23T18:24:44+02:00",
                                  "enabled": true,
                                  "family": "tshirt",
                                  "groups": [],
                                  "parent": null,
                                  "quality_scores": [
                                    {
                                      "data": "A",
                                      "locale": "en_US",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "B",
                                      "locale": "fr_FR",
                                      "scope": "ecommerce"
                                    },
                                    {
                                      "data": "D",
                                      "locale": "en_US",
                                      "scope": "tablet"
                                    },
                                    {
                                      "data": "E",
                                      "locale": "fr_FR",
                                      "scope": "tablet"
                                    }
                                  ],
                                  "quantified_associations": {
                                    "PRODUCT_SET": {
                                      "product_models": [
                                        {
                                          "identifier": "model-biker-jacket-leather",
                                          "quantity": 2
                                        }
                                      ],
                                      "products": [
                                        {
                                          "quantity": 2,
                                          "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                                        },
                                        {
                                          "quantity": 1,
                                          "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                                        }
                                      ]
                                    }
                                  },
                                  "updated": "2016-06-25T17:56:12+02:00",
                                  "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                                  "values": {
                                    "collection": [
                                      {
                                        "data": [
                                          "winter_2016"
                                        ],
                                        "linked_data": {
                                          "winter_2016": {
                                            "attribute": "collection",
                                            "code": "winter_2016",
                                            "labels": {
                                              "en_US": "Winter 2016",
                                              "fr_FR": "Hiver 2016"
                                            }
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "color": [
                                      {
                                        "data": "black",
                                        "linked_data": {
                                          "attribute": "color",
                                          "code": "black",
                                          "labels": {
                                            "en_US": "Black",
                                            "fr_FR": "Noir"
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "description": [
                                      {
                                        "data": "Summer top",
                                        "locale": "en_US",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": "tablet"
                                      },
                                      {
                                        "data": "Débardeur pour l'été",
                                        "locale": "fr_FR",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": "tablet"
                                      }
                                    ],
                                    "name": [
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": null
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": null
                                      }
                                    ],
                                    "price": [
                                      {
                                        "data": [
                                          {
                                            "amount": "15.5",
                                            "currency": "EUR"
                                          },
                                          {
                                            "amount": "15",
                                            "currency": "USD"
                                          }
                                        ],
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "size": [
                                      {
                                        "data": "m",
                                        "linked_data": {
                                          "attribute": "size",
                                          "code": "m",
                                          "labels": {
                                            "en_US": "M",
                                            "fr_FR": "M"
                                          }
                                        },
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "sku": [
                                      {
                                        "data": "top",
                                        "locale": null,
                                        "scope": null
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "associations": {
                                    "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                                    "properties": {
                                      "associationTypeCode": {
                                        "properties": {
                                          "groups": {
                                            "description": "Array of groups codes with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "product_models": {
                                            "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-from-version": "2.1"
                                          },
                                          "products": {
                                            "description": "Array of product uuids with which the product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                                  },
                                  "categories": {
                                    "default": [],
                                    "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing category code"
                                  },
                                  "completenesses": {
                                    "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                                    "items": {
                                      "properties": {
                                        "data": {
                                          "type": "integer"
                                        },
                                        "locale": {
                                          "type": "string"
                                        },
                                        "scope": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object"
                                    },
                                    "type": "array",
                                    "x-from-version": "7.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "created": {
                                    "description": "Date of creation",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "enabled": {
                                    "default": true,
                                    "description": "Whether the product is enabled",
                                    "type": "boolean"
                                  },
                                  "family": {
                                    "default": "null only in the case of a non variant product",
                                    "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                                    "type": "string",
                                    "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                                  },
                                  "groups": {
                                    "default": [],
                                    "description": "Codes of the groups to which the product belong",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing group code"
                                  },
                                  "metadata": {
                                    "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                                    "properties": {
                                      "workflow_status": {
                                        "description": "Status of the product regarding the user permissions",
                                        "enum": [
                                          "read_only",
                                          "draft_in_progress",
                                          "proposal_waiting_for_approval",
                                          "working_copy"
                                        ],
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "2.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "parent": {
                                    "default": "null",
                                    "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                                    "type": "string",
                                    "x-from-version": "2.0",
                                    "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                                  },
                                  "quality_scores": {
                                    "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                                    "type": "object",
                                    "x-from-version": "5.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "quantified_associations": {
                                    "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                                    "properties": {
                                      "quantifiedAssociationTypeCode": {
                                        "properties": {
                                          "product_models": {
                                            "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                                            "items": {
                                              "properties": {
                                                "code": {
                                                  "type": "string"
                                                },
                                                "quantity": {
                                                  "type": "integer"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          },
                                          "products": {
                                            "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                                            "items": {
                                              "properties": {
                                                "quantity": {
                                                  "type": "integer"
                                                },
                                                "uuid": {
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-from-version": "5.0",
                                    "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "uuid": {
                                    "description": "Product uuid",
                                    "type": "string"
                                  },
                                  "values": {
                                    "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "data": {
                                              "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                                              "type": "object"
                                            },
                                            "linked_data": {
                                              "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                                              "properties": {
                                                "attribute": {
                                                  "type": "string"
                                                },
                                                "code": {
                                                  "type": "string"
                                                },
                                                "labels": {
                                                  "type": "object"
                                                }
                                              },
                                              "type": "object",
                                              "x-from-version": "5.0",
                                              "x-read-only": true
                                            },
                                            "locale": {
                                              "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                                              "type": "string"
                                            },
                                            "scope": {
                                              "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Product values section"
                                  }
                                },
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Products",
              "type": "object"
            },
            "x-examples-per-version": [
              {
                "x-example": {
                  "_embedded": {
                    "items": [
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product-uuid/25566245-55c3-42ce-86d9-8610ac459fa8"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "completenesses": [
                          {
                            "data": 20,
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 30,
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 55,
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": 70,
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "tshirt",
                        "groups": [],
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {
                          "PRODUCT_SET": {
                            "product_models": [
                              {
                                "identifier": "model-biker-jacket-leather",
                                "quantity": 2
                              }
                            ],
                            "products": [
                              {
                                "quantity": 2,
                                "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                              },
                              {
                                "quantity": 1,
                                "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                              }
                            ]
                          }
                        },
                        "updated": "2016-06-25T17:56:12+02:00",
                        "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                        "values": {
                          "collection": [
                            {
                              "data": [
                                "winter_2016"
                              ],
                              "linked_data": {
                                "winter_2016": {
                                  "attribute": "collection",
                                  "code": "winter_2016",
                                  "labels": {
                                    "en_US": "Winter 2016",
                                    "fr_FR": "Hiver 2016"
                                  }
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Summer top",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Débardeur pour l'été",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Top",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Débardeur",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "15.5",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "15",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "size": [
                            {
                              "data": "m",
                              "linked_data": {
                                "attribute": "size",
                                "code": "m",
                                "labels": {
                                  "en_US": "M",
                                  "fr_FR": "M"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "sku": [
                            {
                              "data": "top",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product/fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                          }
                        },
                        "associations": {
                          "PACK": {
                            "groups": [],
                            "product_models": [],
                            "products": [
                              "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                            ]
                          }
                        },
                        "categories": [
                          "summer_collection"
                        ],
                        "completenesses": [
                          {
                            "data": 20,
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 30,
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": 55,
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": 70,
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "created": "2016-06-23T18:24:44+02:00",
                        "enabled": true,
                        "family": "caps",
                        "groups": [],
                        "parent": null,
                        "quality_scores": [
                          {
                            "data": "A",
                            "locale": "en_US",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "B",
                            "locale": "fr_FR",
                            "scope": "ecommerce"
                          },
                          {
                            "data": "D",
                            "locale": "en_US",
                            "scope": "tablet"
                          },
                          {
                            "data": "E",
                            "locale": "fr_FR",
                            "scope": "tablet"
                          }
                        ],
                        "quantified_associations": {},
                        "updated": "2016-06-25T17:56:12+02:00",
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
                        "values": {
                          "color": [
                            {
                              "data": "black",
                              "linked_data": {
                                "attribute": "color",
                                "code": "black",
                                "labels": {
                                  "en_US": "Black",
                                  "fr_FR": "Noir"
                                }
                              },
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "description": [
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Cap unisex",
                              "locale": "en_US",
                              "scope": "tablet"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "ecommerce"
                            },
                            {
                              "data": "Casquette unisexe",
                              "locale": "fr_FR",
                              "scope": "tablet"
                            }
                          ],
                          "name": [
                            {
                              "data": "Cap",
                              "locale": "en_US",
                              "scope": null
                            },
                            {
                              "data": "Casquette",
                              "locale": "fr_FR",
                              "scope": null
                            }
                          ],
                          "price": [
                            {
                              "data": [
                                {
                                  "amount": "20",
                                  "currency": "EUR"
                                },
                                {
                                  "amount": "20",
                                  "currency": "USD"
                                }
                              ],
                              "locale": null,
                              "scope": null
                            }
                          ],
                          "sku": [
                            {
                              "data": "cap",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      },
                      {
                        "_links": {
                          "self": {
                            "href": "https://demo.akeneo.com/api/rest/v1/product-uuid/fa0b115e-46ec-4527-beab-7207452f1b47"
                          }
                        },
                        "associations": {},
                        "categories": [
                          "winter_collection"
                        ],
                        "completenesses": [],
                        "created": "2016-06-23T11:24:44+02:00",
                        "enabled": true,
                        "family": null,
                        "groups": [],
                        "parent": null,
                        "quality_scores": {},
                        "quantified_associations": {},
                        "updated": "2016-06-23T11:24:44+02:00",
                        "uuid": "fa0b115e-46ec-4527-beab-7207452f1b47",
                        "values": {
                          "sku": [
                            {
                              "data": "sweat",
                              "locale": null,
                              "scope": null
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "_links": {
                    "first": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=1&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "next": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=4&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "previous": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=2&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    },
                    "self": {
                      "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=3&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
                    }
                  },
                  "current_page": 3
                },
                "x-version": "SaaS"
              }
            ]
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Get list of products",
        "tags": [
          "Product [uuid]"
        ],
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several products at once. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product exists for the given uuid, it creates it. In the Enterprise Edition, permissions based on your user groups are applied to the products you try to update. It may result in the creation of drafts if you only have edit rights through the product's categories.",
        "operationId": "patch_products_uuid",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "quantity": 2,
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                      },
                      {
                        "quantity": 1,
                        "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "sku": [
                    {
                      "data": "top",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product uuids with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "quantity": {
                                "type": "integer"
                              },
                              "uuid": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "uuid"
              ],
              "type": "object",
              "x-examples": {
                "x-example-1": "{\"uuid\":\"fc24e6c3-933c-4a93-8a81-e5c703d134d5\",\"values\":{\"description\":[{\"scope\":\"ecommerce\",\"locale\":\"en_US\",\"data\":\"My amazing cap\"}]}}",
                "x-example-2": "{\"uuid\":\"573dd613-0c7f-4143-83d5-63cc5e535966\",\"values\":{\"sku\":[{\"data\":\"updated_sku\",\"locale\":null,\"scope\":null}]}, \"group\":[\"promotion\"]}",
                "x-example-3": "{\"uuid\":\"25566245-55c3-42ce-86d9-8610ac459fa8\",\"values\":{\"sku\":[{\"data\":\"new_product\",\"locale\":null,\"scope\":null}]},\"family\":\"clothes\"}"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "examples": {
              "x-example-1": "{\"line\":1,\"uuid\":\"fc24e6c3-933c-4a93-8a81-e5c703d134d5\",\"status_code\":204}",
              "x-example-2": "{\"line\":2,\"uuid\":\"573dd613-0c7f-4143-83d5-63cc5e535966\",\"status_code\":422,\"message\":\"Property \"group\" does not exist.\"}",
              "x-example-3": "{\"line\":3,\"uuid\":\"25566245-55c3-42ce-86d9-8610ac459fa8\",\"status_code\":201}"
            },
            "schema": {
              "properties": {
                "line": {
                  "description": "Line number",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                },
                "status_code": {
                  "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                  "type": "integer"
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Returns a plain text response whose lines are JSON containing the status of each update or creation",
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create several products",
        "tags": [
          "Product [uuid]"
        ],
        "x-body-by-line": "Contains several lines, each line is a product in JSON standard format",
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      },
      "post": {
        "description": "This endpoint allows you to create a new product. In the Enterprise Edition, permissions based on your user groups are applied to the product you try to create. If no uuid is provided, the PIM will generate one for you.",
        "operationId": "post_products_uuid",
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "quantity": 2,
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                      },
                      {
                        "quantity": 1,
                        "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "sku": [
                    {
                      "data": "top",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product uuids with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "quantity": {
                                "type": "integer"
                              },
                              "uuid": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new product",
        "tags": [
          "Product [uuid]"
        ],
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products-uuid/{uuid}": {
      "delete": {
        "description": "This endpoint allows you to delete a given product. In the Enterprise Edition, permissions based on your user groups are applied to the product you try to delete.",
        "operationId": "delete_products_uuid__uuid_",
        "parameters": [
          {
            "description": "Uuid of the resource",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No content to return",
            "x-details": "Means that the deletion was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Delete a product",
        "tags": [
          "Product [uuid]"
        ],
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      },
      "get": {
        "description": "This endpoint allows you to get the information about a given product. In the Entreprise Edition, permissions based on your user groups are applied to the product you request.",
        "operationId": "get_products_uuid__uuid_",
        "parameters": [
          {
            "description": "Uuid of the resource",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          },
          {
            "default": false,
            "description": "Return labels of attribute options in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_attribute_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product quality scores in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product completenesses in the response. (Only available since the 6.0 version)",
            "in": "query",
            "name": "with_completenesses",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "quantity": 2,
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                      },
                      {
                        "quantity": 1,
                        "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "sku": [
                    {
                      "data": "top",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product uuids with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "quantity": {
                                "type": "integer"
                              },
                              "uuid": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "type": "object"
            },
            "x-details": "Returns the content of the product in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a product",
        "tags": [
          "Product [uuid]"
        ],
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given product. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product exists for the given uuid, it creates it. In the Entreprise Edition, permissions based on your user groups are applied to the product you try to update. It may result in the creation of a draft if you only have edit rights through the product's categories.",
        "operationId": "patch_products_uuid__uuid_",
        "parameters": [
          {
            "description": "Uuid of the resource",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "quantity": 2,
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                      },
                      {
                        "quantity": 1,
                        "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "sku": [
                    {
                      "data": "top",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product uuids with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "quantity": {
                                "type": "integer"
                              },
                              "uuid": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a product",
        "tags": [
          "Product [uuid]"
        ],
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products-uuid/{uuid}/draft": {
      "get": {
        "description": "This endpoint allows you to get the information about a given draft.",
        "operationId": "get_draft_uuid__uuid_",
        "parameters": [
          {
            "description": "Uuid of the resource",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "quantity": 2,
                        "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                      },
                      {
                        "quantity": 1,
                        "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "sku": [
                    {
                      "data": "top",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product uuids with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "quantity": {
                                "type": "integer"
                              },
                              "uuid": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product uuid",
                  "type": "string"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "type": "object"
            },
            "x-details": "Returns the content of the draft in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a draft",
        "tags": [
          "Product [uuid]"
        ],
        "x-ee": true,
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products-uuid/{uuid}/proposal": {
      "post": {
        "description": "This endpoint allows you to submit a draft for approval.",
        "operationId": "post_proposal_uuid",
        "parameters": [
          {
            "description": "Uuid of the resource",
            "in": "path",
            "name": "uuid",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Submitted",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the draft submission was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Submit a draft for approval",
        "tags": [
          "Product [uuid]"
        ],
        "x-ee": true,
        "x-versions": [
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products/{code}": {
      "delete": {
        "description": "This endpoint allows you to delete a given product. In the Enterprise Edition, since the 2.0, permissions based on your user groups are applied to the product you try to delete.",
        "operationId": "delete_products__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "No content to return",
            "x-details": "Means that the deletion was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Delete a product",
        "tags": [
          "Product [identifier]"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "get": {
        "description": "This endpoint allows you to get the information about a given product. In the Entreprise Edition, since the v2.0, permissions based on your user groups are applied to the product you request.",
        "operationId": "get_products__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "default": false,
            "description": "Return labels of attribute options in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_attribute_options",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product quality scores in the response. (Only available since the 5.0 version)",
            "in": "query",
            "name": "with_quality_scores",
            "required": false,
            "type": "boolean",
            "x-from-version": "5.0"
          },
          {
            "default": false,
            "description": "Return product completenesses in the response. (Only available since the 6.0 version)",
            "in": "query",
            "name": "with_completenesses",
            "required": false,
            "type": "boolean",
            "x-from-version": "6.0"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "cap",
                        "quantity": 2
                      },
                      {
                        "identifier": "shoes",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product UUID",
                  "type": "string",
                  "x-from-version": "7.0"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the product in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a product",
        "tags": [
          "Product [identifier]"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given product. Learn more about <a href=\"/documentation/update.html#update-behavior\">Update behavior</a>. Note that if no product exists for the given identifier, it creates it. In the Entreprise Edition, since the v2.0, permissions based on your user groups are applied to the product you try to update. It may result in the creation of a draft if you only have edit rights through the product's categories.",
        "operationId": "patch_products__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "cap",
                        "quantity": 2
                      },
                      {
                        "identifier": "shoes",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product UUID",
                  "type": "string",
                  "x-from-version": "7.0"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a product",
        "tags": [
          "Product [identifier]"
        ],
        "x-versions": [
          "1.7",
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products/{code}/draft": {
      "get": {
        "description": "This endpoint allows you to get the information about a given draft.",
        "operationId": "get_draft__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "completenesses": [
                  {
                    "data": 10,
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 20,
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": 30,
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": 40,
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "parent": null,
                "quality_scores": [
                  {
                    "data": "A",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "B",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "D",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "E",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "quantified_associations": {
                  "PRODUCT_SET": {
                    "product_models": [
                      {
                        "identifier": "model-biker-jacket-leather",
                        "quantity": 2
                      }
                    ],
                    "products": [
                      {
                        "identifier": "cap",
                        "quantity": 2
                      },
                      {
                        "identifier": "shoes",
                        "quantity": 1
                      }
                    ]
                  }
                },
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "collection": [
                    {
                      "data": [
                        "winter_2016"
                      ],
                      "linked_data": {
                        "winter_2016": {
                          "attribute": "collection",
                          "code": "winter_2016",
                          "labels": {
                            "en_US": "Winter 2016",
                            "fr_FR": "Hiver 2016"
                          }
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "color": [
                    {
                      "data": "black",
                      "linked_data": {
                        "attribute": "color",
                        "code": "black",
                        "labels": {
                          "en_US": "Black",
                          "fr_FR": "Noir"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "linked_data": {
                        "attribute": "size",
                        "code": "m",
                        "labels": {
                          "en_US": "M",
                          "fr_FR": "M"
                        }
                      },
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups, product models and/or other products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of product identifiers with which the product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "completenesses": {
                  "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
                  "items": {
                    "properties": {
                      "data": {
                        "type": "integer"
                      },
                      "locale": {
                        "type": "string"
                      },
                      "scope": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-from-version": "7.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the product is enabled",
                  "type": "boolean"
                },
                "family": {
                  "default": "null only in the case of a non variant product",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "metadata": {
                  "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
                  "properties": {
                    "workflow_status": {
                      "description": "Status of the product regarding the user permissions",
                      "enum": [
                        "read_only",
                        "draft_in_progress",
                        "proposal_waiting_for_approval",
                        "working_copy"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-from-version": "2.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "parent": {
                  "default": "null",
                  "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
                  "type": "string",
                  "x-from-version": "2.0",
                  "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
                },
                "quality_scores": {
                  "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "quantified_associations": {
                  "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
                  "properties": {
                    "quantifiedAssociationTypeCode": {
                      "properties": {
                        "product_models": {
                          "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "code": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "products": {
                          "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                          "items": {
                            "properties": {
                              "identifier": {
                                "type": "string"
                              },
                              "quantity": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-from-version": "5.0",
                  "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "uuid": {
                  "description": "Product UUID",
                  "type": "string",
                  "x-from-version": "7.0"
                },
                "values": {
                  "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "linked_data": {
                            "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                            "properties": {
                              "attribute": {
                                "type": "string"
                              },
                              "code": {
                                "type": "string"
                              },
                              "labels": {
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "x-from-version": "5.0",
                            "x-read-only": true
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the draft in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a draft",
        "tags": [
          "Product [identifier]"
        ],
        "x-ee": true,
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/products/{code}/proposal": {
      "post": {
        "description": "This endpoint allows you to submit a draft for approval.",
        "operationId": "post_proposal",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Submitted",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the draft submission was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Submit a draft for approval",
        "tags": [
          "Product [identifier]"
        ],
        "x-ee": true,
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/published-products": {
      "get": {
        "description": "This endpoint allows you to get a list of published products. Published products are paginated and they can be filtered.",
        "operationId": "get_published_products",
        "parameters": [
          {
            "description": "Filter published products, for more details see the <a href=\"/documentation/filter.html\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter published product values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#filter-published-product-values\">Filter on published product values</a> section",
            "in": "query",
            "name": "scope",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter published product values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#filter-published-product-values\">Filter on published product values</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter published product values to only return those concerning the given attributes, for more details see the <a href=\"/documentation/filter.html#filter-product-values\">Filter on product values</a> section",
            "in": "query",
            "name": "attributes",
            "required": false,
            "type": "string"
          },
          {
            "default": "page",
            "description": "Pagination method type, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "enum": [
              "page",
              "search_after"
            ],
            "in": "query",
            "name": "pagination_type",
            "required": false,
            "type": "string",
            "x-validation-rules": "One of the following values"
          },
          {
            "default": 1,
            "description": "Number of the page to retrieve when using the `page` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html#pagination\">Pagination</a> section",
            "in": "query",
            "name": "page",
            "required": false,
            "type": "integer"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          },
          {
            "default": 10,
            "description": "Number of results by page, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "maximum": 100,
            "minimum": 1,
            "name": "limit",
            "required": false,
            "type": "integer"
          },
          {
            "default": false,
            "description": "Return the count of items in the response. Be carefull with that, on a big catalog, it can decrease performance in a significative way",
            "in": "query",
            "name": "with_count",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Return published products paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/published-products/top"
                      }
                    },
                    "associations": {
                      "PACK": {
                        "groups": [],
                        "product_models": [],
                        "products": [
                          "sunglasses"
                        ]
                      }
                    },
                    "categories": [
                      "summer_collection"
                    ],
                    "created": "2016-06-23T18:24:44+02:00",
                    "enabled": true,
                    "family": "tshirt",
                    "groups": [],
                    "identifier": "top",
                    "updated": "2016-06-25T17:56:12+02:00",
                    "values": {
                      "color": [
                        {
                          "data": "black",
                          "locale": null,
                          "scope": null
                        }
                      ],
                      "description": [
                        {
                          "data": "Summer top",
                          "locale": "en_US",
                          "scope": "ecommerce"
                        },
                        {
                          "data": "Top",
                          "locale": "en_US",
                          "scope": "tablet"
                        },
                        {
                          "data": "Débardeur pour l'été",
                          "locale": "fr_FR",
                          "scope": "ecommerce"
                        },
                        {
                          "data": "Débardeur",
                          "locale": "fr_FR",
                          "scope": "tablet"
                        }
                      ],
                      "name": [
                        {
                          "data": "Top",
                          "locale": "en_US",
                          "scope": null
                        },
                        {
                          "data": "Débardeur",
                          "locale": "fr_FR",
                          "scope": null
                        }
                      ],
                      "price": [
                        {
                          "data": [
                            {
                              "amount": "15.5",
                              "currency": "EUR"
                            },
                            {
                              "amount": "15",
                              "currency": "USD"
                            }
                          ],
                          "locale": null,
                          "scope": null
                        }
                      ],
                      "size": [
                        {
                          "data": "m",
                          "locale": null,
                          "scope": null
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/published-products/cap"
                      }
                    },
                    "associations": {
                      "PACK": {
                        "groups": [],
                        "product_models": [],
                        "products": [
                          "sunglasses"
                        ]
                      }
                    },
                    "categories": [
                      "summer_collection"
                    ],
                    "created": "2016-06-23T18:24:44+02:00",
                    "enabled": true,
                    "family": "caps",
                    "groups": [],
                    "identifier": "cap",
                    "updated": "2016-06-25T17:56:12+02:00",
                    "values": {
                      "color": [
                        {
                          "data": "black",
                          "locale": null,
                          "scope": null
                        }
                      ],
                      "description": [
                        {
                          "data": "Cap unisex",
                          "locale": "en_US",
                          "scope": "ecommerce"
                        },
                        {
                          "data": "Cap unisex",
                          "locale": "en_US",
                          "scope": "tablet"
                        },
                        {
                          "data": "Casquette unisexe",
                          "locale": "fr_FR",
                          "scope": "ecommerce"
                        },
                        {
                          "data": "Casquette unisexe",
                          "locale": "fr_FR",
                          "scope": "tablet"
                        }
                      ],
                      "name": [
                        {
                          "data": "Cap",
                          "locale": "en_US",
                          "scope": null
                        },
                        {
                          "data": "Casquette",
                          "locale": "fr_FR",
                          "scope": null
                        }
                      ],
                      "price": [
                        {
                          "data": [
                            {
                              "amount": "20",
                              "currency": "EUR"
                            },
                            {
                              "amount": "20",
                              "currency": "USD"
                            }
                          ],
                          "locale": null,
                          "scope": null
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/published-products/sweat"
                      }
                    },
                    "associations": {},
                    "categories": [
                      "winter_collection"
                    ],
                    "created": "2016-06-23T11:24:44+02:00",
                    "enabled": true,
                    "family": null,
                    "groups": [],
                    "identifier": "sweat",
                    "updated": "2016-06-23T11:24:44+02:00",
                    "values": {}
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/published-products?page=1&limit=3"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/published-products?page=4&limit=3"
                },
                "previous": {
                  "href": "https://demo.akeneo.com/api/rest/v1/published-products?page=2&limit=3"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/published-products?page=3&limit=3"
                }
              },
              "current_page": 3
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "previous": {
                          "properties": {
                            "href": {
                              "description": "URI of the previous page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "current_page": {
                      "description": "Current page number",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "associations": {
                                    "PACK": {
                                      "groups": [],
                                      "product_models": [],
                                      "products": [
                                        "sunglass"
                                      ]
                                    }
                                  },
                                  "categories": [
                                    "summer_collection"
                                  ],
                                  "created": "2016-06-23T18:24:44+02:00",
                                  "enabled": true,
                                  "family": "tshirt",
                                  "groups": [],
                                  "identifier": "top",
                                  "updated": "2016-06-25T17:56:12+02:00",
                                  "values": {
                                    "color": [
                                      {
                                        "data": "black",
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "description": [
                                      {
                                        "data": "Summer top",
                                        "locale": "en_US",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": "tablet"
                                      },
                                      {
                                        "data": "Débardeur pour l'été",
                                        "locale": "fr_FR",
                                        "scope": "ecommerce"
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": "tablet"
                                      }
                                    ],
                                    "name": [
                                      {
                                        "data": "Top",
                                        "locale": "en_US",
                                        "scope": null
                                      },
                                      {
                                        "data": "Débardeur",
                                        "locale": "fr_FR",
                                        "scope": null
                                      }
                                    ],
                                    "price": [
                                      {
                                        "data": [
                                          {
                                            "amount": "15.5",
                                            "currency": "EUR"
                                          },
                                          {
                                            "amount": "15",
                                            "currency": "USD"
                                          }
                                        ],
                                        "locale": null,
                                        "scope": null
                                      }
                                    ],
                                    "size": [
                                      {
                                        "data": "m",
                                        "locale": null,
                                        "scope": null
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "associations": {
                                    "description": "Several associations related to groups and/or other published products, grouped by association types",
                                    "properties": {
                                      "associationTypeCode": {
                                        "properties": {
                                          "groups": {
                                            "description": "Array of groups codes with which the published product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "product_models": {
                                            "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array",
                                            "x-from-version": "2.1"
                                          },
                                          "products": {
                                            "description": "Array of published product identifiers with which the published product is in relation",
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Identifiers used in the array of the property `products` cannot be equal to the published product identifier."
                                  },
                                  "categories": {
                                    "default": [],
                                    "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the published product is classified",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing category code"
                                  },
                                  "created": {
                                    "description": "Date of creation",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "enabled": {
                                    "default": true,
                                    "description": "Whether the published product is enable",
                                    "type": "boolean"
                                  },
                                  "family": {
                                    "default": "null",
                                    "description": "<a href='api-reference.html#Family'>Family</a> code from which the published product inherits its attributes and attributes requirements",
                                    "type": "string",
                                    "x-validation-rules": "It is equal to an existing family code"
                                  },
                                  "groups": {
                                    "default": [],
                                    "description": "Codes of the groups to which the published product belong",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array",
                                    "x-validation-rules": "Each string of the array is equal to an existing group code"
                                  },
                                  "identifier": {
                                    "description": "Published product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                                    "type": "string"
                                  },
                                  "quantified_associations": {
                                    "description": "Warning: associations with quantities are not compatible with the published products. The response will always be empty.",
                                    "type": "object"
                                  },
                                  "updated": {
                                    "description": "Date of the last update",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-read-only": true
                                  },
                                  "values": {
                                    "description": "Published product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "data": {
                                              "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                                              "type": "object"
                                            },
                                            "locale": {
                                              "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                                              "type": "string"
                                            },
                                            "scope": {
                                              "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Product values section"
                                  }
                                },
                                "required": [
                                  "identifier"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Published products",
              "type": "object"
            }
          },
          "400": {
            "description": "Bad request",
            "examples": {
              "code": 400,
              "message": "Invalid JSON message received"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a malformed JSON request"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Get list of published products",
        "tags": [
          "Published product"
        ],
        "x-ee": true,
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/published-products/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given published product.",
        "operationId": "get_published_products__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "associations": {
                  "PACK": {
                    "groups": [],
                    "product_models": [],
                    "products": [
                      "sunglass"
                    ]
                  }
                },
                "categories": [
                  "summer_collection"
                ],
                "created": "2016-06-23T18:24:44+02:00",
                "enabled": true,
                "family": "tshirt",
                "groups": [],
                "identifier": "top",
                "updated": "2016-06-25T17:56:12+02:00",
                "values": {
                  "color": [
                    {
                      "data": "black",
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "description": [
                    {
                      "data": "Summer top",
                      "locale": "en_US",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": "tablet"
                    },
                    {
                      "data": "Débardeur pour l'été",
                      "locale": "fr_FR",
                      "scope": "ecommerce"
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": "tablet"
                    }
                  ],
                  "name": [
                    {
                      "data": "Top",
                      "locale": "en_US",
                      "scope": null
                    },
                    {
                      "data": "Débardeur",
                      "locale": "fr_FR",
                      "scope": null
                    }
                  ],
                  "price": [
                    {
                      "data": [
                        {
                          "amount": "15.5",
                          "currency": "EUR"
                        },
                        {
                          "amount": "15",
                          "currency": "USD"
                        }
                      ],
                      "locale": null,
                      "scope": null
                    }
                  ],
                  "size": [
                    {
                      "data": "m",
                      "locale": null,
                      "scope": null
                    }
                  ]
                }
              },
              "properties": {
                "associations": {
                  "description": "Several associations related to groups and/or other published products, grouped by association types",
                  "properties": {
                    "associationTypeCode": {
                      "properties": {
                        "groups": {
                          "description": "Array of groups codes with which the published product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "product_models": {
                          "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-from-version": "2.1"
                        },
                        "products": {
                          "description": "Array of published product identifiers with which the published product is in relation",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Identifiers used in the array of the property `products` cannot be equal to the published product identifier."
                },
                "categories": {
                  "default": [],
                  "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the published product is classified",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing category code"
                },
                "created": {
                  "description": "Date of creation",
                  "format": "dateTime",
                  "type": "string",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "enabled": {
                  "default": true,
                  "description": "Whether the published product is enable",
                  "type": "boolean"
                },
                "family": {
                  "default": "null",
                  "description": "<a href='api-reference.html#Family'>Family</a> code from which the published product inherits its attributes and attributes requirements",
                  "type": "string",
                  "x-validation-rules": "It is equal to an existing family code"
                },
                "groups": {
                  "default": [],
                  "description": "Codes of the groups to which the published product belong",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-validation-rules": "Each string of the array is equal to an existing group code"
                },
                "identifier": {
                  "description": "Published product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
                  "type": "string"
                },
                "quantified_associations": {
                  "description": "Warning: associations with quantities are not compatible with the published products. The response will always be empty.",
                  "type": "object"
                },
                "updated": {
                  "description": "Date of the last update",
                  "format": "dateTime",
                  "type": "string",
                  "x-read-only": true
                },
                "values": {
                  "description": "Published product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "data": {
                            "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                            "type": "object"
                          },
                          "locale": {
                            "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                            "type": "string"
                          },
                          "scope": {
                            "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Product values section"
                }
              },
              "required": [
                "identifier"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the published product in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "403": {
            "description": "Access forbidden",
            "examples": {
              "code": 403,
              "message": "Access forbidden. You are not allowed to list categories."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The user does not have the permission to execute this request"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a published product",
        "tags": [
          "Published product"
        ],
        "x-ee": true,
        "x-versions": [
          "2.x",
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities": {
      "get": {
        "description": "This endpoint allows you to get a list of reference entities. Reference entities are paginated.",
        "operationId": "get_reference_entities",
        "parameters": [
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return reference entities paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "image_download": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities-media-files/0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
                      },
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands"
                      }
                    },
                    "code": "brands",
                    "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
                    "labels": {
                      "en_US": "Brands",
                      "fr_FR": "Marque"
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/designers"
                      }
                    },
                    "code": "designers",
                    "image": null,
                    "labels": {
                      "en_US": "Designers",
                      "fr_FR": "Designers"
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/colors"
                      }
                    },
                    "code": "colors",
                    "image": null,
                    "labels": {
                      "en_US": "Colors",
                      "fr_FR": "Couleurs"
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities?search_after=2x055w%3D%3D"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities"
                }
              }
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "image_download": {
                                        "properties": {
                                          "href": {
                                            "description": "URI to download the binaries of the reference entity image file",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      },
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "brands",
                                  "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
                                  "labels": {
                                    "en_US": "Brands",
                                    "fr_FR": "Marques"
                                  }
                                },
                                "properties": {
                                  "code": {
                                    "description": "Reference entity code",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "image": {
                                    "default": null,
                                    "description": "Code of the reference entity image",
                                    "type": "string"
                                  },
                                  "labels": {
                                    "default": {},
                                    "description": "Reference entity labels for each locale",
                                    "properties": {
                                      "localeCode": {
                                        "description": "Reference entity label for the locale `localeCode`",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Reference Entities",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get list of reference entities",
        "tags": [
          "Reference entity"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities-media-files": {
      "post": {
        "description": "This endpoint allows you to create a new media file and associate it to the image of a reference entity, or to the main image or to an attribute value of a record.",
        "operationId": "post_reference_entity_media_files",
        "parameters": [
          {
            "description": "Equal to 'multipart/form-data', no other value allowed",
            "in": "header",
            "name": "Content-type",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "schema": {
              "properties": {
                "file": {
                  "description": "The binary of the media file",
                  "format": "binary",
                  "type": "string"
                }
              },
              "required": [
                "file"
              ]
            },
            "x-form-data": true
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              },
              "Reference-entities-media-file-code": {
                "description": "Code of the media file",
                "type": "string"
              }
            },
            "x-details": "Means that the media file creation was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘multipart/form-data’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `multipart/form-data`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Create a new media file for a reference entity or a record",
        "tags": [
          "Reference entity media file"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities-media-files/{code}": {
      "get": {
        "description": "This endpoint allows you to download a given media file that is associated with a reference entity or a record.",
        "operationId": "get_reference_entity_media_files__code",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "x-content-type": "Mime-type of the media file",
            "x-details": "Returns the binary of the media file"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          }
        },
        "summary": "Download the media file associated to a reference entity or a record",
        "tags": [
          "Reference entity media file"
        ],
        "x-content-type": "Mime-type of the media file",
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given reference entity.",
        "operationId": "get_reference_entities__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "image_download": {
                          "properties": {
                            "href": {
                              "description": "URI to download the binaries of the reference entity image file",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "x-read-only": true
                    }
                  },
                  "type": "object"
                },
                {
                  "example": {
                    "code": "brands",
                    "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
                    "labels": {
                      "en_US": "Brands",
                      "fr_FR": "Marques"
                    }
                  },
                  "properties": {
                    "code": {
                      "description": "Reference entity code",
                      "type": "string",
                      "x-immutable": true
                    },
                    "image": {
                      "default": null,
                      "description": "Code of the reference entity image",
                      "type": "string"
                    },
                    "labels": {
                      "default": {},
                      "description": "Reference entity labels for each locale",
                      "properties": {
                        "localeCode": {
                          "description": "Reference entity label for the locale `localeCode`",
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                    }
                  },
                  "required": [
                    "code"
                  ],
                  "type": "object"
                }
              ],
              "example": {
                "_links": {
                  "image_download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/reference-entities-media-files/0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
                  }
                },
                "code": "brands",
                "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
                "labels": {
                  "en_US": "Brands",
                  "fr_FR": "Marques"
                }
              },
              "type": "object"
            },
            "x-details": "Returns the content of the reference entity in JSON format."
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a reference entity",
        "tags": [
          "Reference entity"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given reference entity. Note that if the reference entity does not already exist, it creates it.",
        "operationId": "patch_reference_entity__code_",
        "parameters": [
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "brands",
                "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
                "labels": {
                  "en_US": "Brands",
                  "fr_FR": "Marques"
                }
              },
              "properties": {
                "code": {
                  "description": "Reference entity code",
                  "type": "string",
                  "x-immutable": true
                },
                "image": {
                  "default": null,
                  "description": "Code of the reference entity image",
                  "type": "string"
                },
                "labels": {
                  "default": {},
                  "description": "Reference entity labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Reference entity label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a reference entity",
        "tags": [
          "Reference entity"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/attributes": {
      "get": {
        "description": "This endpoint allows you to get the list of attributes of a given reference entity.",
        "operationId": "get_reference_entities__code__attributes",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the attributes of the given reference entity",
            "schema": {
              "items": {
                "example": {
                  "code": "description",
                  "is_required_for_completeness": true,
                  "is_rich_text_editor": true,
                  "is_textarea": true,
                  "labels": {
                    "en_US": "Description",
                    "fr_FR": "Description"
                  },
                  "max_characters": null,
                  "type": "text",
                  "validation_regexp": null,
                  "validation_rule": "none",
                  "value_per_channel": false,
                  "value_per_locale": true
                },
                "properties": {
                  "allowed_extensions": {
                    "default": [],
                    "description": "Extensions allowed when the attribute type is `image`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-warning": "Only for `image` attribute type"
                  },
                  "code": {
                    "description": "Attribute code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "decimals_allowed": {
                    "default": false,
                    "description": "Whether decimals are allowed when the attribute type is `number`",
                    "type": "boolean",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "is_required_for_completeness": {
                    "default": false,
                    "description": "Whether the attribute should be part of the record's completeness calculation",
                    "type": "boolean"
                  },
                  "is_rich_text_editor": {
                    "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                    "type": "boolean",
                    "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "is_textarea": {
                    "default": false,
                    "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                    "type": "boolean",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "labels": {
                    "default": {},
                    "description": "Attribute labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Attribute label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  },
                  "max_characters": {
                    "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                    "type": "integer",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "max_file_size": {
                    "default": null,
                    "description": "Max file size in MB when the attribute type is `image`",
                    "type": "string",
                    "x-warning": "Only for `image` attribute type"
                  },
                  "max_value": {
                    "default": null,
                    "description": "Maximum value allowed when the attribute type is `number`",
                    "type": "string",
                    "x-validation-rules": "The maximum value must be greater than the minimum value",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "min_value": {
                    "default": null,
                    "description": "Minimum value allowed when the attribute type is `number`",
                    "type": "string",
                    "x-validation-rules": "The minimum value must be lower than the maximum value",
                    "x-warning": "Only for `number` attribute type"
                  },
                  "reference_entity_code": {
                    "default": null,
                    "description": "Code of the linked reference entity when the attribute type is `reference_entity_single_link` or `reference_entity_multiple_links`",
                    "type": "string",
                    "x-immutable": true,
                    "x-validation-rules": "Required when the attribute type is either `reference_entity_single_link` or `reference_entity_multiple_links`",
                    "x-warning": "Only for `reference_entity_single_link` and `reference_entity_multiple_links` attribute type"
                  },
                  "type": {
                    "description": "Attribute type. See <a href='/concepts/reference-entities.html#reference-entity-attribute'>type</a> section for more details.",
                    "enum": [
                      "text",
                      "image",
                      "number",
                      "single_option",
                      "multiple_options",
                      "reference_entity_single_link",
                      "reference_entity_multiple_links"
                    ],
                    "type": "string",
                    "x-immutable": true
                  },
                  "validation_regexp": {
                    "default": null,
                    "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                    "type": "string",
                    "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "validation_rule": {
                    "default": "none",
                    "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                    "enum": [
                      "email",
                      "url",
                      "regexp",
                      "none"
                    ],
                    "type": "string",
                    "x-warning": "Only for `text` attribute type"
                  },
                  "value_per_channel": {
                    "default": false,
                    "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                    "type": "boolean",
                    "x-immutable": true
                  },
                  "value_per_locale": {
                    "default": false,
                    "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                    "type": "boolean",
                    "x-immutable": true
                  }
                },
                "required": [
                  "code",
                  "type"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "x-examples": [
              {
                "code": "description",
                "is_required_for_completeness": true,
                "is_rich_text_editor": true,
                "is_textarea": true,
                "labels": {
                  "en_US": "Description",
                  "fr_FR": "Description"
                },
                "max_characters": null,
                "type": "text",
                "validation_regexp": null,
                "validation_rule": "none",
                "value_per_channel": false,
                "value_per_locale": true
              },
              {
                "code": "country",
                "is_required_for_completeness": false,
                "labels": {
                  "en_US": "Country",
                  "fr_FR": "Pays"
                },
                "type": "text",
                "value_per_channel": false,
                "value_per_locale": false
              },
              {
                "code": "creation_year",
                "decimals_allowed": false,
                "is_required_for_completeness": false,
                "labels": {
                  "en_US": "Creation year",
                  "fr_FR": "Année de création"
                },
                "max_value": "2100",
                "min_value": "1800",
                "type": "number",
                "value_per_channel": false,
                "value_per_locale": false
              },
              {
                "allowed_extensions": [
                  "png"
                ],
                "code": "collection_overview",
                "is_required_for_completeness": true,
                "labels": {
                  "en_US": "Collection overview",
                  "fr_FR": "Aperçu de la collection"
                },
                "max_file_size": "1000",
                "type": "image",
                "value_per_channel": false,
                "value_per_locale": true
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get the list of attributes of a given reference entity",
        "tags": [
          "Reference entity attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/attributes/{attribute_code}/options": {
      "get": {
        "description": "This endpoint allows you to get a list of attribute options for a given reference entity.",
        "operationId": "get_reference_entity_attributes__attribute_code__options",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the options of the given attributes of the given reference entity",
            "schema": {
              "items": {
                "example": {
                  "code": "global_nomad",
                  "labels": {
                    "en_US": "Global Nomad",
                    "fr_FR": "Nomade du Monde"
                  }
                },
                "properties": {
                  "code": {
                    "description": "Attribute's option code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "labels": {
                    "default": {},
                    "description": "Attribute labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Attribute label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "x-examples": [
              {
                "code": "woodland_retreat",
                "labels": {
                  "en_US": "Woodland Retreat",
                  "fr_FR": "Retraite dans les Bois"
                }
              },
              {
                "code": "new_nordic",
                "labels": {
                  "en_US": "New Nordic",
                  "fr_FR": "Renouveau Scandinave"
                }
              },
              {
                "code": "global_nomad",
                "labels": {
                  "en_US": "Global Nomad",
                  "fr_FR": "Nomade du Monde"
                }
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a list of attribute options of a given attribute for a given reference entity",
        "tags": [
          "Reference entity attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/attributes/{attribute_code}/options/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute option.",
        "operationId": "get_reference_entity_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "global_nomad",
                "labels": {
                  "en_US": "Global Nomad",
                  "fr_FR": "Nomade du Monde"
                }
              },
              "properties": {
                "code": {
                  "description": "Attribute's option code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the reference entity attribute option in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute option for a given attribute of a given reference entity",
        "tags": [
          "Reference entity attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given option for a given attribute and a given reference entity. Learn more about <a href=\"/documentation/update.html#patch-reference-entity-record-values\">Update behavior</a>. Note that if the option does not already exist for the given attribute of the given reference entity, it creates it.",
        "operationId": "patch_reference_entity_attributes__attribute_code__options__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the attribute",
            "in": "path",
            "name": "attribute_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "global_nomad",
                "labels": {
                  "en_US": "Global Nomad",
                  "fr_FR": "Nomade du Monde"
                }
              },
              "properties": {
                "code": {
                  "description": "Attribute's option code",
                  "type": "string",
                  "x-immutable": true
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a reference entity attribute option",
        "tags": [
          "Reference entity attribute option"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/attributes/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given attribute for a given reference entity.",
        "operationId": "get_reference_entity_attributes__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "description",
                "is_required_for_completeness": true,
                "is_rich_text_editor": true,
                "is_textarea": true,
                "labels": {
                  "en_US": "Description",
                  "fr_FR": "Description"
                },
                "max_characters": null,
                "type": "text",
                "validation_regexp": null,
                "validation_rule": "none",
                "value_per_channel": false,
                "value_per_locale": true
              },
              "properties": {
                "allowed_extensions": {
                  "default": [],
                  "description": "Extensions allowed when the attribute type is `image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `image` attribute type"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "decimals_allowed": {
                  "default": false,
                  "description": "Whether decimals are allowed when the attribute type is `number`",
                  "type": "boolean",
                  "x-warning": "Only for `number` attribute type"
                },
                "is_required_for_completeness": {
                  "default": false,
                  "description": "Whether the attribute should be part of the record's completeness calculation",
                  "type": "boolean"
                },
                "is_rich_text_editor": {
                  "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                  "type": "boolean",
                  "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                  "x-warning": "Only for `text` attribute type"
                },
                "is_textarea": {
                  "default": false,
                  "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                  "type": "boolean",
                  "x-warning": "Only for `text` attribute type"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "max_characters": {
                  "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                  "type": "integer",
                  "x-warning": "Only for `text` attribute type"
                },
                "max_file_size": {
                  "default": null,
                  "description": "Max file size in MB when the attribute type is `image`",
                  "type": "string",
                  "x-warning": "Only for `image` attribute type"
                },
                "max_value": {
                  "default": null,
                  "description": "Maximum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The maximum value must be greater than the minimum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "min_value": {
                  "default": null,
                  "description": "Minimum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The minimum value must be lower than the maximum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "reference_entity_code": {
                  "default": null,
                  "description": "Code of the linked reference entity when the attribute type is `reference_entity_single_link` or `reference_entity_multiple_links`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required when the attribute type is either `reference_entity_single_link` or `reference_entity_multiple_links`",
                  "x-warning": "Only for `reference_entity_single_link` and `reference_entity_multiple_links` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/reference-entities.html#reference-entity-attribute'>type</a> section for more details.",
                  "enum": [
                    "text",
                    "image",
                    "number",
                    "single_option",
                    "multiple_options",
                    "reference_entity_single_link",
                    "reference_entity_multiple_links"
                  ],
                  "type": "string",
                  "x-immutable": true
                },
                "validation_regexp": {
                  "default": null,
                  "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                  "type": "string",
                  "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                  "x-warning": "Only for `text` attribute type"
                },
                "validation_rule": {
                  "default": "none",
                  "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                  "enum": [
                    "email",
                    "url",
                    "regexp",
                    "none"
                  ],
                  "type": "string",
                  "x-warning": "Only for `text` attribute type"
                },
                "value_per_channel": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "value_per_locale": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                }
              },
              "required": [
                "code",
                "type"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the reference entity attribute in JSON format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get an attribute of a given reference entity",
        "tags": [
          "Reference entity attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given attribute for a given renference entity. Note that if the attribute does not already exist for the given reference entity, it creates it.",
        "operationId": "patch_reference_entity_attributes__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "description",
                "is_required_for_completeness": true,
                "is_rich_text_editor": true,
                "is_textarea": true,
                "labels": {
                  "en_US": "Description",
                  "fr_FR": "Description"
                },
                "max_characters": null,
                "type": "text",
                "validation_regexp": null,
                "validation_rule": "none",
                "value_per_channel": false,
                "value_per_locale": true
              },
              "properties": {
                "allowed_extensions": {
                  "default": [],
                  "description": "Extensions allowed when the attribute type is `image`",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-warning": "Only for `image` attribute type"
                },
                "code": {
                  "description": "Attribute code",
                  "type": "string",
                  "x-immutable": true
                },
                "decimals_allowed": {
                  "default": false,
                  "description": "Whether decimals are allowed when the attribute type is `number`",
                  "type": "boolean",
                  "x-warning": "Only for `number` attribute type"
                },
                "is_required_for_completeness": {
                  "default": false,
                  "description": "Whether the attribute should be part of the record's completeness calculation",
                  "type": "boolean"
                },
                "is_rich_text_editor": {
                  "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
                  "type": "boolean",
                  "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
                  "x-warning": "Only for `text` attribute type"
                },
                "is_textarea": {
                  "default": false,
                  "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
                  "type": "boolean",
                  "x-warning": "Only for `text` attribute type"
                },
                "labels": {
                  "default": {},
                  "description": "Attribute labels for each locale",
                  "properties": {
                    "localeCode": {
                      "description": "Attribute label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "max_characters": {
                  "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
                  "type": "integer",
                  "x-warning": "Only for `text` attribute type"
                },
                "max_file_size": {
                  "default": null,
                  "description": "Max file size in MB when the attribute type is `image`",
                  "type": "string",
                  "x-warning": "Only for `image` attribute type"
                },
                "max_value": {
                  "default": null,
                  "description": "Maximum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The maximum value must be greater than the minimum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "min_value": {
                  "default": null,
                  "description": "Minimum value allowed when the attribute type is `number`",
                  "type": "string",
                  "x-validation-rules": "The minimum value must be lower than the maximum value",
                  "x-warning": "Only for `number` attribute type"
                },
                "reference_entity_code": {
                  "default": null,
                  "description": "Code of the linked reference entity when the attribute type is `reference_entity_single_link` or `reference_entity_multiple_links`",
                  "type": "string",
                  "x-immutable": true,
                  "x-validation-rules": "Required when the attribute type is either `reference_entity_single_link` or `reference_entity_multiple_links`",
                  "x-warning": "Only for `reference_entity_single_link` and `reference_entity_multiple_links` attribute type"
                },
                "type": {
                  "description": "Attribute type. See <a href='/concepts/reference-entities.html#reference-entity-attribute'>type</a> section for more details.",
                  "enum": [
                    "text",
                    "image",
                    "number",
                    "single_option",
                    "multiple_options",
                    "reference_entity_single_link",
                    "reference_entity_multiple_links"
                  ],
                  "type": "string",
                  "x-immutable": true
                },
                "validation_regexp": {
                  "default": null,
                  "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
                  "type": "string",
                  "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
                  "x-warning": "Only for `text` attribute type"
                },
                "validation_rule": {
                  "default": "none",
                  "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
                  "enum": [
                    "email",
                    "url",
                    "regexp",
                    "none"
                  ],
                  "type": "string",
                  "x-warning": "Only for `text` attribute type"
                },
                "value_per_channel": {
                  "default": false,
                  "description": "Whether the attribute is scopable, i.e. can have one value by channel",
                  "type": "boolean",
                  "x-immutable": true
                },
                "value_per_locale": {
                  "default": false,
                  "description": "Whether the attribute is localizable, i.e. can have one value by locale",
                  "type": "boolean",
                  "x-immutable": true
                }
              },
              "required": [
                "code",
                "type"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create an attribute of a given reference entity",
        "tags": [
          "Reference entity attribute"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/records": {
      "get": {
        "description": "This endpoint allows you to get a list of records of a given reference entity. Records are paginated and can be filtered.",
        "operationId": "get_reference_entity_records",
        "parameters": [
          {
            "description": "Filter records of the reference entity, for more details see the <a href=\"/documentation/filter.html#filter-reference-entity-records\">Filters</a> section",
            "in": "query",
            "name": "search",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter attribute values to return scopable attributes for the given channel as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#record-values-by-channel\">Filter attribute values by channel</a> section",
            "in": "query",
            "name": "channel",
            "required": false,
            "type": "string"
          },
          {
            "description": "Filter attribute values to return localizable attributes for the given locales as well as the non localizable/non scopable attributes, for more details see the <a href=\"/documentation/filter.html#record-values-by-locale\">Filter attribute values by locale</a> section",
            "in": "query",
            "name": "locales",
            "required": false,
            "type": "string"
          },
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "default": "cursor to the first page",
            "description": "Cursor when using the `search_after` pagination method type. <strong>Should never be set manually</strong>, see <a href=\"/documentation/pagination.html\">Pagination</a> section",
            "in": "query",
            "name": "search_after",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the records of the given reference entity paginated",
            "examples": {
              "_embedded": {
                "items": [
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records/kartell"
                      }
                    },
                    "code": "kartell",
                    "created": "2021-01-01T01:23:34+00:00",
                    "updated": "2021-02-03T23:45:60+00:00",
                    "values": {
                      "country": [
                        {
                          "channel": null,
                          "data": "italy",
                          "locale": null
                        }
                      ],
                      "description": [
                        {
                          "channel": null,
                          "data": "The contemporary Italian furniture brand",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "L'éditeur de meubles comtemporain italien",
                          "locale": "fr_FR"
                        }
                      ],
                      "image": [
                        {
                          "channel": null,
                          "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                          "locale": null
                        }
                      ],
                      "label": [
                        {
                          "channel": null,
                          "data": "Kartell",
                          "locale": "en_US"
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records/usm"
                      }
                    },
                    "code": "usm",
                    "created": "2021-01-01T01:23:34+00:00",
                    "updated": "2021-02-03T23:45:60+00:00",
                    "values": {
                      "country": [
                        {
                          "channel": null,
                          "data": "switzerland",
                          "locale": null
                        }
                      ],
                      "description": [
                        {
                          "channel": null,
                          "data": "Modular furniture from Switzerland for your home and office",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "L'éditeur de meubles modulaires suisse pour votre intérieur et pour les entreprises",
                          "locale": "fr_FR"
                        }
                      ],
                      "image": [
                        {
                          "channel": null,
                          "data": "9/c/g/1/0cb0c0e115dedba76f8d1ad8343ec897abc43bv4_image.jpg",
                          "locale": null
                        }
                      ],
                      "label": [
                        {
                          "channel": null,
                          "data": "USM",
                          "locale": "en_US"
                        }
                      ]
                    }
                  },
                  {
                    "_links": {
                      "self": {
                        "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records/ligneroset"
                      }
                    },
                    "code": "ligneroset",
                    "created": "2021-01-01T01:23:34+00:00",
                    "updated": "2021-02-03T23:45:60+00:00",
                    "values": {
                      "country": [
                        {
                          "channel": null,
                          "data": "france",
                          "locale": null
                        }
                      ],
                      "description": [
                        {
                          "channel": null,
                          "data": "Very well known French brand of modern and luxury furniture",
                          "locale": "en_US"
                        },
                        {
                          "channel": null,
                          "data": "La marque renommée des meubles de luxe à la française",
                          "locale": "fr_FR"
                        }
                      ],
                      "image": [
                        {
                          "channel": null,
                          "data": "4/b/0/1/0cb0c0e115dedde78b8d1ad8343ec980cd5daa54_image.jpg",
                          "locale": null
                        }
                      ],
                      "label": [
                        {
                          "channel": null,
                          "data": "Ligne Roset",
                          "locale": "en_US"
                        }
                      ]
                    }
                  }
                ]
              },
              "_links": {
                "first": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records"
                },
                "next": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records?search_after=2x088w%3D%3D"
                },
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/reference-entities/brands/records"
                }
              }
            },
            "schema": {
              "allOf": [
                {
                  "properties": {
                    "_links": {
                      "properties": {
                        "first": {
                          "properties": {
                            "href": {
                              "description": "URI of the first page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "next": {
                          "properties": {
                            "href": {
                              "description": "URI of the next page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "self": {
                          "properties": {
                            "href": {
                              "description": "URI of the current page of resources",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                {
                  "properties": {
                    "_embedded": {
                      "properties": {
                        "items": {
                          "items": {
                            "allOf": [
                              {
                                "properties": {
                                  "_links": {
                                    "properties": {
                                      "self": {
                                        "properties": {
                                          "href": {
                                            "description": "URI of the resource",
                                            "type": "string"
                                          }
                                        },
                                        "type": "object"
                                      }
                                    },
                                    "type": "object"
                                  }
                                },
                                "type": "object"
                              },
                              {
                                "example": {
                                  "code": "kartell",
                                  "created": "2021-01-01T01:23:34+00:00",
                                  "updated": "2021-02-03T23:45:60+00:00",
                                  "values": {
                                    "collection_overview": [
                                      {
                                        "channel": null,
                                        "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                                        "locale": null
                                      }
                                    ],
                                    "country": [
                                      {
                                        "channel": null,
                                        "data": "italy",
                                        "locale": null
                                      }
                                    ],
                                    "creation_year": [
                                      {
                                        "channel": null,
                                        "data": "1949",
                                        "locale": null
                                      }
                                    ],
                                    "description": [
                                      {
                                        "channel": null,
                                        "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                                        "locale": "en_US"
                                      },
                                      {
                                        "channel": null,
                                        "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                                        "locale": "fr_FR"
                                      }
                                    ],
                                    "image": [
                                      {
                                        "channel": null,
                                        "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                                        "locale": null
                                      }
                                    ],
                                    "label": [
                                      {
                                        "channel": null,
                                        "data": "Kartell",
                                        "locale": "en_US"
                                      }
                                    ]
                                  }
                                },
                                "properties": {
                                  "code": {
                                    "description": "Code of the record",
                                    "type": "string",
                                    "x-immutable": true
                                  },
                                  "created": {
                                    "default": null,
                                    "description": "Date of creation.",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-from-version": "5.0",
                                    "x-immutable": true,
                                    "x-read-only": true
                                  },
                                  "updated": {
                                    "default": null,
                                    "description": "Date of the last update.",
                                    "format": "dateTime",
                                    "type": "string",
                                    "x-from-version": "5.0",
                                    "x-read-only": true
                                  },
                                  "values": {
                                    "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
                                    "properties": {
                                      "attributeCode": {
                                        "items": {
                                          "properties": {
                                            "channel": {
                                              "description": "Channel code of the reference entity record value",
                                              "type": "string"
                                            },
                                            "data": {
                                              "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                                              "type": "object"
                                            },
                                            "locale": {
                                              "description": "Locale code of the reference entity record value",
                                              "type": "string"
                                            }
                                          },
                                          "type": "object"
                                        },
                                        "type": "array"
                                      }
                                    },
                                    "type": "object",
                                    "x-validation-rules": "Validation rules detailed in Reference entity record values section"
                                  }
                                },
                                "required": [
                                  "code"
                                ],
                                "type": "object"
                              }
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              ],
              "title": "Reference entity record",
              "type": "object"
            }
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get the list of the records of a reference entity",
        "tags": [
          "Reference entity record"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update and/or create several records of one given reference entity at once. Learn more about <a href=\"/documentation/update.html#patch-reference-entity-record-values\">Update behavior</a>. Note that if the record does not already exist for the given reference entity, it creates it.",
        "operationId": "patch_reference_entity_records",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": [
                {
                  "code": "kartell",
                  "values": {
                    "collection_overview": [
                      {
                        "channel": null,
                        "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                        "locale": null
                      }
                    ],
                    "country": [
                      {
                        "channel": null,
                        "data": "italy",
                        "locale": null
                      }
                    ],
                    "creation_year": [
                      {
                        "channel": null,
                        "data": "1949",
                        "locale": null
                      }
                    ],
                    "description": [
                      {
                        "channel": null,
                        "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                        "locale": "en_US"
                      },
                      {
                        "channel": null,
                        "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                        "locale": "fr_FR"
                      }
                    ],
                    "image": [
                      {
                        "channel": null,
                        "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                        "locale": null
                      }
                    ],
                    "label": [
                      {
                        "channel": null,
                        "data": "Kartell",
                        "locale": "en_US"
                      }
                    ]
                  }
                },
                {
                  "code": "ligneroset",
                  "values": {
                    "country": [
                      {
                        "channel": null,
                        "data": "france",
                        "locale": null
                      }
                    ],
                    "creation_year": [
                      {
                        "channel": null,
                        "data": "1860",
                        "locale": null
                      }
                    ],
                    "description": [
                      {
                        "channel": null,
                        "data": "Very well known French brand of modern and luxury furniture",
                        "locale": "en_US"
                      },
                      {
                        "channel": null,
                        "data": "La marque renommée des meubles de luxe à la française",
                        "locale": "fr_FR"
                      }
                    ],
                    "image": [
                      {
                        "channel": null,
                        "data": "4/b/0/1/0cb0c0e115dedde78b8d1ad8343ec980cd5daa54_image.jpg",
                        "locale": null
                      }
                    ],
                    "label": [
                      {
                        "channel": null,
                        "data": "Ligne Roset",
                        "locale": "en_US"
                      }
                    ]
                  }
                },
                {
                  "code": "usm",
                  "values": {
                    "country": [
                      {
                        "channel": null,
                        "data": "switzerland",
                        "locale": null
                      }
                    ],
                    "creation_year": [
                      {
                        "channel": null,
                        "data": "1885",
                        "locale": null
                      }
                    ],
                    "description": [
                      {
                        "channel": null,
                        "data": "Modular furniture from Switzerland for your home and office",
                        "locale": "en_US"
                      },
                      {
                        "channel": null,
                        "data": "L'éditeur de meubles modulaires suisse pour votre intérieur et pour les entreprises",
                        "locale": "fr_FR"
                      }
                    ],
                    "image": [
                      {
                        "channel": null,
                        "data": "9/c/g/1/0cb0c0e115dedba76f8d1ad8343ec897abc43bv4_image.jpg",
                        "locale": null
                      }
                    ],
                    "label": [
                      {
                        "channel": null,
                        "data": "USM",
                        "locale": "en_US"
                      }
                    ]
                  }
                }
              ],
              "items": {
                "example": {
                  "code": "kartell",
                  "created": "2021-01-01T01:23:34+00:00",
                  "updated": "2021-02-03T23:45:60+00:00",
                  "values": {
                    "collection_overview": [
                      {
                        "channel": null,
                        "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                        "locale": null
                      }
                    ],
                    "country": [
                      {
                        "channel": null,
                        "data": "italy",
                        "locale": null
                      }
                    ],
                    "creation_year": [
                      {
                        "channel": null,
                        "data": "1949",
                        "locale": null
                      }
                    ],
                    "description": [
                      {
                        "channel": null,
                        "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                        "locale": "en_US"
                      },
                      {
                        "channel": null,
                        "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                        "locale": "fr_FR"
                      }
                    ],
                    "image": [
                      {
                        "channel": null,
                        "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                        "locale": null
                      }
                    ],
                    "label": [
                      {
                        "channel": null,
                        "data": "Kartell",
                        "locale": "en_US"
                      }
                    ]
                  }
                },
                "properties": {
                  "code": {
                    "description": "Code of the record",
                    "type": "string",
                    "x-immutable": true
                  },
                  "created": {
                    "default": null,
                    "description": "Date of creation.",
                    "format": "dateTime",
                    "type": "string",
                    "x-from-version": "5.0",
                    "x-immutable": true,
                    "x-read-only": true
                  },
                  "updated": {
                    "default": null,
                    "description": "Date of the last update.",
                    "format": "dateTime",
                    "type": "string",
                    "x-from-version": "5.0",
                    "x-read-only": true
                  },
                  "values": {
                    "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
                    "properties": {
                      "attributeCode": {
                        "items": {
                          "properties": {
                            "channel": {
                              "description": "Channel code of the reference entity record value",
                              "type": "string"
                            },
                            "data": {
                              "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                              "type": "object"
                            },
                            "locale": {
                              "description": "Locale code of the reference entity record value",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "Validation rules detailed in Reference entity record values section"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "items": {
                "properties": {
                  "code": {
                    "description": "Resource code",
                    "type": "string"
                  },
                  "message": {
                    "description": "Message explaining the error",
                    "type": "string"
                  },
                  "status_code": {
                    "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "x-details": "Returns an JSON array in which each object gives you the status of each record creation or update",
            "x-examples": [
              {
                "code": "kartell",
                "status_code": 204
              },
              {
                "code": "ligneroset",
                "message": "Property 'group' does not exist.",
                "status_code": 422
              },
              {
                "code": "usm",
                "status_code": 201
              }
            ],
            "x-no-entity": true
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "413": {
            "description": "Request Entity Too Large",
            "examples": {
              "code": 413,
              "message": "Too many resources to process, 100 is the maximum allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "There are too many resources to process (max 100) or the line of JSON is too long (max 1 000 000 characters)"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/vnd.akeneo.collection+json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/vnd.akeneo.collection+json`"
          }
        },
        "summary": "Update/create several reference entity records",
        "tags": [
          "Reference entity record"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/reference-entities/{reference_entity_code}/records/{code}": {
      "get": {
        "description": "This endpoint allows you to get the information about a given record for a given reference entity.",
        "operationId": "get_reference_entity_records__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "example": {
                "code": "kartell",
                "created": "2021-01-01T01:23:34+00:00",
                "updated": "2021-02-03T23:45:60+00:00",
                "values": {
                  "collection_overview": [
                    {
                      "channel": null,
                      "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                      "locale": null
                    }
                  ],
                  "country": [
                    {
                      "channel": null,
                      "data": "italy",
                      "locale": null
                    }
                  ],
                  "creation_year": [
                    {
                      "channel": null,
                      "data": "1949",
                      "locale": null
                    }
                  ],
                  "description": [
                    {
                      "channel": null,
                      "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                      "locale": "en_US"
                    },
                    {
                      "channel": null,
                      "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                      "locale": "fr_FR"
                    }
                  ],
                  "image": [
                    {
                      "channel": null,
                      "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                      "locale": null
                    }
                  ],
                  "label": [
                    {
                      "channel": null,
                      "data": "Kartell",
                      "locale": "en_US"
                    }
                  ]
                }
              },
              "properties": {
                "code": {
                  "description": "Code of the record",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "default": null,
                  "description": "Date of creation.",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "updated": {
                  "default": null,
                  "description": "Date of the last update.",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "5.0",
                  "x-read-only": true
                },
                "values": {
                  "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "channel": {
                            "description": "Channel code of the reference entity record value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "locale": {
                            "description": "Locale code of the reference entity record value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Reference entity record values section"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            },
            "x-details": "Returns the content of the product in JSON standard format"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "404": {
            "description": "Resource not found",
            "examples": {
              "code": 404,
              "message": "Resource `my_resource_code` does not exist."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The resource code given in the URI does not correspond to any existing PIM resource"
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get a record of a given reference entity",
        "tags": [
          "Reference entity record"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      },
      "patch": {
        "description": "This endpoint allows you to update a given record of a given renference entity. Learn more about <a href=\"/documentation/update.html#patch-reference-entity-record-values\">Update behavior</a>. Note that if the record does not already exist for the given reference entity, it creates it.",
        "operationId": "patch_reference_entity_records__code_",
        "parameters": [
          {
            "description": "Code of the reference entity",
            "in": "path",
            "name": "reference_entity_code",
            "required": true,
            "type": "string"
          },
          {
            "description": "Code of the resource",
            "in": "path",
            "name": "code",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "example": {
                "code": "kartell",
                "values": {
                  "collection_overview": [
                    {
                      "channel": null,
                      "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                      "locale": null
                    }
                  ],
                  "country": [
                    {
                      "channel": null,
                      "data": "italy",
                      "locale": null
                    }
                  ],
                  "creation_year": [
                    {
                      "channel": null,
                      "data": "1949",
                      "locale": null
                    }
                  ],
                  "description": [
                    {
                      "channel": null,
                      "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                      "locale": "en_US"
                    },
                    {
                      "channel": null,
                      "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                      "locale": "fr_FR"
                    }
                  ],
                  "image": [
                    {
                      "channel": null,
                      "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                      "locale": null
                    }
                  ],
                  "label": [
                    {
                      "channel": null,
                      "data": "Kartell",
                      "locale": "en_US"
                    }
                  ]
                }
              },
              "properties": {
                "code": {
                  "description": "Code of the record",
                  "type": "string",
                  "x-immutable": true
                },
                "created": {
                  "default": null,
                  "description": "Date of creation.",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "5.0",
                  "x-immutable": true,
                  "x-read-only": true
                },
                "updated": {
                  "default": null,
                  "description": "Date of the last update.",
                  "format": "dateTime",
                  "type": "string",
                  "x-from-version": "5.0",
                  "x-read-only": true
                },
                "values": {
                  "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
                  "properties": {
                    "attributeCode": {
                      "items": {
                        "properties": {
                          "channel": {
                            "description": "Channel code of the reference entity record value",
                            "type": "string"
                          },
                          "data": {
                            "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                            "type": "object"
                          },
                          "locale": {
                            "description": "Locale code of the reference entity record value",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "Validation rules detailed in Reference entity record values section"
                }
              },
              "required": [
                "code"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "headers": {
              "Location": {
                "description": "URI of the created resource",
                "type": "string"
              }
            },
            "x-details": "Means that the creation was successful"
          },
          "204": {
            "description": "No content to return",
            "headers": {
              "Location": {
                "description": "URI of the updated resource",
                "type": "string"
              }
            },
            "x-details": "Means that the update was successful"
          },
          "401": {
            "description": "Authentication required",
            "examples": {
              "code": 401,
              "message": "Authentication is required"
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "Can be caused by a missing or expired token"
          },
          "415": {
            "description": "Unsupported Media type",
            "examples": {
              "code": 415,
              "message": "‘xxx’ in ‘Content-type’ header is not valid.  Only ‘application/json’ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Content-type` header has to be `application/json`"
          },
          "422": {
            "description": "Unprocessable entity",
            "examples": {
              "_links": {
                "documentation": {
                  "href": "http://api.akeneo.com/api-reference.html"
                }
              },
              "code": 422,
              "message": "Property \"labels\" expects an array as data, \"NULL\" given. Check the API reference documentation."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The validation of the entity given in the body of the request failed"
          }
        },
        "summary": "Update/create a record of a given reference entity",
        "tags": [
          "Reference entity record"
        ],
        "x-ee": true,
        "x-versions": [
          "3.x",
          "4.0",
          "5.0",
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    },
    "/api/rest/v1/system-information": {
      "get": {
        "description": "This endpoint allows you to get the version and the edition of the PIM. Example of what you can get <table class=\"description-table\"> <thead> <tr> <th align=\"center\">Environment</th> <th align=\"center\">Edition</th> <th align=\"center\">Version</th> </tr> </thead> <tbody> <tr> <td align=\"center\">SaaS EE</td> <td align=\"center\">Serenity</td> <td align=\"center\">v20230112013744</td> </tr> <tr> <td align=\"center\">SaaS CE</td> <td align=\"center\">GE</td> <td align=\"center\">v20210526040645</td> </tr> <tr> <td align=\"center\">PaaS or onPrem EE</td> <td align=\"center\">EE</td> <td align=\"center\">5.0.28</td> </tr> <tr> <td align=\"center\">PaaS or onPrem CE</td> <td align=\"center\">CE</td> <td align=\"center\">5.0.28</td> </tr> </tbody> </table>",
        "operationId": "get_system_information",
        "responses": {
          "200": {
            "description": "Return the version and the edition of the PIM.",
            "examples": {
              "edition": "Serenity",
              "version": "20210521041041"
            },
            "schema": {
              "properties": {
                "edition": {
                  "description": "Edition of the PIM",
                  "type": "string"
                },
                "version": {
                  "description": "Version of the PIM",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-no-entity": true
          },
          "406": {
            "description": "Not Acceptable",
            "examples": {
              "code": 406,
              "message": "‘xxx’ in ‘Accept‘ header is not valid. Only ‘application/json‘ is allowed."
            },
            "schema": {
              "properties": {
                "code": {
                  "description": "HTTP status code",
                  "type": "integer"
                },
                "message": {
                  "description": "Message explaining the error",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "x-details": "The `Accept` header is not `application/json` but it should"
          }
        },
        "summary": "Get system information",
        "tags": [
          "System"
        ],
        "x-no-token": true,
        "x-versions": [
          "6.0",
          "7.0",
          "SaaS"
        ]
      }
    }
  },
  "definitions": {
    "AppCatalogList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "enabled": false,
            "id": "12351d98-200e-4bbc-aa19-7fdda1bd14f2",
            "name": "My app catalog"
          },
          "properties": {
            "enabled": {
              "default": false,
              "description": "Whether the catalog is enabled or not",
              "type": "boolean"
            },
            "id": {
              "description": "Catalog id",
              "type": "string",
              "x-immutable": true
            },
            "name": {
              "description": "Catalog name",
              "type": "string"
            }
          },
          "type": "object"
        }
      ],
      "type": "object"
    },
    "AssetAttributeList": {
      "items": {
        "example": {
          "code": "model_is_wearing_size",
          "is_required_for_completeness": true,
          "labels": {
            "en_US": "Model is wearing size",
            "fr_FR": "Le mannequin porte la taille"
          },
          "type": "single_option",
          "value_per_channel": false,
          "value_per_locale": false
        },
        "properties": {
          "allowed_extensions": {
            "default": [],
            "description": "Extensions allowed when the attribute type is `media_file`",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-warning": "Only for `media_file` attribute type"
          },
          "code": {
            "description": "Attribute code",
            "type": "string",
            "x-immutable": true
          },
          "decimals_allowed": {
            "default": false,
            "description": "Whether decimals are allowed when the attribute type is `number`",
            "type": "boolean",
            "x-warning": "Only for `number` attribute type"
          },
          "is_read_only": {
            "default": false,
            "description": "Whether the attribute should be in read only mode only in the UI, but you can still update it with the API",
            "type": "boolean"
          },
          "is_required_for_completeness": {
            "default": false,
            "description": "Whether the attribute should be part of the record's completeness calculation",
            "type": "boolean"
          },
          "is_rich_text_editor": {
            "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
            "type": "boolean",
            "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
            "x-warning": "Only for `text` attribute type"
          },
          "is_textarea": {
            "default": false,
            "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
            "type": "boolean",
            "x-warning": "Only for `text` attribute type"
          },
          "labels": {
            "default": {},
            "description": "Attribute labels for each locale",
            "properties": {
              "localeCode": {
                "description": "Attribute label for the locale `localeCode`",
                "type": "string"
              }
            },
            "type": "object",
            "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
          },
          "max_characters": {
            "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
            "type": "integer",
            "x-warning": "Only for `text` attribute type"
          },
          "max_file_size": {
            "default": null,
            "description": "Max file size in MB when the attribute type is `media_file`",
            "type": "string",
            "x-warning": "Only for `media_file` attribute type"
          },
          "max_value": {
            "default": null,
            "description": "Maximum value allowed when the attribute type is `number`",
            "type": "string",
            "x-validation-rules": "The maximum value must be greater than the minimum value",
            "x-warning": "Only for `number` attribute type"
          },
          "media_type": {
            "description": "For the `media_link` attribute type, it is the type of the media behind the url, to allow its preview in the PIM. For the `media_file` attribute type, it is the type of the file.",
            "enum": [
              "image",
              "pdf",
              "youtube",
              "vimeo",
              "other"
            ],
            "type": "string",
            "x-warning": "Only required for `media_link` and `media_file` attribute types"
          },
          "min_value": {
            "default": null,
            "description": "Minimum value allowed when the attribute type is `number`",
            "type": "string",
            "x-validation-rules": "The minimum value must be lower than the maximum value",
            "x-warning": "Only for `number` attribute type"
          },
          "prefix": {
            "default": null,
            "description": "Prefix of the `media_link` attribute type. The common url root that prefixes the link to the media",
            "type": "string",
            "x-warning": "Only for `media_link` attribute type"
          },
          "suffix": {
            "default": null,
            "description": "Suffix of the `media_link` attribute type. The common url suffix for the media",
            "type": "string",
            "x-warning": "Only for `media_link` attribute type"
          },
          "type": {
            "description": "Attribute type. See <a href='/concepts/asset-manager.html#asset-attribute'>type</a> section for more details.",
            "enum": [
              "text",
              "media_link",
              "number",
              "media_file",
              "single_option",
              "multiple_options",
              "reference_entity_single_link",
              "reference_entity_multiple_links",
              "boolean"
            ],
            "type": "string",
            "x-immutable": true
          },
          "validation_regexp": {
            "default": null,
            "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
            "type": "string",
            "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
            "x-warning": "Only for `text` attribute type"
          },
          "validation_rule": {
            "default": "none",
            "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
            "enum": [
              "email",
              "url",
              "regexp",
              "none"
            ],
            "type": "string",
            "x-warning": "Only for `text` attribute type"
          },
          "value_per_channel": {
            "default": false,
            "description": "Whether the attribute is scopable, i.e. can have one value by channel",
            "type": "boolean",
            "x-immutable": true
          },
          "value_per_locale": {
            "default": false,
            "description": "Whether the attribute is localizable, i.e. can have one value by locale",
            "type": "boolean",
            "x-immutable": true
          }
        },
        "required": [
          "code",
          "type",
          "media_type"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "AssetAttributeOptionList": {
      "items": {
        "example": {
          "code": "small",
          "labels": {
            "en_US": "S",
            "fr_FR": "S"
          }
        },
        "properties": {
          "code": {
            "description": "Attribute's option code",
            "type": "string",
            "x-immutable": true
          },
          "labels": {
            "default": {},
            "description": "Attribute labels for each locale",
            "properties": {
              "localeCode": {
                "description": "Attribute label for the locale `localeCode`",
                "type": "string"
              }
            },
            "type": "object",
            "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "AssetFamilyItemList": {
      "properties": {
        "_links": {
          "properties": {
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the resource",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "AssetFamilyList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "attribute_as_main_media": "main_image",
            "code": "model_pictures",
            "labels": {
              "en_US": "Model pictures",
              "fr_FR": "Photographies en pied"
            },
            "naming_convention": {
              "abort_asset_creation_on_error": true,
              "pattern": "/(?P<product_ref>.*)-.*/",
              "source": {
                "channel": null,
                "locale": null,
                "property": "code"
              }
            },
            "product_link_rules": [
              {
                "assign_assets_to": [
                  {
                    "attribute": "model_pictures",
                    "mode": "replace"
                  }
                ],
                "product_selections": [
                  {
                    "field": "sku",
                    "operator": "EQUALS",
                    "value": "{{product_ref}}"
                  }
                ]
              }
            ],
            "transformations": [
              {
                "filename_suffix": "_thumbnailBW",
                "label": "Thumbnail plus black and white transformation",
                "operations": [
                  {
                    "parameters": {
                      "height": 150,
                      "width": 150
                    },
                    "type": "thumbnail"
                  },
                  {
                    "parameters": {
                      "colorspace": "grey"
                    },
                    "type": "colorspace"
                  }
                ],
                "source": {
                  "attribute": "main_image",
                  "channel": null,
                  "locale": null
                },
                "target": {
                  "attribute": "thumbnail",
                  "channel": null,
                  "locale": null
                }
              }
            ]
          },
          "properties": {
            "attribute_as_main_media": {
              "default": "First media file or media link attribute that was created",
              "description": "Attribute code that is used as the main media of the asset family.",
              "type": "string",
              "x-validation-rules": "It should be the code of an attribute that belongs to this family, and it must be a media file or a media link attribute type."
            },
            "code": {
              "description": "Asset family code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Asset family labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Asset family label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "naming_convention": {
              "default": {},
              "description": "The naming convention ran over the asset code or the main media filename upon each asset creation, in order to automatically set several values in asset attributes. To learn more and see the format of this property, take a look at <a href='/concepts/asset-manager.html#focus-on-the-naming-convention'>here</a>.",
              "properties": {
                "abort_asset_creation_on_error": {
                  "description": "Whether the asset should be created if the naming convention failed to apply. More details <a href='/concepts/asset-manager.html#abort-asset-creation-on-error'>here</a>.",
                  "type": "boolean"
                },
                "pattern": {
                  "description": "The regular expression that should be applied on the source. More details <a href='/concepts/asset-manager.html#pattern'>here</a>.",
                  "type": "string"
                },
                "source": {
                  "description": "The string on which the naming convention should be applied. More details <a href='/concepts/asset-manager.html#source'>here</a>.",
                  "type": "object"
                }
              },
              "type": "object",
              "x-validation-rules": "To know more about the validation of this property, take a look at our naming convention format."
            },
            "product_link_rules": {
              "default": [],
              "description": "The rules that will be run after the asset creation, in order to automatically link the assets of this family to a set of products. To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-product-link-rule'>here</a>.",
              "items": {
                "properties": {
                  "assign_assets_to": {
                    "description": "The product value in which your assets will be assigned. More details <a href='/concepts/asset-manager.html#product-value-assignment'>here</a>.",
                    "items": {
                      "properties": {
                        "attribute": {
                          "type": "string"
                        },
                        "channel": {
                          "type": "string"
                        },
                        "locale": {
                          "type": "string"
                        },
                        "mode": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "attribute",
                        "mode"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "product_selections": {
                    "description": "The product selection to which the assets of the asset family to be automatically linked. More details <a href='/concepts/asset-manager.html#product-selection'>here</a>.",
                    "items": {
                      "properties": {
                        "channel": {
                          "type": "string"
                        },
                        "field": {
                          "type": "string"
                        },
                        "locale": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "field",
                        "operator",
                        "value"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "type": "array",
              "x-validation-rules": "To know more about the validation of this property, take a look at our product link rule format."
            },
            "transformations": {
              "default": [],
              "description": "The transformations to perform on source files in order to generate new files into your asset attributes (only available since v4.0). To understand the format of this property, see <a href='/concepts/asset-manager.html#focus-on-the-transformations'>here</a>.",
              "items": {
                "properties": {
                  "filename_prefix": {
                    "description": "The prefix that will be prepended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                    "type": "string"
                  },
                  "filename_suffix": {
                    "description": "The suffix that will be appended to the source filename to generate the target filename. More details <a href='/concepts/asset-manager.html#target-filename'>here</a>.",
                    "type": "string"
                  },
                  "label": {
                    "description": "The name of the transformation",
                    "type": "string"
                  },
                  "operations": {
                    "description": "The transformations that should be applied to your source file to generate the target file. More details <a href='/concepts/asset-manager.html#transformation-operations'>here</a>.",
                    "properties": {
                      "parameters": {
                        "properties": {
                          "colorspace": {
                            "type": "string"
                          },
                          "height": {
                            "type": "integer"
                          },
                          "quality": {
                            "type": "integer"
                          },
                          "ratio": {
                            "type": "integer"
                          },
                          "resolution-unit": {
                            "type": "string"
                          },
                          "resolution-x": {
                            "type": "integer"
                          },
                          "resolution-y": {
                            "type": "integer"
                          },
                          "width": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "Should contain at least one operation"
                  },
                  "source": {
                    "description": "The attribute value in which is stored the media file you want to use as the source file for your transformation. More details <a href='/concepts/asset-manager.html#source-file'>here</a>.",
                    "properties": {
                      "attribute": {
                        "type": "string"
                      },
                      "channel": {
                        "type": "string"
                      },
                      "locale": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "attribute",
                      "channel",
                      "locale"
                    ],
                    "type": "object"
                  },
                  "target": {
                    "description": "The attribute value in which the PIM will generate the new transformed file, aka the target file. More details <a href='/concepts/asset-manager.html#target-file'>here</a>.",
                    "properties": {
                      "attribute": {
                        "type": "string"
                      },
                      "channel": {
                        "type": "string"
                      },
                      "locale": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "attribute",
                      "channel",
                      "locale"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "label",
                  "target",
                  "source",
                  "operations"
                ],
                "type": "object"
              },
              "type": "array",
              "x-from-version": "4.0",
              "x-validation-rules": "To know more about the validation of this property, take a look at our transformation format."
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "AssetItemList": {
      "properties": {
        "_links": {
          "properties": {
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the resource",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "AssetList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "sku_54628_picture1",
            "created": "2021-05-31T09:23:34+00:00",
            "updated": "2021-05-31T09:23:34+00:00",
            "values": {
              "end_of_use_date": [
                {
                  "channel": null,
                  "data": "02/03/2021",
                  "locale": null
                }
              ],
              "main_colors": [
                {
                  "channel": null,
                  "data": [
                    "red",
                    "purple"
                  ],
                  "locale": null
                }
              ],
              "media_preview": [
                {
                  "channel": null,
                  "data": "sku_54628_picture1.jpg",
                  "locale": null
                }
              ],
              "model_wears_size": [
                {
                  "channel": null,
                  "data": "s",
                  "locale": null
                }
              ],
              "photographer": [
                {
                  "channel": null,
                  "data": "ben_levy",
                  "locale": null
                }
              ]
            }
          },
          "properties": {
            "code": {
              "description": "Code of the asset",
              "type": "string",
              "x-immutable": true
            },
            "created": {
              "description": "Date of creation",
              "format": "dateTime",
              "type": "string",
              "x-from-version": "6.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-from-version": "6.0",
              "x-read-only": true
            },
            "values": {
              "description": "Asset attributes values, see the <a href='/concepts/asset-manager.html#focus-on-the-asset-values'>Focus on the asset values</a> section for more details.",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "channel": {
                        "description": "Channel code of the asset attribute value",
                        "type": "string"
                      },
                      "data": {
                        "description": "Asset attribute value. See <a href='/concepts/asset-manager.html#the-data-format'>the `data` format</a> section for more details.",
                        "type": "object"
                      },
                      "locale": {
                        "description": "Locale code of the asset attribute value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Asset attribute values section"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "AssociationType": {
      "example": {
        "code": "upsell",
        "is_quantified": false,
        "is_two_way": false,
        "labels": {
          "en_US": "Upsell",
          "fr_FR": "Vente incitative"
        }
      },
      "properties": {
        "code": {
          "description": "Association type code",
          "type": "string",
          "x-immutable": true
        },
        "is_quantified": {
          "default": false,
          "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
          "type": "boolean",
          "x-immutable": true
        },
        "is_two_way": {
          "default": false,
          "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
          "type": "boolean",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Association type labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Association type label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "AssociationTypeList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "upsell",
            "is_quantified": false,
            "is_two_way": false,
            "labels": {
              "en_US": "Upsell",
              "fr_FR": "Vente incitative"
            }
          },
          "properties": {
            "code": {
              "description": "Association type code",
              "type": "string",
              "x-immutable": true
            },
            "is_quantified": {
              "default": false,
              "description": "When true, the association is a quantified association (Only available in the PIM Serenity version.)",
              "type": "boolean",
              "x-immutable": true
            },
            "is_two_way": {
              "default": false,
              "description": "When true, the association is a two-way association (Only available in the PIM Serenity version.)",
              "type": "boolean",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Association type labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Association type label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "Attribute": {
      "example": {
        "allowed_extensions": [],
        "available_locales": [],
        "code": "release_date",
        "date_max": "2017-08-08T22:00:00",
        "date_min": "2017-06-28T08:00:00",
        "decimals_allowed": null,
        "default_metric_unit": null,
        "default_value": null,
        "group": "marketing",
        "group_labels": {
          "en_US": "Marketing",
          "fr_FR": "Marketing"
        },
        "labels": {
          "en_US": "Sale date",
          "fr_FR": "Date des soldes"
        },
        "localizable": false,
        "max_characters": null,
        "max_file_size": null,
        "metric_family": null,
        "minimum_input_length": null,
        "negative_allowed": null,
        "number_max": null,
        "number_min": null,
        "reference_data_name": null,
        "scopable": false,
        "sort_order": 1,
        "type": "pim_catalog_date",
        "unique": false,
        "useable_as_grid_filter": true,
        "validation_regexp": null,
        "validation_rule": null,
        "wysiwyg_enabled": null
      },
      "properties": {
        "allowed_extensions": {
          "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
        },
        "available_locales": {
          "description": "To make the attribute locale specfic, specify here for which locales it is specific",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is an existing and activated locale"
        },
        "code": {
          "description": "Attribute code",
          "type": "string",
          "x-immutable": true
        },
        "date_max": {
          "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
          "format": "date-time",
          "type": "string",
          "x-validation-rules": "The datetime format follows the ISO-8601 norm",
          "x-warning": "Only for `pim_catalog_date` attribute type"
        },
        "date_min": {
          "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
          "format": "date-time",
          "type": "string",
          "x-validation-rules": "The datetime format follows the ISO-8601 norm",
          "x-warning": "Only for `pim_catalog_date` attribute type"
        },
        "decimals_allowed": {
          "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
          "type": "boolean",
          "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
        },
        "default_metric_unit": {
          "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
          "type": "string",
          "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
          "x-warning": "Only for `pim_catalog_metric` attribute type"
        },
        "default_value": {
          "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
          "type": "boolean",
          "x-from-version": "5.0",
          "x-warning": "Only for `pim_catalog_boolean` attribute type"
        },
        "group": {
          "description": "Attribute group",
          "type": "string",
          "x-validation-rules": "It is the code of an existing group"
        },
        "group_labels": {
          "default": {},
          "description": "Group labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Group label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-read-only": true,
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "labels": {
          "default": {},
          "description": "Attribute labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Attribute label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "localizable": {
          "default": false,
          "description": "Whether the attribute is localizable, i.e. can have one value by locale",
          "type": "boolean",
          "x-immutable": true
        },
        "max_characters": {
          "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`",
          "type": "integer",
          "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
        },
        "max_file_size": {
          "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
          "type": "string",
          "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
        },
        "metric_family": {
          "description": "Metric family when the attribute type is `pim_catalog_metric`",
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
          "x-warning": "Only for `pim_catalog_metric` attribute type"
        },
        "negative_allowed": {
          "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
          "type": "boolean",
          "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
        },
        "number_max": {
          "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
          "type": "string",
          "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
        },
        "number_min": {
          "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
          "type": "string",
          "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
        },
        "reference_data_name": {
          "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`",
          "type": "string",
          "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"
        },
        "scopable": {
          "default": false,
          "description": "Whether the attribute is scopable, i.e. can have one value by channel",
          "type": "boolean",
          "x-immutable": true
        },
        "sort_order": {
          "default": 0,
          "description": "Order of the attribute in its group",
          "type": "integer",
          "x-validation-rules": "It is a positive integer"
        },
        "table_configuration": {
          "description": "Configuration of the Table attribute (columns)",
          "items": {
            "properties": {
              "code": {
                "description": "Column code",
                "type": "string"
              },
              "data_type": {
                "description": "Column data type",
                "enum": [
                  "select",
                  "text",
                  "number",
                  "boolean"
                ],
                "type": "string"
              },
              "is_required_for_completeness": {
                "default": false,
                "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                "type": "boolean",
                "x-warning": "This value is always true for the first column in a table configuration"
              },
              "labels": {
                "default": {},
                "description": "Column labels for each locale",
                "properties": {
                  "localeCode": {
                    "description": "Column label for the locale `localeCode`",
                    "type": "string"
                  }
                },
                "type": "object",
                "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
              },
              "validations": {
                "default": {},
                "description": "User defined validation constraints on the cell content",
                "properties": {
                  "decimals_allowed": {
                    "description": "whether the value of a numeric cell can hold a decimal part",
                    "type": "boolean",
                    "x-validation-rules": "only for `number` data type columns"
                  },
                  "max": {
                    "description": "maximum value of a numeric cell",
                    "type": "number",
                    "x-validation-rules": "only for `number` data type columns"
                  },
                  "max_length": {
                    "description": "maximum length of a text cell",
                    "type": "number",
                    "x-validation-rules": "only for `text` data type columns"
                  },
                  "min": {
                    "description": "minimum value of a numeric cell",
                    "type": "number",
                    "x-validation-rules": "only for `number` data type columns"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "code",
              "data_type"
            ],
            "type": "object"
          },
          "type": "array",
          "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
          "x-warning": "Only for `pim_catalog_table` attribute type"
        },
        "type": {
          "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
          "enum": [
            "pim_catalog_identifier",
            "pim_catalog_metric",
            "pim_catalog_number",
            "pim_catalog_reference_data_multi_select",
            "pim_catalog_reference_data_simple_select",
            "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"
          ],
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "The type is one of the following values"
        },
        "unique": {
          "description": "Whether two values for the attribute cannot be the same",
          "type": "boolean",
          "x-immutable": true
        },
        "useable_as_grid_filter": {
          "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
          "type": "boolean"
        },
        "validation_regexp": {
          "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
          "type": "string",
          "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"
        },
        "validation_rule": {
          "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
          "type": "string",
          "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"
        },
        "wysiwyg_enabled": {
          "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
          "type": "boolean",
          "x-warning": "Only for `pim_catalog_textarea` attribute type"
        }
      },
      "required": [
        "code",
        "type",
        "group"
      ],
      "type": "object"
    },
    "AttributeGroup": {
      "example": {
        "attributes": [
          "sku",
          "name",
          "description",
          "response_time",
          "release_date",
          "price"
        ],
        "code": "marketing",
        "labels": {
          "en_US": "Marketing",
          "fr_FR": "Marketing"
        },
        "sort_order": 4
      },
      "properties": {
        "attributes": {
          "default": [],
          "description": "Attribute codes that compose the attribute group",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
        },
        "code": {
          "description": "Attribute group code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Attribute group labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Attribute group label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "sort_order": {
          "default": 0,
          "description": "Attribute group order among other attribute groups",
          "type": "integer",
          "x-validation-rules": "It is a positive integer"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "AttributeGroupList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "attributes": [
              "sku",
              "name",
              "description",
              "response_time",
              "release_date",
              "price"
            ],
            "code": "marketing",
            "labels": {
              "en_US": "Marketing",
              "fr_FR": "Marketing"
            },
            "sort_order": 4
          },
          "properties": {
            "attributes": {
              "default": [],
              "description": "Attribute codes that compose the attribute group",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is an existing attribute code, an attribute can only be in one attribute group"
            },
            "code": {
              "description": "Attribute group code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Attribute group labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Attribute group label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "sort_order": {
              "default": 0,
              "description": "Attribute group order among other attribute groups",
              "type": "integer",
              "x-validation-rules": "It is a positive integer"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "AttributeList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "allowed_extensions": [],
            "available_locales": [],
            "code": "release_date",
            "date_max": "2017-08-08T22:00:00",
            "date_min": "2017-06-28T08:00:00",
            "decimals_allowed": null,
            "default_metric_unit": null,
            "default_value": null,
            "group": "marketing",
            "group_labels": {
              "en_US": "Marketing",
              "fr_FR": "Marketing"
            },
            "labels": {
              "en_US": "Sale date",
              "fr_FR": "Date des soldes"
            },
            "localizable": false,
            "max_characters": null,
            "max_file_size": null,
            "metric_family": null,
            "minimum_input_length": null,
            "negative_allowed": null,
            "number_max": null,
            "number_min": null,
            "reference_data_name": null,
            "scopable": false,
            "sort_order": 1,
            "type": "pim_catalog_date",
            "unique": false,
            "useable_as_grid_filter": true,
            "validation_regexp": null,
            "validation_rule": null,
            "wysiwyg_enabled": null
          },
          "properties": {
            "allowed_extensions": {
              "description": "Extensions allowed when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
            },
            "available_locales": {
              "description": "To make the attribute locale specfic, specify here for which locales it is specific",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is an existing and activated locale"
            },
            "code": {
              "description": "Attribute code",
              "type": "string",
              "x-immutable": true
            },
            "date_max": {
              "description": "Maximum date allowed when the attribute type is `pim_catalog_date`",
              "format": "date-time",
              "type": "string",
              "x-validation-rules": "The datetime format follows the ISO-8601 norm",
              "x-warning": "Only for `pim_catalog_date` attribute type"
            },
            "date_min": {
              "description": "Minimum date allowed when the attribute type is `pim_catalog_date`",
              "format": "date-time",
              "type": "string",
              "x-validation-rules": "The datetime format follows the ISO-8601 norm",
              "x-warning": "Only for `pim_catalog_date` attribute type"
            },
            "decimals_allowed": {
              "description": "Whether decimals are allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
              "type": "boolean",
              "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
            },
            "default_metric_unit": {
              "description": "Default metric unit when the attribute type is `pim_catalog_metric`",
              "type": "string",
              "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
              "x-warning": "Only for `pim_catalog_metric` attribute type"
            },
            "default_value": {
              "description": "Default value for a Yes/No attribute, applied when creating a new product or product model (only available since the 5.0)",
              "type": "boolean",
              "x-from-version": "5.0",
              "x-warning": "Only for `pim_catalog_boolean` attribute type"
            },
            "group": {
              "description": "Attribute group",
              "type": "string",
              "x-validation-rules": "It is the code of an existing group"
            },
            "group_labels": {
              "default": {},
              "description": "Group labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Group label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-read-only": true,
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "labels": {
              "default": {},
              "description": "Attribute labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Attribute label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "localizable": {
              "default": false,
              "description": "Whether the attribute is localizable, i.e. can have one value by locale",
              "type": "boolean",
              "x-immutable": true
            },
            "max_characters": {
              "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`",
              "type": "integer",
              "x-warning": "Only for `pim_catalog_text`, `pim_catalog_textarea` or `pim_catalog_identifier` attribute types"
            },
            "max_file_size": {
              "description": "Max file size in MB when the attribute type is `pim_catalog_file` or `pim_catalog_image`",
              "type": "string",
              "x-warning": "Only for `pim_catalog_file` or `pim_catalog_image` attribute types"
            },
            "metric_family": {
              "description": "Metric family when the attribute type is `pim_catalog_metric`",
              "type": "string",
              "x-immutable": true,
              "x-validation-rules": "Required for `pim_catalog_metric` attribute type",
              "x-warning": "Only for `pim_catalog_metric` attribute type"
            },
            "negative_allowed": {
              "description": "Whether negative values are allowed when the attribute type is `pim_catalog_metric` or `pim_catalog_number`",
              "type": "boolean",
              "x-warning": "Only for `pim_catalog_metric` or `pim_catalog_number` attribute types"
            },
            "number_max": {
              "description": "Maximum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
              "type": "string",
              "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
            },
            "number_min": {
              "description": "Minimum integer value allowed when the attribute type is `pim_catalog_metric`, `pim_catalog_price` or `pim_catalog_number`",
              "type": "string",
              "x-warning": "Only for `pim_catalog_metric`, `pim_catalog_price_collection` or `pim_catalog_number` attribute types"
            },
            "reference_data_name": {
              "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`",
              "type": "string",
              "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"
            },
            "scopable": {
              "default": false,
              "description": "Whether the attribute is scopable, i.e. can have one value by channel",
              "type": "boolean",
              "x-immutable": true
            },
            "sort_order": {
              "default": 0,
              "description": "Order of the attribute in its group",
              "type": "integer",
              "x-validation-rules": "It is a positive integer"
            },
            "table_configuration": {
              "description": "Configuration of the Table attribute (columns)",
              "items": {
                "properties": {
                  "code": {
                    "description": "Column code",
                    "type": "string"
                  },
                  "data_type": {
                    "description": "Column data type",
                    "enum": [
                      "select",
                      "text",
                      "number",
                      "boolean"
                    ],
                    "type": "string"
                  },
                  "is_required_for_completeness": {
                    "default": false,
                    "description": "Defines if the column should be entirely filled for the attribute to be considered complete",
                    "type": "boolean",
                    "x-warning": "This value is always true for the first column in a table configuration"
                  },
                  "labels": {
                    "default": {},
                    "description": "Column labels for each locale",
                    "properties": {
                      "localeCode": {
                        "description": "Column label for the locale `localeCode`",
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                  },
                  "validations": {
                    "default": {},
                    "description": "User defined validation constraints on the cell content",
                    "properties": {
                      "decimals_allowed": {
                        "description": "whether the value of a numeric cell can hold a decimal part",
                        "type": "boolean",
                        "x-validation-rules": "only for `number` data type columns"
                      },
                      "max": {
                        "description": "maximum value of a numeric cell",
                        "type": "number",
                        "x-validation-rules": "only for `number` data type columns"
                      },
                      "max_length": {
                        "description": "maximum length of a text cell",
                        "type": "number",
                        "x-validation-rules": "only for `text` data type columns"
                      },
                      "min": {
                        "description": "minimum value of a numeric cell",
                        "type": "number",
                        "x-validation-rules": "only for `number` data type columns"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "code",
                  "data_type"
                ],
                "type": "object"
              },
              "type": "array",
              "x-validation-rules": "Required only for `pim_catalog_table` attribute type",
              "x-warning": "Only for `pim_catalog_table` attribute type"
            },
            "type": {
              "description": "Attribute type. See <a href='/concepts/catalog-structure.html#attribute'>type</a> section for more details.",
              "enum": [
                "pim_catalog_identifier",
                "pim_catalog_metric",
                "pim_catalog_number",
                "pim_catalog_reference_data_multi_select",
                "pim_catalog_reference_data_simple_select",
                "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"
              ],
              "type": "string",
              "x-immutable": true,
              "x-validation-rules": "The type is one of the following values"
            },
            "unique": {
              "description": "Whether two values for the attribute cannot be the same",
              "type": "boolean",
              "x-immutable": true
            },
            "useable_as_grid_filter": {
              "description": "Whether the attribute can be used as a filter for the product grid in the PIM user interface",
              "type": "boolean"
            },
            "validation_regexp": {
              "description": "Regexp expression used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
              "type": "string",
              "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"
            },
            "validation_rule": {
              "description": "Validation rule type used to validate any attribute value when the attribute type is `pim_catalog_text` or `pim_catalog_identifier`",
              "type": "string",
              "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"
            },
            "wysiwyg_enabled": {
              "description": "Whether the WYSIWYG interface is shown when the attribute type is `pim_catalog_textarea`",
              "type": "boolean",
              "x-warning": "Only for `pim_catalog_textarea` attribute type"
            }
          },
          "required": [
            "code",
            "type",
            "group"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "AttributeOption": {
      "example": {
        "attribute": "a_simple_select",
        "code": "black",
        "labels": {
          "en_US": "Black",
          "fr_FR": "Noir"
        },
        "sort_order": 2
      },
      "properties": {
        "attribute": {
          "description": "Code of attribute related to the attribute option",
          "type": "string",
          "x-validation-rules": "It is the same attribute code as the one given as path parameter"
        },
        "code": {
          "description": "Code of option",
          "type": "string"
        },
        "labels": {
          "default": {},
          "description": "Attribute option labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Attribute option label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "sort_order": {
          "description": "Order of attribute option",
          "type": "integer",
          "x-validation-rules": "It is a positive integer"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "AttributeOptionList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "attribute": "a_simple_select",
            "code": "black",
            "labels": {
              "en_US": "Black",
              "fr_FR": "Noir"
            },
            "sort_order": 2
          },
          "properties": {
            "attribute": {
              "description": "Code of attribute related to the attribute option",
              "type": "string",
              "x-validation-rules": "It is the same attribute code as the one given as path parameter"
            },
            "code": {
              "description": "Code of option",
              "type": "string"
            },
            "labels": {
              "default": {},
              "description": "Attribute option labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Attribute option label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "sort_order": {
              "description": "Order of attribute option",
              "type": "integer",
              "x-validation-rules": "It is a positive integer"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "Category": {
      "example": {
        "code": "winter_collection",
        "labels": {
          "en_US": "Winter collection",
          "fr_FR": "Collection hiver"
        },
        "parent": null,
        "position": 1,
        "updated": "2021-05-22T12:48:00+02:00",
        "values": {
          "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
            "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
            "channel": "ecommerce",
            "data": "<p>Winter collection description</p>\n",
            "locale": "en_US",
            "type": "textarea"
          }
        }
      },
      "properties": {
        "code": {
          "description": "Category code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Category labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Category label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "parent": {
          "default": "null",
          "description": "Category code of the parent's category",
          "type": "string",
          "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
        },
        "position": {
          "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
          "type": "integer",
          "x-read-only": true
        },
        "updated": {
          "description": "Date of the last update",
          "format": "dateTime",
          "type": "string",
          "x-read-only": true
        },
        "values": {
          "default": null,
          "description": "Attribute values",
          "properties": {
            "attributeCode|attributeUuid|channelCode|localeCode": {
              "items": {
                "properties": {
                  "attribute_code": {
                    "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                    "type": "string"
                  },
                  "channel": {
                    "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                    "type": "string"
                  },
                  "data": {
                    "description": "Attribute value",
                    "type": "object"
                  },
                  "locale": {
                    "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                    "type": "string"
                  },
                  "type": {
                    "description": "The attribute type",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-read-only": true
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "CategoryList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "winter_collection",
            "labels": {
              "en_US": "Winter collection",
              "fr_FR": "Collection hiver"
            },
            "parent": null,
            "position": 1,
            "updated": "2021-05-22T12:48:00+02:00",
            "values": {
              "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26|ecommerce|en_US": {
                "attribute_code": "description|96b88bf4-c2b7-4b64-a1f9-5d4876c02c26",
                "channel": "ecommerce",
                "data": "<p>Winter collection description</p>\n",
                "locale": "en_US",
                "type": "textarea"
              }
            }
          },
          "properties": {
            "code": {
              "description": "Category code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Category labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Category label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "parent": {
              "default": "null",
              "description": "Category code of the parent's category",
              "type": "string",
              "x-validation-rules": "&bull; It is either equal to `null` or to an existing category code. &#10;&bull; If equal to an existing category code, it cannot reference itself."
            },
            "position": {
              "description": "Position of the category in its level, start from 1 (only available since the 7.0 version and when query parameter \"with_position\" is set to \"true\")",
              "type": "integer",
              "x-read-only": true
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-read-only": true
            },
            "values": {
              "default": null,
              "description": "Attribute values",
              "properties": {
                "attributeCode|attributeUuid|channelCode|localeCode": {
                  "items": {
                    "properties": {
                      "attribute_code": {
                        "description": "The attribute code with its uuid (attributeCode|attributeUuid)",
                        "type": "string"
                      },
                      "channel": {
                        "description": "<a href='api-reference.html#Channel'>Channel</a> code of the attribute value",
                        "type": "string"
                      },
                      "data": {
                        "description": "Attribute value",
                        "type": "object"
                      },
                      "locale": {
                        "description": "<a href='api-reference.html#Locale'>Locale</a> code of the attribute value",
                        "type": "string"
                      },
                      "type": {
                        "description": "The attribute type",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-read-only": true
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "Channel": {
      "example": {
        "category_tree": "master",
        "code": "ecommerce",
        "conversion_units": {
          "weight": "KILOGRAM"
        },
        "currencies": [
          "USD",
          "EUR"
        ],
        "labels": {
          "de_DE": "Ecommerce",
          "en_US": "Ecommerce",
          "fr_FR": "Ecommerce"
        },
        "locales": [
          "de_DE",
          "en_US",
          "fr_FR"
        ]
      },
      "properties": {
        "category_tree": {
          "description": "Code of the category tree linked to the channel",
          "type": "string",
          "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
        },
        "code": {
          "description": "Channel code",
          "type": "string",
          "x-immutable": true
        },
        "conversion_units": {
          "description": "Units to which the given metric attributes should be converted when exporting products",
          "properties": {
            "attributeCode": {
              "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
        },
        "currencies": {
          "description": "Codes of activated currencies for the channel",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
        },
        "labels": {
          "default": {},
          "description": "Channel labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Channel label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "locales": {
          "description": "Codes of activated locales for the channel",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
        }
      },
      "required": [
        "code",
        "category_tree",
        "locales",
        "currencies"
      ],
      "type": "object"
    },
    "ChannelList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "category_tree": "master",
            "code": "ecommerce",
            "conversion_units": {
              "weight": "KILOGRAM"
            },
            "currencies": [
              "USD",
              "EUR"
            ],
            "labels": {
              "de_DE": "Ecommerce",
              "en_US": "Ecommerce",
              "fr_FR": "Ecommerce"
            },
            "locales": [
              "de_DE",
              "en_US",
              "fr_FR"
            ]
          },
          "properties": {
            "category_tree": {
              "description": "Code of the category tree linked to the channel",
              "type": "string",
              "x-validation-rules": "It is the code of an existing category code that is a tree (a category without parent)"
            },
            "code": {
              "description": "Channel code",
              "type": "string",
              "x-immutable": true
            },
            "conversion_units": {
              "description": "Units to which the given metric attributes should be converted when exporting products",
              "properties": {
                "attributeCode": {
                  "description": "Conversion unit code used to convert the values of the attribute `attributeCode` when exporting via the channel",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; The `attributeCode` is the code of an existing attribute whose type is `pim_catalog_metric` &#10;&bull; The strings are existing unit codes."
            },
            "currencies": {
              "description": "Codes of activated currencies for the channel",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "&bull; Each string of the array is an existing currency code &#10;&bull; At least one currency in the array"
            },
            "labels": {
              "default": {},
              "description": "Channel labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Channel label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "locales": {
              "description": "Codes of activated locales for the channel",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "&bull; Each string of the array is an existing locale code &#10;&bull; At least one locale in the array"
            }
          },
          "required": [
            "code",
            "category_tree",
            "locales",
            "currencies"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "Currency": {
      "example": {
        "code": "EUR",
        "enabled": true
      },
      "properties": {
        "code": {
          "description": "Currency code",
          "type": "string",
          "x-immutable": true
        },
        "enabled": {
          "description": "Whether the currency is enabled",
          "type": "boolean"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "CurrencyList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "EUR",
            "enabled": true
          },
          "properties": {
            "code": {
              "description": "Currency code",
              "type": "string",
              "x-immutable": true
            },
            "enabled": {
              "description": "Whether the currency is enabled",
              "type": "boolean"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "DeprecatedAsset": {
      "example": {
        "categories": [
          "tshirts_assets"
        ],
        "code": "tshirt_artemis_main_picture",
        "description": "The main picture of the Artemis t-shirt",
        "end_of_use": "2019-09-01T00:00:00+0200",
        "localizable": false,
        "reference_files": [
          {
            "_link": {
              "download": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
              },
              "self": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
              }
            },
            "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
            "locale": null
          }
        ],
        "tags": [
          "tshirts",
          "red",
          "summer"
        ],
        "variation_files": [
          {
            "_link": {
              "download": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
              },
              "self": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
              }
            },
            "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
            "locale": null,
            "scope": "e_commerce"
          },
          {
            "_link": {
              "download": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
              },
              "self": {
                "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
              }
            },
            "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
            "locale": null,
            "scope": "print"
          }
        ]
      },
      "properties": {
        "categories": {
          "default": [],
          "description": "Codes of the PAM asset categories in which the asset is classified",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing asset category code"
        },
        "code": {
          "description": "PAM asset code",
          "type": "string",
          "x-immutable": true
        },
        "description": {
          "default": null,
          "description": "Description of the PAM asset",
          "type": "string"
        },
        "end_of_use": {
          "default": null,
          "description": "Date on which the PAM asset expire",
          "format": "dateTime",
          "type": "string",
          "x-validation-rules": "The date follows the ISO 8601 format"
        },
        "localizable": {
          "default": false,
          "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
          "type": "boolean",
          "x-immutable": true
        },
        "reference_files": {
          "description": "Reference files of the PAM asset",
          "items": {
            "properties": {
              "_link": {
                "description": "Links to get and download the reference file",
                "properties": {
                  "download": {
                    "properties": {
                      "href": {
                        "description": "URI to download the reference file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "self": {
                    "properties": {
                      "href": {
                        "description": "URI of the reference file entity",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "code": {
                "description": "Code of the reference file",
                "type": "string"
              },
              "locale": {
                "description": "Locale code of the reference file",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array",
          "x-read-only": true
        },
        "tags": {
          "default": [],
          "description": "Tags of the PAM asset",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "variation_files": {
          "description": "Variations of the PAM asset",
          "items": {
            "properties": {
              "_link": {
                "description": "Links to get and download the variation file",
                "properties": {
                  "download": {
                    "properties": {
                      "href": {
                        "description": "URI to download the variation file",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "self": {
                    "properties": {
                      "href": {
                        "description": "URI of the variation entity",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "code": {
                "description": "Code of the variation",
                "type": "string"
              },
              "locale": {
                "description": "Locale code of the variation",
                "type": "string"
              },
              "scope": {
                "description": "Channel code of the variation",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array",
          "x-read-only": true
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "DeprecatedAssetCategory": {
      "example": {
        "code": "front_views",
        "labels": {
          "en_US": "Front views",
          "fr_FR": "Vues de face"
        },
        "parent": "pictures"
      },
      "properties": {
        "code": {
          "description": "PAM asset category code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "PAM asset category labels for each locale",
          "properties": {
            "localeCode": {
              "description": "PAM asset category label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "parent": {
          "default": "null",
          "description": "PAM ssset category code of the parent's asset category",
          "type": "string",
          "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "DeprecatedAssetCategoryList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "front_views",
            "labels": {
              "en_US": "Front views",
              "fr_FR": "Vues de face"
            },
            "parent": "pictures"
          },
          "properties": {
            "code": {
              "description": "PAM asset category code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "PAM asset category labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "PAM asset category label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "parent": {
              "default": "null",
              "description": "PAM ssset category code of the parent's asset category",
              "type": "string",
              "x-validation-rules": "&bull; It is either equal to `null` or to an existing asset category code. &#10;&bull; If equal to an existing asset category code, it cannot reference itself."
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "DeprecatedAssetList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "categories": [
              "tshirts_assets"
            ],
            "code": "tshirt_artemis_main_picture",
            "description": "The main picture of the Artemis t-shirt",
            "end_of_use": "2019-09-01T00:00:00+0200",
            "localizable": false,
            "reference_files": [
              {
                "_link": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
                  },
                  "self": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale"
                  }
                },
                "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
                "locale": null
              }
            ],
            "tags": [
              "tshirts",
              "red",
              "summer"
            ],
            "variation_files": [
              {
                "_link": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
                  },
                  "self": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale"
                  }
                },
                "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
                "locale": null,
                "scope": "e_commerce"
              },
              {
                "_link": {
                  "download": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale/download"
                  },
                  "self": {
                    "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/print/no_locale"
                  }
                },
                "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_print.jpg",
                "locale": null,
                "scope": "print"
              }
            ]
          },
          "properties": {
            "categories": {
              "default": [],
              "description": "Codes of the PAM asset categories in which the asset is classified",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing asset category code"
            },
            "code": {
              "description": "PAM asset code",
              "type": "string",
              "x-immutable": true
            },
            "description": {
              "default": null,
              "description": "Description of the PAM asset",
              "type": "string"
            },
            "end_of_use": {
              "default": null,
              "description": "Date on which the PAM asset expire",
              "format": "dateTime",
              "type": "string",
              "x-validation-rules": "The date follows the ISO 8601 format"
            },
            "localizable": {
              "default": false,
              "description": "Whether the asset is localized or not, meaning if you want to have different reference files for each of your locale",
              "type": "boolean",
              "x-immutable": true
            },
            "reference_files": {
              "description": "Reference files of the PAM asset",
              "items": {
                "properties": {
                  "_link": {
                    "description": "Links to get and download the reference file",
                    "properties": {
                      "download": {
                        "properties": {
                          "href": {
                            "description": "URI to download the reference file",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "self": {
                        "properties": {
                          "href": {
                            "description": "URI of the reference file entity",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "code": {
                    "description": "Code of the reference file",
                    "type": "string"
                  },
                  "locale": {
                    "description": "Locale code of the reference file",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array",
              "x-read-only": true
            },
            "tags": {
              "default": [],
              "description": "Tags of the PAM asset",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "variation_files": {
              "description": "Variations of the PAM asset",
              "items": {
                "properties": {
                  "_link": {
                    "description": "Links to get and download the variation file",
                    "properties": {
                      "download": {
                        "properties": {
                          "href": {
                            "description": "URI to download the variation file",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "self": {
                        "properties": {
                          "href": {
                            "description": "URI of the variation entity",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "code": {
                    "description": "Code of the variation",
                    "type": "string"
                  },
                  "locale": {
                    "description": "Locale code of the variation",
                    "type": "string"
                  },
                  "scope": {
                    "description": "Channel code of the variation",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array",
              "x-read-only": true
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "DeprecatedAssetReferenceFile": {
      "example": {
        "_link": {
          "download": {
            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/reference-files/no_locale/download"
          }
        },
        "code": "7/5/8/e/759e39d48va7b42a55002434fd3d7b6cf3189b7f_tshirt_artemis_main_picture.jpg",
        "locale": null
      },
      "properties": {
        "_link": {
          "description": "Links to get and download the reference file",
          "properties": {
            "download": {
              "properties": {
                "href": {
                  "description": "URI to download the reference file",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "code": {
          "description": "Code of the PAM asset reference file",
          "type": "string",
          "x-immutable": true
        },
        "locale": {
          "description": "Locale of the PAM asset reference file, equal to `null` if the asset is not localizable",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeprecatedAssetReferenceFileUploadWarning": {
      "properties": {
        "errors": {
          "items": {
            "properties": {
              "channel": {
                "description": "Channel for which the variation file generation failed",
                "type": "string"
              },
              "locale": {
                "description": "Locale for which the variation file generation failed",
                "type": "string"
              },
              "message": {
                "description": "Message explaining why the variation file generation failed",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "Message explaining the warning",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeprecatedAssetTag": {
      "example": {
        "code": "tshirt"
      },
      "properties": {
        "code": {
          "description": "PAM asset tag code",
          "type": "string",
          "x-immutable": true
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "DeprecatedAssetTagList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "tshirt"
          },
          "properties": {
            "code": {
              "description": "PAM asset tag code",
              "type": "string",
              "x-immutable": true
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "DeprecatedAssetVariationFile": {
      "example": {
        "_link": {
          "download": {
            "href": "https://demo.akeneo.com/api/rest/v1/assets/tshirt_artemis_main_picture/variation-files/ecommerce/no_locale/download"
          }
        },
        "code": "7/5/8/e/758e39d48va7b42a55001434fd3d7b6cf3189b7f_tshirt_artemis_main_picture_ecommerce.jpg",
        "locale": null,
        "scope": "ecommerce"
      },
      "properties": {
        "_link": {
          "description": "Links to get and download the reference file",
          "properties": {
            "download": {
              "properties": {
                "href": {
                  "description": "URI to download the variation file",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "code": {
          "description": "Code of the PAM asset variation file",
          "type": "string",
          "x-immutable": true
        },
        "locale": {
          "description": "Locale of the PAM asset variation file, equal to `null` if the asset is not localizable",
          "type": "string"
        },
        "scope": {
          "description": "Channel of the PAM asset variation file",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Error": {
      "properties": {
        "code": {
          "description": "HTTP status code",
          "type": "integer"
        },
        "message": {
          "description": "Message explaining the error",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ErrorByLine": {
      "properties": {
        "code": {
          "description": "Resource code, only filled when the resource is not a product",
          "type": "string"
        },
        "identifier": {
          "description": "Resource identifier, only filled when the resource is a product",
          "type": "string"
        },
        "line": {
          "description": "Line number",
          "type": "integer"
        },
        "message": {
          "description": "Message explaining the error",
          "type": "string"
        },
        "status_code": {
          "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ErrorByLineProductUuid": {
      "properties": {
        "line": {
          "description": "Line number",
          "type": "integer"
        },
        "message": {
          "description": "Message explaining the error",
          "type": "string"
        },
        "status_code": {
          "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
          "type": "integer"
        },
        "uuid": {
          "description": "Product uuid",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ErrorByObject": {
      "items": {
        "properties": {
          "code": {
            "description": "Resource code",
            "type": "string"
          },
          "message": {
            "description": "Message explaining the error",
            "type": "string"
          },
          "status_code": {
            "description": "HTTP status code, see <a href=\"/documentation/responses.html#client-errors\">Client errors</a> to understand the meaning of each code",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "Family": {
      "example": {
        "attribute_as_image": "picture",
        "attribute_as_label": "name",
        "attribute_requirements": {
          "ecommerce": [
            "sku",
            "name",
            "description",
            "price",
            "color"
          ],
          "tablet": [
            "sku",
            "name",
            "description",
            "price"
          ]
        },
        "attributes": [
          "sku",
          "name",
          "description",
          "price",
          "color",
          "picture"
        ],
        "code": "caps",
        "labels": {
          "en_US": "Caps",
          "fr_FR": "Casquettes"
        }
      },
      "properties": {
        "attribute_as_image": {
          "default": "null",
          "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
          "type": "string",
          "x-from-version": "2.0",
          "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
        },
        "attribute_as_label": {
          "description": "Attribute code used as label",
          "type": "string",
          "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
        },
        "attribute_requirements": {
          "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
          "properties": {
            "channelCode": {
              "items": {
                "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
        },
        "attributes": {
          "default": [],
          "description": "Attributes codes that compose the family",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is an existing attribute code"
        },
        "code": {
          "description": "Family code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Family labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Family label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        }
      },
      "required": [
        "code",
        "attribute_as_label"
      ],
      "type": "object"
    },
    "FamilyList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "attribute_as_image": "picture",
            "attribute_as_label": "name",
            "attribute_requirements": {
              "ecommerce": [
                "sku",
                "name",
                "description",
                "price",
                "color"
              ],
              "tablet": [
                "sku",
                "name",
                "description",
                "price"
              ]
            },
            "attributes": [
              "sku",
              "name",
              "description",
              "price",
              "color",
              "picture"
            ],
            "code": "caps",
            "labels": {
              "en_US": "Caps",
              "fr_FR": "Casquettes"
            }
          },
          "properties": {
            "attribute_as_image": {
              "default": "null",
              "description": "Attribute code used as the main picture in the user interface (only since v2.0)",
              "type": "string",
              "x-from-version": "2.0",
              "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is `pim_catalog_image`. Since v2.1, you can also use a `pim_assets_collection` attribute type"
            },
            "attribute_as_label": {
              "description": "Attribute code used as label",
              "type": "string",
              "x-validation-rules": "&bull; It is equal to an existing attribute code &#10;&bull; This attribute code is in the array of the property `attributes` &#10;&bull; The type of this attribute is either `pim_catalog_identifier` or `pim_catalog_text`"
            },
            "attribute_requirements": {
              "description": "Attributes codes of the family that are required for the completeness calculation for each channel",
              "properties": {
                "channelCode": {
                  "items": {
                    "description": "Attributes codes of the family that are required for the completeness calculation for the channel `channelCode`",
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; Each string of these arrays is an existing attribute code &#10;&bull; These attribute codes are in the array of the property `attributes` &#10;&bull; The `channelCode` is the code of an existing and activated channel"
            },
            "attributes": {
              "default": [],
              "description": "Attributes codes that compose the family",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is an existing attribute code"
            },
            "code": {
              "description": "Family code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Family labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Family label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            }
          },
          "required": [
            "code",
            "attribute_as_label"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "FamilyVariant": {
      "example": {
        "code": "shoesVariant",
        "labels": {
          "en_US": "Shoes variant",
          "fr_FR": "Variante de chaussures"
        },
        "variant_attribute_sets": [
          {
            "attributes": [
              "color",
              "material"
            ],
            "axes": [
              "color"
            ],
            "level": 1
          },
          {
            "attributes": [
              "sku",
              "size"
            ],
            "axes": [
              "size"
            ],
            "level": 2
          }
        ]
      },
      "properties": {
        "code": {
          "description": "Family variant code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Family variant labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Family variant label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "variant_attribute_sets": {
          "description": "Attributes distribution according to the enrichment level",
          "items": {
            "description": "Enrichment level",
            "properties": {
              "attributes": {
                "default": [],
                "description": "Codes of attributes bind to this enrichment level",
                "items": {
                  "type": "string"
                },
                "type": "array",
                "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
              },
              "axes": {
                "default": [],
                "description": "Codes of attributes used as variant axes",
                "items": {
                  "type": "string"
                },
                "type": "array",
                "x-immutable": true,
                "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
              },
              "level": {
                "description": "Enrichment level",
                "type": "integer",
                "x-immutable": true,
                "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
              }
            },
            "required": [
              "level",
              "axes"
            ],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "code",
        "variant_attribute_sets"
      ],
      "type": "object"
    },
    "FamilyVariantList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "shoesVariant",
            "labels": {
              "en_US": "Shoes variant",
              "fr_FR": "Variante de chaussures"
            },
            "variant_attribute_sets": [
              {
                "attributes": [
                  "color",
                  "material"
                ],
                "axes": [
                  "color"
                ],
                "level": 1
              },
              {
                "attributes": [
                  "sku",
                  "size"
                ],
                "axes": [
                  "size"
                ],
                "level": 2
              }
            ]
          },
          "properties": {
            "code": {
              "description": "Family variant code",
              "type": "string",
              "x-immutable": true
            },
            "labels": {
              "default": {},
              "description": "Family variant labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Family variant label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            },
            "variant_attribute_sets": {
              "description": "Attributes distribution according to the enrichment level",
              "items": {
                "description": "Enrichment level",
                "properties": {
                  "attributes": {
                    "default": [],
                    "description": "Codes of attributes bind to this enrichment level",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-validation-rules": "&bull; Should be an array of existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Attributes used as attribute in one level cannot be used as axes or as attributes in the other level &#10;&bull; Attributes that are `unique value` or `identifier` are automatically distributed to the lower level."
                  },
                  "axes": {
                    "default": [],
                    "description": "Codes of attributes used as variant axes",
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "x-immutable": true,
                    "x-validation-rules": "&bull; Should be an array of maximum 5 existing attribute codes &#10;&bull; These attributes should belong to the family of the family variant &#10;&bull; Only the following attribute types are allowed: `simple select`, `multi select`, `reference data`, `metric`, `boolean` &#10;&bull; Attributes cannot be scopable, nor localizable nor locale specific &#10;&bull; Attributes used as axes in one level cannot be used as axes or as attributes in the other level"
                  },
                  "level": {
                    "description": "Enrichment level",
                    "type": "integer",
                    "x-immutable": true,
                    "x-validation-rules": "&bull; Number representing the level of the attribute set. &#10;&bull; It should be equal to 1 or 2. &#10;&bull; If you specify the level 2, you have to specify the level 1 as well."
                  }
                },
                "required": [
                  "level",
                  "axes"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "code",
            "variant_attribute_sets"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ItemList": {
      "properties": {
        "_links": {
          "properties": {
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the resource",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "Locale": {
      "example": {
        "code": "en_US",
        "enable": true
      },
      "properties": {
        "code": {
          "description": "Locale code",
          "type": "string",
          "x-immutable": true
        },
        "enabled": {
          "default": false,
          "description": "Whether the locale is enabled",
          "type": "boolean"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "LocaleList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "en_US",
            "enable": true
          },
          "properties": {
            "code": {
              "description": "Locale code",
              "type": "string",
              "x-immutable": true
            },
            "enabled": {
              "default": false,
              "description": "Whether the locale is enabled",
              "type": "boolean"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "MeasureFamily": {
      "example": {
        "code": "Area",
        "standard": "SQUARE_METER",
        "units": [
          {
            "code": "SQUARE_MILLIMETER",
            "convert": {
              "mul": "0.001"
            },
            "symbol": "mm²"
          },
          {
            "code": "SQUARE_CENTIMETER",
            "convert": {
              "mul": "0.001"
            },
            "symbol": "cm²"
          }
        ]
      },
      "properties": {
        "code": {
          "description": "Measure family code",
          "type": "string",
          "x-immutable": true
        },
        "standard": {
          "description": "Measure family standard",
          "type": "string",
          "x-immutable": true
        },
        "units": {
          "description": "Family units",
          "items": {
            "properties": {
              "code": {
                "description": "Measure code",
                "type": "string",
                "x-immutable": true
              },
              "convert": {
                "description": "Mathematic operation to convert the unit into the standard unit",
                "type": "object"
              },
              "symbol": {
                "description": "Measure symbol",
                "type": "string",
                "x-immutable": true
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "MeasureFamilyList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "Area",
            "standard": "SQUARE_METER",
            "units": [
              {
                "code": "SQUARE_MILLIMETER",
                "convert": {
                  "mul": "0.001"
                },
                "symbol": "mm²"
              },
              {
                "code": "SQUARE_CENTIMETER",
                "convert": {
                  "mul": "0.001"
                },
                "symbol": "cm²"
              }
            ]
          },
          "properties": {
            "code": {
              "description": "Measure family code",
              "type": "string",
              "x-immutable": true
            },
            "standard": {
              "description": "Measure family standard",
              "type": "string",
              "x-immutable": true
            },
            "units": {
              "description": "Family units",
              "items": {
                "properties": {
                  "code": {
                    "description": "Measure code",
                    "type": "string",
                    "x-immutable": true
                  },
                  "convert": {
                    "description": "Mathematic operation to convert the unit into the standard unit",
                    "type": "object"
                  },
                  "symbol": {
                    "description": "Measure symbol",
                    "type": "string",
                    "x-immutable": true
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "MeasurementFamily": {
      "example": {
        "code": "AREA",
        "labels": {
          "en_US": "Area",
          "fr_FR": "Surface"
        },
        "standard_unit_code": "SQUARE_METER",
        "units": {
          "SQUARE_CENTIMETER": {
            "code": "SQUARE_CENTIMETER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "0.0001"
              }
            ],
            "labels": {
              "en_US": "Square centimeter",
              "fr_FR": "Centimètre carré"
            },
            "symbol": "cm²"
          },
          "SQUARE_METER": {
            "code": "SQUARE_METER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "1"
              }
            ],
            "labels": {
              "en_US": "Square meter",
              "fr_FR": "Mètre carré"
            },
            "symbol": "m²"
          },
          "SQUARE_MILLIMETER": {
            "code": "SQUARE_MILLIMETER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "0.000001"
              }
            ],
            "labels": {
              "en_US": "Square millimeter",
              "fr_FR": "Millimètre carré"
            },
            "symbol": "mm²"
          }
        }
      },
      "properties": {
        "code": {
          "description": "Measurement family code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Measurement family labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Measurement family label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "standard_unit_code": {
          "description": "Unit code used as the standard unit for this measurement family",
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "The unit code exists in the list of the property `units`"
        },
        "units": {
          "description": "Measurement units for this family with their conversion operations. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
          "properties": {
            "unitCode": {
              "properties": {
                "code": {
                  "description": "Measurement unit code. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "type": "string",
                  "x-immutable": true
                },
                "convert_from_standard": {
                  "description": "Calculation to convert the unit from the standard unit. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "items": {
                    "properties": {
                      "operator": {
                        "description": "Operator for a conversion operation to convert the unit in the standard unit",
                        "enum": [
                          "mul",
                          "div",
                          "add",
                          "sub"
                        ],
                        "type": "string",
                        "x-validation-rules": "The operator is one of the following values"
                      },
                      "value": {
                        "description": "Value for a conversion operation to convert the unit in the standard unit",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; The conversion operations can't be updated when a product attribute is linked to this measurement family &#10;&bull; At least one conversion operation per unit is required"
                },
                "labels": {
                  "default": {},
                  "description": "Unit labels for each locale. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "properties": {
                    "localeCode": {
                      "description": "Unit label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "symbol": {
                  "description": "Measurement unit symbol. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "A unit can't be added when a product attribute is linked to this measurement family"
        }
      },
      "required": [
        "code",
        "standard_unit_code",
        "units"
      ],
      "type": "object"
    },
    "MeasurementFamilyList": {
      "example": {
        "code": "AREA",
        "labels": {
          "en_US": "Area",
          "fr_FR": "Surface"
        },
        "standard_unit_code": "SQUARE_METER",
        "units": {
          "SQUARE_CENTIMETER": {
            "code": "SQUARE_CENTIMETER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "0.0001"
              }
            ],
            "labels": {
              "en_US": "Square centimeter",
              "fr_FR": "Centimètre carré"
            },
            "symbol": "cm²"
          },
          "SQUARE_METER": {
            "code": "SQUARE_METER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "1"
              }
            ],
            "labels": {
              "en_US": "Square meter",
              "fr_FR": "Mètre carré"
            },
            "symbol": "m²"
          },
          "SQUARE_MILLIMETER": {
            "code": "SQUARE_MILLIMETER",
            "convert_from_standard": [
              {
                "operator": "mul",
                "value": "0.000001"
              }
            ],
            "labels": {
              "en_US": "Square millimeter",
              "fr_FR": "Millimètre carré"
            },
            "symbol": "mm²"
          }
        }
      },
      "properties": {
        "code": {
          "description": "Measurement family code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Measurement family labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Measurement family label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "standard_unit_code": {
          "description": "Unit code used as the standard unit for this measurement family",
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "The unit code exists in the list of the property `units`"
        },
        "units": {
          "description": "Measurement units for this family with their conversion operations. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
          "properties": {
            "unitCode": {
              "properties": {
                "code": {
                  "description": "Measurement unit code. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "type": "string",
                  "x-immutable": true
                },
                "convert_from_standard": {
                  "description": "Calculation to convert the unit from the standard unit. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "items": {
                    "properties": {
                      "operator": {
                        "description": "Operator for a conversion operation to convert the unit in the standard unit",
                        "enum": [
                          "mul",
                          "div",
                          "add",
                          "sub"
                        ],
                        "type": "string",
                        "x-validation-rules": "The operator is one of the following values"
                      },
                      "value": {
                        "description": "Value for a conversion operation to convert the unit in the standard unit",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "x-validation-rules": "&bull; The conversion operations can't be updated when a product attribute is linked to this measurement family &#10;&bull; At least one conversion operation per unit is required"
                },
                "labels": {
                  "default": {},
                  "description": "Unit labels for each locale. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "properties": {
                    "localeCode": {
                      "description": "Unit label for the locale `localeCode`",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
                },
                "symbol": {
                  "description": "Measurement unit symbol. More details <a href='/concepts/target-market-settings.html#focus-on-the-units'>here</a>.",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "A unit can't be added when a product attribute is linked to this measurement family"
        }
      },
      "required": [
        "code",
        "standard_unit_code",
        "units"
      ],
      "type": "object"
    },
    "MediaFile": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "download": {
                  "properties": {
                    "href": {
                      "description": "URI to download the binaries of the media file",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-read-only": true
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
            "extension": "jpg",
            "mime_type": "image/jpeg",
            "original_filename": "10806799-1356.jpg",
            "size": 16070
          },
          "properties": {
            "code": {
              "description": "Media file code",
              "type": "string",
              "x-immutable": true
            },
            "extension": {
              "description": "Extension of the media file",
              "type": "string",
              "x-read-only": true
            },
            "mime_type": {
              "description": "Mime type of the media file",
              "type": "string",
              "x-read-only": true
            },
            "original_filename": {
              "description": "Original filename of the media file",
              "type": "string"
            },
            "size": {
              "description": "Size of the media file",
              "type": "integer",
              "x-read-only": true
            }
          },
          "type": "object"
        }
      ],
      "example": {
        "_links": {
          "download": {
            "href": "https://demo.akeneo.com/api/rest/v1/media-files/7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg/download"
          }
        },
        "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
        "extension": "jpg",
        "mime_type": "image/jpeg",
        "original_filename": "10806799-1356.jpg",
        "size": 16070
      }
    },
    "MediaFileItemList": {
      "properties": {
        "_links": {
          "properties": {
            "download": {
              "properties": {
                "href": {
                  "description": "URI to download the binaries of the media file",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "self": {
              "properties": {
                "href": {
                  "description": "URI to get the metadata of the media file",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "MediaFileList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "download": {
                  "properties": {
                    "href": {
                      "description": "URI to download the binaries of the media file",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI to get the metadata of the media file",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "7/5/8/e/758e39d48ea7b42a55091434fd3d8b6cf3189b7f_10806799_1356.jpg",
            "extension": "jpg",
            "mime_type": "image/jpeg",
            "original_filename": "10806799-1356.jpg",
            "size": 16070
          },
          "properties": {
            "code": {
              "description": "Media file code",
              "type": "string",
              "x-immutable": true
            },
            "extension": {
              "description": "Extension of the media file",
              "type": "string",
              "x-read-only": true
            },
            "mime_type": {
              "description": "Mime type of the media file",
              "type": "string",
              "x-read-only": true
            },
            "original_filename": {
              "description": "Original filename of the media file",
              "type": "string"
            },
            "size": {
              "description": "Size of the media file",
              "type": "integer",
              "x-read-only": true
            }
          },
          "type": "object"
        }
      ],
      "type": "object"
    },
    "Pagination": {
      "properties": {
        "_links": {
          "properties": {
            "first": {
              "properties": {
                "href": {
                  "description": "URI of the first page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "next": {
              "properties": {
                "href": {
                  "description": "URI of the next page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "previous": {
              "properties": {
                "href": {
                  "description": "URI of the previous page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the current page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "current_page": {
          "description": "Current page number",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Product": {
      "example": {
        "associations": {
          "PACK": {
            "groups": [],
            "product_models": [],
            "products": [
              "sunglass"
            ]
          }
        },
        "categories": [
          "summer_collection"
        ],
        "completenesses": [
          {
            "data": 10,
            "locale": "en_US",
            "scope": "ecommerce"
          },
          {
            "data": 20,
            "locale": "fr_FR",
            "scope": "ecommerce"
          },
          {
            "data": 30,
            "locale": "en_US",
            "scope": "tablet"
          },
          {
            "data": 40,
            "locale": "fr_FR",
            "scope": "tablet"
          }
        ],
        "created": "2016-06-23T18:24:44+02:00",
        "enabled": true,
        "family": "tshirt",
        "groups": [],
        "identifier": "top",
        "parent": null,
        "quality_scores": [
          {
            "data": "A",
            "locale": "en_US",
            "scope": "ecommerce"
          },
          {
            "data": "B",
            "locale": "fr_FR",
            "scope": "ecommerce"
          },
          {
            "data": "D",
            "locale": "en_US",
            "scope": "tablet"
          },
          {
            "data": "E",
            "locale": "fr_FR",
            "scope": "tablet"
          }
        ],
        "quantified_associations": {
          "PRODUCT_SET": {
            "product_models": [
              {
                "identifier": "model-biker-jacket-leather",
                "quantity": 2
              }
            ],
            "products": [
              {
                "identifier": "cap",
                "quantity": 2
              },
              {
                "identifier": "shoes",
                "quantity": 1
              }
            ]
          }
        },
        "updated": "2016-06-25T17:56:12+02:00",
        "values": {
          "collection": [
            {
              "data": [
                "winter_2016"
              ],
              "linked_data": {
                "winter_2016": {
                  "attribute": "collection",
                  "code": "winter_2016",
                  "labels": {
                    "en_US": "Winter 2016",
                    "fr_FR": "Hiver 2016"
                  }
                }
              },
              "locale": null,
              "scope": null
            }
          ],
          "color": [
            {
              "data": "black",
              "linked_data": {
                "attribute": "color",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                }
              },
              "locale": null,
              "scope": null
            }
          ],
          "description": [
            {
              "data": "Summer top",
              "locale": "en_US",
              "scope": "ecommerce"
            },
            {
              "data": "Top",
              "locale": "en_US",
              "scope": "tablet"
            },
            {
              "data": "Débardeur pour l'été",
              "locale": "fr_FR",
              "scope": "ecommerce"
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": "tablet"
            }
          ],
          "name": [
            {
              "data": "Top",
              "locale": "en_US",
              "scope": null
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": null
            }
          ],
          "price": [
            {
              "data": [
                {
                  "amount": "15.5",
                  "currency": "EUR"
                },
                {
                  "amount": "15",
                  "currency": "USD"
                }
              ],
              "locale": null,
              "scope": null
            }
          ],
          "size": [
            {
              "data": "m",
              "linked_data": {
                "attribute": "size",
                "code": "m",
                "labels": {
                  "en_US": "M",
                  "fr_FR": "M"
                }
              },
              "locale": null,
              "scope": null
            }
          ]
        }
      },
      "properties": {
        "associations": {
          "description": "Several associations related to groups, product models and/or other products, grouped by association types",
          "properties": {
            "associationTypeCode": {
              "properties": {
                "groups": {
                  "description": "Array of groups codes with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "product_models": {
                  "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-from-version": "2.1"
                },
                "products": {
                  "description": "Array of product identifiers with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
        },
        "categories": {
          "default": [],
          "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing category code"
        },
        "completenesses": {
          "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
          "items": {
            "properties": {
              "data": {
                "type": "integer"
              },
              "locale": {
                "type": "string"
              },
              "scope": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array",
          "x-from-version": "7.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "created": {
          "description": "Date of creation",
          "format": "dateTime",
          "type": "string",
          "x-immutable": true,
          "x-read-only": true
        },
        "enabled": {
          "default": true,
          "description": "Whether the product is enabled",
          "type": "boolean"
        },
        "family": {
          "default": "null only in the case of a non variant product",
          "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
          "type": "string",
          "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
        },
        "groups": {
          "default": [],
          "description": "Codes of the groups to which the product belong",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing group code"
        },
        "identifier": {
          "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
          "type": "string"
        },
        "metadata": {
          "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
          "properties": {
            "workflow_status": {
              "description": "Status of the product regarding the user permissions",
              "enum": [
                "read_only",
                "draft_in_progress",
                "proposal_waiting_for_approval",
                "working_copy"
              ],
              "type": "string"
            }
          },
          "type": "object",
          "x-from-version": "2.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "parent": {
          "default": "null",
          "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
          "type": "string",
          "x-from-version": "2.0",
          "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
        },
        "quality_scores": {
          "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
          "type": "object",
          "x-from-version": "5.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "quantified_associations": {
          "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
          "properties": {
            "quantifiedAssociationTypeCode": {
              "properties": {
                "product_models": {
                  "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                  "items": {
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "products": {
                  "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                  "items": {
                    "properties": {
                      "identifier": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-from-version": "5.0",
          "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
        },
        "updated": {
          "description": "Date of the last update",
          "format": "dateTime",
          "type": "string",
          "x-read-only": true
        },
        "uuid": {
          "description": "Product UUID",
          "type": "string",
          "x-from-version": "7.0"
        },
        "values": {
          "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
          "properties": {
            "attributeCode": {
              "items": {
                "properties": {
                  "data": {
                    "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                    "type": "object"
                  },
                  "linked_data": {
                    "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                    "properties": {
                      "attribute": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string"
                      },
                      "labels": {
                        "type": "object"
                      }
                    },
                    "type": "object",
                    "x-from-version": "5.0",
                    "x-read-only": true
                  },
                  "locale": {
                    "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                    "type": "string"
                  },
                  "scope": {
                    "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "Validation rules detailed in Product values section"
        }
      },
      "required": [
        "identifier"
      ],
      "type": "object"
    },
    "ProductExamples": {
      "x-1.7": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "identifier": "top",
              "quantified_associations": {
                "PRODUCT_SET": {
                  "products": [
                    {
                      "identifier": "cap",
                      "quantity": 2
                    },
                    {
                      "identifier": "shoes",
                      "quantity": 1
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "identifier": "cap",
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "identifier": "sweat",
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "values": {}
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
          }
        },
        "current_page": 3
      },
      "x-2.0": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "identifier": "top",
              "parent": null,
              "quantified_associations": {
                "PRODUCT_SET": {
                  "products": [
                    {
                      "identifier": "cap",
                      "quantity": 2
                    },
                    {
                      "identifier": "shoes",
                      "quantity": 1
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "identifier": "cap",
              "parent": null,
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "identifier": "sweat",
              "parent": null,
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "values": {}
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
          }
        },
        "current_page": 3
      },
      "x-2.1": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "identifier": "top",
              "parent": null,
              "quantified_associations": {
                "PRODUCT_SET": {
                  "product_models": [
                    {
                      "identifier": "model-biker-jacket-leather",
                      "quantity": 2
                    }
                  ],
                  "products": [
                    {
                      "identifier": "cap",
                      "quantity": 2
                    },
                    {
                      "identifier": "shoes",
                      "quantity": 1
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "identifier": "cap",
              "parent": null,
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "identifier": "sweat",
              "parent": null,
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "values": {}
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3"
          }
        },
        "current_page": 3
      },
      "x-5.0": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "identifier": "top",
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {
                "PRODUCT_SET": {
                  "product_models": [
                    {
                      "identifier": "model-biker-jacket-leather",
                      "quantity": 2
                    }
                  ],
                  "products": [
                    {
                      "identifier": "cap",
                      "quantity": 2
                    },
                    {
                      "identifier": "shoes",
                      "quantity": 1
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "linked_data": {
                      "winter_2016": {
                        "attribute": "collection",
                        "code": "winter_2016",
                        "labels": {
                          "en_US": "Winter 2016",
                          "fr_FR": "Hiver 2016"
                        }
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "linked_data": {
                      "attribute": "size",
                      "code": "m",
                      "labels": {
                        "en_US": "M",
                        "fr_FR": "M"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "identifier": "cap",
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "identifier": "sweat",
              "parent": null,
              "quality_scores": {},
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "values": {}
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3&with_quality_scores=true&with_attribute_options=true"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3&with_quality_scores=true&with_attribute_options=true"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3&with_quality_scores=true&with_attribute_options=true"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3&with_quality_scores=true&with_attribute_options=true"
          }
        },
        "current_page": 3
      },
      "x-SaaS": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/top"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "completenesses": [
                {
                  "data": 20,
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": 30,
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": 55,
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": 70,
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "identifier": "top",
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {
                "PRODUCT_SET": {
                  "product_models": [
                    {
                      "identifier": "model-biker-jacket-leather",
                      "quantity": 2
                    }
                  ],
                  "products": [
                    {
                      "identifier": "cap",
                      "quantity": 2
                    },
                    {
                      "identifier": "shoes",
                      "quantity": 1
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "uuid": "aaf518b2-f91e-40f1-a53a-78ce5e81a6f9",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "linked_data": {
                      "winter_2016": {
                        "attribute": "collection",
                        "code": "winter_2016",
                        "labels": {
                          "en_US": "Winter 2016",
                          "fr_FR": "Hiver 2016"
                        }
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "linked_data": {
                      "attribute": "size",
                      "code": "m",
                      "labels": {
                        "en_US": "M",
                        "fr_FR": "M"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/cap"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "sunglasses"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "completenesses": [
                {
                  "data": 20,
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": 30,
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": 55,
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": 70,
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "identifier": "cap",
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "uuid": "aec6780b-c813-4bd7-8e24-1a8574471576",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/sweat"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "completenesses": [],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "identifier": "sweat",
              "parent": null,
              "quality_scores": {},
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "uuid": "93f14b03-5ed3-4f23-87c6-ae3806041b6a",
              "values": {}
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=1&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=4&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=2&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products?page=3&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          }
        },
        "current_page": 3
      }
    },
    "ProductList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "associations": {
              "PACK": {
                "groups": [],
                "product_models": [],
                "products": [
                  "sunglass"
                ]
              }
            },
            "categories": [
              "summer_collection"
            ],
            "completenesses": [
              {
                "data": 10,
                "locale": "en_US",
                "scope": "ecommerce"
              },
              {
                "data": 20,
                "locale": "fr_FR",
                "scope": "ecommerce"
              },
              {
                "data": 30,
                "locale": "en_US",
                "scope": "tablet"
              },
              {
                "data": 40,
                "locale": "fr_FR",
                "scope": "tablet"
              }
            ],
            "created": "2016-06-23T18:24:44+02:00",
            "enabled": true,
            "family": "tshirt",
            "groups": [],
            "identifier": "top",
            "parent": null,
            "quality_scores": [
              {
                "data": "A",
                "locale": "en_US",
                "scope": "ecommerce"
              },
              {
                "data": "B",
                "locale": "fr_FR",
                "scope": "ecommerce"
              },
              {
                "data": "D",
                "locale": "en_US",
                "scope": "tablet"
              },
              {
                "data": "E",
                "locale": "fr_FR",
                "scope": "tablet"
              }
            ],
            "quantified_associations": {
              "PRODUCT_SET": {
                "product_models": [
                  {
                    "identifier": "model-biker-jacket-leather",
                    "quantity": 2
                  }
                ],
                "products": [
                  {
                    "identifier": "cap",
                    "quantity": 2
                  },
                  {
                    "identifier": "shoes",
                    "quantity": 1
                  }
                ]
              }
            },
            "updated": "2016-06-25T17:56:12+02:00",
            "values": {
              "collection": [
                {
                  "data": [
                    "winter_2016"
                  ],
                  "linked_data": {
                    "winter_2016": {
                      "attribute": "collection",
                      "code": "winter_2016",
                      "labels": {
                        "en_US": "Winter 2016",
                        "fr_FR": "Hiver 2016"
                      }
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ],
              "color": [
                {
                  "data": "black",
                  "linked_data": {
                    "attribute": "color",
                    "code": "black",
                    "labels": {
                      "en_US": "Black",
                      "fr_FR": "Noir"
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ],
              "description": [
                {
                  "data": "Summer top",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "Débardeur pour l'été",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "name": [
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": null
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": null
                }
              ],
              "price": [
                {
                  "data": [
                    {
                      "amount": "15.5",
                      "currency": "EUR"
                    },
                    {
                      "amount": "15",
                      "currency": "USD"
                    }
                  ],
                  "locale": null,
                  "scope": null
                }
              ],
              "size": [
                {
                  "data": "m",
                  "linked_data": {
                    "attribute": "size",
                    "code": "m",
                    "labels": {
                      "en_US": "M",
                      "fr_FR": "M"
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ]
            }
          },
          "properties": {
            "associations": {
              "description": "Several associations related to groups, product models and/or other products, grouped by association types",
              "properties": {
                "associationTypeCode": {
                  "properties": {
                    "groups": {
                      "description": "Array of groups codes with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "product_models": {
                      "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-from-version": "2.1"
                    },
                    "products": {
                      "description": "Array of product identifiers with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
            },
            "categories": {
              "default": [],
              "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing category code"
            },
            "completenesses": {
              "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
              "items": {
                "properties": {
                  "data": {
                    "type": "integer"
                  },
                  "locale": {
                    "type": "string"
                  },
                  "scope": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array",
              "x-from-version": "7.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "created": {
              "description": "Date of creation",
              "format": "dateTime",
              "type": "string",
              "x-immutable": true,
              "x-read-only": true
            },
            "enabled": {
              "default": true,
              "description": "Whether the product is enabled",
              "type": "boolean"
            },
            "family": {
              "default": "null only in the case of a non variant product",
              "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
              "type": "string",
              "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
            },
            "groups": {
              "default": [],
              "description": "Codes of the groups to which the product belong",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing group code"
            },
            "identifier": {
              "description": "Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
              "type": "string"
            },
            "metadata": {
              "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
              "properties": {
                "workflow_status": {
                  "description": "Status of the product regarding the user permissions",
                  "enum": [
                    "read_only",
                    "draft_in_progress",
                    "proposal_waiting_for_approval",
                    "working_copy"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "x-from-version": "2.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "parent": {
              "default": "null",
              "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
              "type": "string",
              "x-from-version": "2.0",
              "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
            },
            "quality_scores": {
              "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
              "type": "object",
              "x-from-version": "5.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "quantified_associations": {
              "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
              "properties": {
                "quantifiedAssociationTypeCode": {
                  "properties": {
                    "product_models": {
                      "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                      "items": {
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "quantity": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "products": {
                      "description": "Array of objects containing product identifiers and quantities with which the product is in relation",
                      "items": {
                        "properties": {
                          "identifier": {
                            "type": "string"
                          },
                          "quantity": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-from-version": "5.0",
              "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it."
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-read-only": true
            },
            "uuid": {
              "description": "Product UUID",
              "type": "string",
              "x-from-version": "7.0"
            },
            "values": {
              "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "data": {
                        "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                        "type": "object"
                      },
                      "linked_data": {
                        "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string"
                          },
                          "labels": {
                            "type": "object"
                          }
                        },
                        "type": "object",
                        "x-from-version": "5.0",
                        "x-read-only": true
                      },
                      "locale": {
                        "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                        "type": "string"
                      },
                      "scope": {
                        "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Product values section"
            }
          },
          "required": [
            "identifier"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ProductModel": {
      "example": {
        "associations": {
          "PACK": {
            "groups": [],
            "product_models": [],
            "products": [
              "sunglass"
            ]
          }
        },
        "categories": [
          "summer_collection"
        ],
        "code": "model-biker-jacket-leather",
        "created": "2017-10-02T15:03:55+02:00",
        "family": "clothing",
        "family_variant": "clothing_material_size",
        "parent": "model-biker-jacket",
        "quality_scores": [
          {
            "data": "A",
            "locale": "en_US",
            "scope": "ecommerce"
          },
          {
            "data": "B",
            "locale": "fr_FR",
            "scope": "ecommerce"
          },
          {
            "data": "D",
            "locale": "en_US",
            "scope": "tablet"
          },
          {
            "data": "E",
            "locale": "fr_FR",
            "scope": "tablet"
          }
        ],
        "quantified_associations": {
          "PRODUCT_SET": {
            "product_models": [
              {
                "code": "model-biker-jacket-leather",
                "quantity": 2
              }
            ],
            "products": [
              {
                "identifier": "top",
                "quantity": 2
              },
              {
                "identifier": "cap",
                "quantity": 1
              }
            ]
          }
        },
        "updated": "2017-10-02T15:03:55+02:00",
        "values": {
          "collection": [
            {
              "data": [
                "summer_2017"
              ],
              "locale": null,
              "scope": null
            }
          ],
          "color": [
            {
              "data": "antique_white",
              "locale": null,
              "scope": null
            }
          ],
          "description": [
            {
              "data": "Biker jacket",
              "locale": "en_US",
              "scope": "ecommerce"
            }
          ],
          "material": [
            {
              "data": "leather",
              "locale": null,
              "scope": null
            }
          ],
          "name": [
            {
              "data": "Biker jacket",
              "locale": "en_US",
              "scope": null
            }
          ],
          "variation_name": [
            {
              "data": "Biker jacket leather",
              "locale": "en_US",
              "scope": null
            }
          ]
        }
      },
      "properties": {
        "associations": {
          "description": "Several associations related to groups, product and/or other product models, grouped by association types",
          "properties": {
            "associationTypeCode": {
              "properties": {
                "groups": {
                  "description": "Array of groups codes with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "product_models": {
                  "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-from-version": "2.1"
                },
                "products": {
                  "description": "Array of product identifiers with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
        },
        "categories": {
          "default": [],
          "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing category code"
        },
        "code": {
          "description": "Product model code",
          "type": "string",
          "x-immutable": true
        },
        "created": {
          "description": "Date of creation",
          "format": "dateTime",
          "type": "string",
          "x-immutable": true,
          "x-read-only": true
        },
        "family": {
          "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
          "type": "string",
          "x-from-version": "3.2",
          "x-immutable": true,
          "x-validation-rules": "It is equal to an existing family code"
        },
        "family_variant": {
          "description": "Family variant code from which the product model inherits its attributes and variant attributes",
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
        },
        "metadata": {
          "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
          "properties": {
            "workflow_status": {
              "description": "Status of the product model regarding the user permissions",
              "enum": [
                "read_only",
                "draft_in_progress",
                "proposal_waiting_for_approval",
                "working_copy"
              ],
              "type": "string"
            }
          },
          "type": "object",
          "x-from-version": "2.3",
          "x-immutable": true,
          "x-read-only": true
        },
        "parent": {
          "default": "null",
          "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
          "type": "string",
          "x-from-version": "2.3",
          "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
        },
        "quality_scores": {
          "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
          "type": "object",
          "x-from-version": "7.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "quantified_associations": {
          "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
          "properties": {
            "quantifiedAssociationTypeCode": {
              "properties": {
                "product_models": {
                  "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                  "items": {
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "products": {
                  "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                  "items": {
                    "properties": {
                      "identifier": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-from-version": "5.0",
          "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
        },
        "updated": {
          "description": "Date of the last update",
          "format": "dateTime",
          "type": "string",
          "x-read-only": true
        },
        "values": {
          "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
          "properties": {
            "attributeCode": {
              "items": {
                "properties": {
                  "data": {
                    "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                    "type": "object"
                  },
                  "locale": {
                    "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                    "type": "string"
                  },
                  "scope": {
                    "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "Validation rules detailed in Product values section"
        }
      },
      "required": [
        "code",
        "family_variant"
      ],
      "type": "object"
    },
    "ProductModelList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "associations": {
              "PACK": {
                "groups": [],
                "product_models": [],
                "products": [
                  "sunglass"
                ]
              }
            },
            "categories": [
              "summer_collection"
            ],
            "code": "model-biker-jacket-leather",
            "created": "2017-10-02T15:03:55+02:00",
            "family": "clothing",
            "family_variant": "clothing_material_size",
            "parent": "model-biker-jacket",
            "quality_scores": [
              {
                "data": "A",
                "locale": "en_US",
                "scope": "ecommerce"
              },
              {
                "data": "B",
                "locale": "fr_FR",
                "scope": "ecommerce"
              },
              {
                "data": "D",
                "locale": "en_US",
                "scope": "tablet"
              },
              {
                "data": "E",
                "locale": "fr_FR",
                "scope": "tablet"
              }
            ],
            "quantified_associations": {
              "PRODUCT_SET": {
                "product_models": [
                  {
                    "code": "model-biker-jacket-leather",
                    "quantity": 2
                  }
                ],
                "products": [
                  {
                    "identifier": "top",
                    "quantity": 2
                  },
                  {
                    "identifier": "cap",
                    "quantity": 1
                  }
                ]
              }
            },
            "updated": "2017-10-02T15:03:55+02:00",
            "values": {
              "collection": [
                {
                  "data": [
                    "summer_2017"
                  ],
                  "locale": null,
                  "scope": null
                }
              ],
              "color": [
                {
                  "data": "antique_white",
                  "locale": null,
                  "scope": null
                }
              ],
              "description": [
                {
                  "data": "Biker jacket",
                  "locale": "en_US",
                  "scope": "ecommerce"
                }
              ],
              "material": [
                {
                  "data": "leather",
                  "locale": null,
                  "scope": null
                }
              ],
              "name": [
                {
                  "data": "Biker jacket",
                  "locale": "en_US",
                  "scope": null
                }
              ],
              "variation_name": [
                {
                  "data": "Biker jacket leather",
                  "locale": "en_US",
                  "scope": null
                }
              ]
            }
          },
          "properties": {
            "associations": {
              "description": "Several associations related to groups, product and/or other product models, grouped by association types",
              "properties": {
                "associationTypeCode": {
                  "properties": {
                    "groups": {
                      "description": "Array of groups codes with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "product_models": {
                      "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-from-version": "2.1"
                    },
                    "products": {
                      "description": "Array of product identifiers with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
            },
            "categories": {
              "default": [],
              "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product model is categorized",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing category code"
            },
            "code": {
              "description": "Product model code",
              "type": "string",
              "x-immutable": true
            },
            "created": {
              "description": "Date of creation",
              "format": "dateTime",
              "type": "string",
              "x-immutable": true,
              "x-read-only": true
            },
            "family": {
              "description": "<a href='api-reference.html#Family'>Family</a> code  from which the product inherits its attributes and attributes requirements (since the 3.2)",
              "type": "string",
              "x-from-version": "3.2",
              "x-immutable": true,
              "x-validation-rules": "It is equal to an existing family code"
            },
            "family_variant": {
              "description": "Family variant code from which the product model inherits its attributes and variant attributes",
              "type": "string",
              "x-immutable": true,
              "x-validation-rules": "It is equal to an existing family variant code that belong to the family given in the `family` field"
            },
            "metadata": {
              "description": "More information around the product model (only available since the v2.3 in the Enterprise Edition)",
              "properties": {
                "workflow_status": {
                  "description": "Status of the product model regarding the user permissions",
                  "enum": [
                    "read_only",
                    "draft_in_progress",
                    "proposal_waiting_for_approval",
                    "working_copy"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "x-from-version": "2.3",
              "x-immutable": true,
              "x-read-only": true
            },
            "parent": {
              "default": "null",
              "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a>. This parent can be modified since the 2.3.",
              "type": "string",
              "x-from-version": "2.3",
              "x-validation-rules": "&bull; It is equal to an existing product model code&#10;&bull; This product model has the same family variant as the one given in the `family_variant field`"
            },
            "quality_scores": {
              "description": "Product model quality scores for each channel/locale combination (<strong>only available since the 7.0 version</strong> and when the \"with_quality_scores\" query parameter is set to \"true\")",
              "type": "object",
              "x-from-version": "7.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "quantified_associations": {
              "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
              "properties": {
                "quantifiedAssociationTypeCode": {
                  "properties": {
                    "product_models": {
                      "description": "Array of objects containing product model codes and quantities with which the product model is in relation",
                      "items": {
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "quantity": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "products": {
                      "description": "Array of objects containing product identifiers and quantities with which the product model is in relation",
                      "items": {
                        "properties": {
                          "identifier": {
                            "type": "string"
                          },
                          "quantity": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-from-version": "5.0",
              "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the identifier of an existing product and the quantity of it. &#10;&bull; Each object in the array of the property `product_models` contains the code of an existing product model and the quantity of it."
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-read-only": true
            },
            "values": {
              "description": "Product model attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "data": {
                        "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                        "type": "object"
                      },
                      "locale": {
                        "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                        "type": "string"
                      },
                      "scope": {
                        "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Product values section"
            }
          },
          "required": [
            "code",
            "family_variant"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ProductUuid": {
      "example": {
        "associations": {
          "PACK": {
            "groups": [],
            "product_models": [],
            "products": [
              "d055527c-0698-4967-8f16-8a5f23f4e5cf"
            ]
          }
        },
        "categories": [
          "summer_collection"
        ],
        "completenesses": [
          {
            "data": 10,
            "locale": "en_US",
            "scope": "ecommerce"
          },
          {
            "data": 20,
            "locale": "fr_FR",
            "scope": "ecommerce"
          },
          {
            "data": 30,
            "locale": "en_US",
            "scope": "tablet"
          },
          {
            "data": 40,
            "locale": "fr_FR",
            "scope": "tablet"
          }
        ],
        "created": "2016-06-23T18:24:44+02:00",
        "enabled": true,
        "family": "tshirt",
        "groups": [],
        "parent": null,
        "quality_scores": [
          {
            "data": "A",
            "locale": "en_US",
            "scope": "ecommerce"
          },
          {
            "data": "B",
            "locale": "fr_FR",
            "scope": "ecommerce"
          },
          {
            "data": "D",
            "locale": "en_US",
            "scope": "tablet"
          },
          {
            "data": "E",
            "locale": "fr_FR",
            "scope": "tablet"
          }
        ],
        "quantified_associations": {
          "PRODUCT_SET": {
            "product_models": [
              {
                "identifier": "model-biker-jacket-leather",
                "quantity": 2
              }
            ],
            "products": [
              {
                "quantity": 2,
                "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
              },
              {
                "quantity": 1,
                "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
              }
            ]
          }
        },
        "updated": "2016-06-25T17:56:12+02:00",
        "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
        "values": {
          "collection": [
            {
              "data": [
                "winter_2016"
              ],
              "linked_data": {
                "winter_2016": {
                  "attribute": "collection",
                  "code": "winter_2016",
                  "labels": {
                    "en_US": "Winter 2016",
                    "fr_FR": "Hiver 2016"
                  }
                }
              },
              "locale": null,
              "scope": null
            }
          ],
          "color": [
            {
              "data": "black",
              "linked_data": {
                "attribute": "color",
                "code": "black",
                "labels": {
                  "en_US": "Black",
                  "fr_FR": "Noir"
                }
              },
              "locale": null,
              "scope": null
            }
          ],
          "description": [
            {
              "data": "Summer top",
              "locale": "en_US",
              "scope": "ecommerce"
            },
            {
              "data": "Top",
              "locale": "en_US",
              "scope": "tablet"
            },
            {
              "data": "Débardeur pour l'été",
              "locale": "fr_FR",
              "scope": "ecommerce"
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": "tablet"
            }
          ],
          "name": [
            {
              "data": "Top",
              "locale": "en_US",
              "scope": null
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": null
            }
          ],
          "price": [
            {
              "data": [
                {
                  "amount": "15.5",
                  "currency": "EUR"
                },
                {
                  "amount": "15",
                  "currency": "USD"
                }
              ],
              "locale": null,
              "scope": null
            }
          ],
          "size": [
            {
              "data": "m",
              "linked_data": {
                "attribute": "size",
                "code": "m",
                "labels": {
                  "en_US": "M",
                  "fr_FR": "M"
                }
              },
              "locale": null,
              "scope": null
            }
          ],
          "sku": [
            {
              "data": "top",
              "locale": null,
              "scope": null
            }
          ]
        }
      },
      "properties": {
        "associations": {
          "description": "Several associations related to groups, product models and/or other products, grouped by association types",
          "properties": {
            "associationTypeCode": {
              "properties": {
                "groups": {
                  "description": "Array of groups codes with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "product_models": {
                  "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-from-version": "2.1"
                },
                "products": {
                  "description": "Array of product uuids with which the product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
        },
        "categories": {
          "default": [],
          "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing category code"
        },
        "completenesses": {
          "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
          "items": {
            "properties": {
              "data": {
                "type": "integer"
              },
              "locale": {
                "type": "string"
              },
              "scope": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array",
          "x-from-version": "7.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "created": {
          "description": "Date of creation",
          "format": "dateTime",
          "type": "string",
          "x-immutable": true,
          "x-read-only": true
        },
        "enabled": {
          "default": true,
          "description": "Whether the product is enabled",
          "type": "boolean"
        },
        "family": {
          "default": "null only in the case of a non variant product",
          "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
          "type": "string",
          "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
        },
        "groups": {
          "default": [],
          "description": "Codes of the groups to which the product belong",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing group code"
        },
        "metadata": {
          "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
          "properties": {
            "workflow_status": {
              "description": "Status of the product regarding the user permissions",
              "enum": [
                "read_only",
                "draft_in_progress",
                "proposal_waiting_for_approval",
                "working_copy"
              ],
              "type": "string"
            }
          },
          "type": "object",
          "x-from-version": "2.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "parent": {
          "default": "null",
          "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
          "type": "string",
          "x-from-version": "2.0",
          "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
        },
        "quality_scores": {
          "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
          "type": "object",
          "x-from-version": "5.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "quantified_associations": {
          "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
          "properties": {
            "quantifiedAssociationTypeCode": {
              "properties": {
                "product_models": {
                  "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                  "items": {
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "products": {
                  "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                  "items": {
                    "properties": {
                      "quantity": {
                        "type": "integer"
                      },
                      "uuid": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-from-version": "5.0",
          "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
        },
        "updated": {
          "description": "Date of the last update",
          "format": "dateTime",
          "type": "string",
          "x-read-only": true
        },
        "uuid": {
          "description": "Product uuid",
          "type": "string"
        },
        "values": {
          "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
          "properties": {
            "attributeCode": {
              "items": {
                "properties": {
                  "data": {
                    "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                    "type": "object"
                  },
                  "linked_data": {
                    "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                    "properties": {
                      "attribute": {
                        "type": "string"
                      },
                      "code": {
                        "type": "string"
                      },
                      "labels": {
                        "type": "object"
                      }
                    },
                    "type": "object",
                    "x-from-version": "5.0",
                    "x-read-only": true
                  },
                  "locale": {
                    "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                    "type": "string"
                  },
                  "scope": {
                    "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "Validation rules detailed in Product values section"
        }
      },
      "type": "object"
    },
    "ProductUuidExamples": {
      "x-SaaS": {
        "_embedded": {
          "items": [
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product-uuid/25566245-55c3-42ce-86d9-8610ac459fa8"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "completenesses": [
                {
                  "data": 20,
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": 30,
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": 55,
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": 70,
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "tshirt",
              "groups": [],
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {
                "PRODUCT_SET": {
                  "product_models": [
                    {
                      "identifier": "model-biker-jacket-leather",
                      "quantity": 2
                    }
                  ],
                  "products": [
                    {
                      "quantity": 2,
                      "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                    },
                    {
                      "quantity": 1,
                      "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                    }
                  ]
                }
              },
              "updated": "2016-06-25T17:56:12+02:00",
              "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
              "values": {
                "collection": [
                  {
                    "data": [
                      "winter_2016"
                    ],
                    "linked_data": {
                      "winter_2016": {
                        "attribute": "collection",
                        "code": "winter_2016",
                        "labels": {
                          "en_US": "Winter 2016",
                          "fr_FR": "Hiver 2016"
                        }
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Summer top",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Débardeur pour l'été",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Top",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Débardeur",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "15.5",
                        "currency": "EUR"
                      },
                      {
                        "amount": "15",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "size": [
                  {
                    "data": "m",
                    "linked_data": {
                      "attribute": "size",
                      "code": "m",
                      "labels": {
                        "en_US": "M",
                        "fr_FR": "M"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "sku": [
                  {
                    "data": "top",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product/fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                }
              },
              "associations": {
                "PACK": {
                  "groups": [],
                  "product_models": [],
                  "products": [
                    "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                  ]
                }
              },
              "categories": [
                "summer_collection"
              ],
              "completenesses": [
                {
                  "data": 20,
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": 30,
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": 55,
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": 70,
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "created": "2016-06-23T18:24:44+02:00",
              "enabled": true,
              "family": "caps",
              "groups": [],
              "parent": null,
              "quality_scores": [
                {
                  "data": "A",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "B",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "D",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "E",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "quantified_associations": {},
              "updated": "2016-06-25T17:56:12+02:00",
              "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5",
              "values": {
                "color": [
                  {
                    "data": "black",
                    "linked_data": {
                      "attribute": "color",
                      "code": "black",
                      "labels": {
                        "en_US": "Black",
                        "fr_FR": "Noir"
                      }
                    },
                    "locale": null,
                    "scope": null
                  }
                ],
                "description": [
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Cap unisex",
                    "locale": "en_US",
                    "scope": "tablet"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "ecommerce"
                  },
                  {
                    "data": "Casquette unisexe",
                    "locale": "fr_FR",
                    "scope": "tablet"
                  }
                ],
                "name": [
                  {
                    "data": "Cap",
                    "locale": "en_US",
                    "scope": null
                  },
                  {
                    "data": "Casquette",
                    "locale": "fr_FR",
                    "scope": null
                  }
                ],
                "price": [
                  {
                    "data": [
                      {
                        "amount": "20",
                        "currency": "EUR"
                      },
                      {
                        "amount": "20",
                        "currency": "USD"
                      }
                    ],
                    "locale": null,
                    "scope": null
                  }
                ],
                "sku": [
                  {
                    "data": "cap",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            },
            {
              "_links": {
                "self": {
                  "href": "https://demo.akeneo.com/api/rest/v1/product-uuid/fa0b115e-46ec-4527-beab-7207452f1b47"
                }
              },
              "associations": {},
              "categories": [
                "winter_collection"
              ],
              "completenesses": [],
              "created": "2016-06-23T11:24:44+02:00",
              "enabled": true,
              "family": null,
              "groups": [],
              "parent": null,
              "quality_scores": {},
              "quantified_associations": {},
              "updated": "2016-06-23T11:24:44+02:00",
              "uuid": "fa0b115e-46ec-4527-beab-7207452f1b47",
              "values": {
                "sku": [
                  {
                    "data": "sweat",
                    "locale": null,
                    "scope": null
                  }
                ]
              }
            }
          ]
        },
        "_links": {
          "first": {
            "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=1&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "next": {
            "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=4&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "previous": {
            "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=2&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          },
          "self": {
            "href": "https://demo.akeneo.com/api/rest/v1/products-uuid?page=3&limit=3&with_quality_scores=true&with_completenesses=true&with_attribute_options=true"
          }
        },
        "current_page": 3
      }
    },
    "ProductUuidList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "associations": {
              "PACK": {
                "groups": [],
                "product_models": [],
                "products": [
                  "d055527c-0698-4967-8f16-8a5f23f4e5cf"
                ]
              }
            },
            "categories": [
              "summer_collection"
            ],
            "completenesses": [
              {
                "data": 10,
                "locale": "en_US",
                "scope": "ecommerce"
              },
              {
                "data": 20,
                "locale": "fr_FR",
                "scope": "ecommerce"
              },
              {
                "data": 30,
                "locale": "en_US",
                "scope": "tablet"
              },
              {
                "data": 40,
                "locale": "fr_FR",
                "scope": "tablet"
              }
            ],
            "created": "2016-06-23T18:24:44+02:00",
            "enabled": true,
            "family": "tshirt",
            "groups": [],
            "parent": null,
            "quality_scores": [
              {
                "data": "A",
                "locale": "en_US",
                "scope": "ecommerce"
              },
              {
                "data": "B",
                "locale": "fr_FR",
                "scope": "ecommerce"
              },
              {
                "data": "D",
                "locale": "en_US",
                "scope": "tablet"
              },
              {
                "data": "E",
                "locale": "fr_FR",
                "scope": "tablet"
              }
            ],
            "quantified_associations": {
              "PRODUCT_SET": {
                "product_models": [
                  {
                    "identifier": "model-biker-jacket-leather",
                    "quantity": 2
                  }
                ],
                "products": [
                  {
                    "quantity": 2,
                    "uuid": "fc24e6c3-933c-4a93-8a81-e5c703d134d5"
                  },
                  {
                    "quantity": 1,
                    "uuid": "a9b69002-a0b1-4ead-85c2-f8dbf59c6cfc"
                  }
                ]
              }
            },
            "updated": "2016-06-25T17:56:12+02:00",
            "uuid": "25566245-55c3-42ce-86d9-8610ac459fa8",
            "values": {
              "collection": [
                {
                  "data": [
                    "winter_2016"
                  ],
                  "linked_data": {
                    "winter_2016": {
                      "attribute": "collection",
                      "code": "winter_2016",
                      "labels": {
                        "en_US": "Winter 2016",
                        "fr_FR": "Hiver 2016"
                      }
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ],
              "color": [
                {
                  "data": "black",
                  "linked_data": {
                    "attribute": "color",
                    "code": "black",
                    "labels": {
                      "en_US": "Black",
                      "fr_FR": "Noir"
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ],
              "description": [
                {
                  "data": "Summer top",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "Débardeur pour l'été",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "name": [
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": null
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": null
                }
              ],
              "price": [
                {
                  "data": [
                    {
                      "amount": "15.5",
                      "currency": "EUR"
                    },
                    {
                      "amount": "15",
                      "currency": "USD"
                    }
                  ],
                  "locale": null,
                  "scope": null
                }
              ],
              "size": [
                {
                  "data": "m",
                  "linked_data": {
                    "attribute": "size",
                    "code": "m",
                    "labels": {
                      "en_US": "M",
                      "fr_FR": "M"
                    }
                  },
                  "locale": null,
                  "scope": null
                }
              ],
              "sku": [
                {
                  "data": "top",
                  "locale": null,
                  "scope": null
                }
              ]
            }
          },
          "properties": {
            "associations": {
              "description": "Several associations related to groups, product models and/or other products, grouped by association types",
              "properties": {
                "associationTypeCode": {
                  "properties": {
                    "groups": {
                      "description": "Array of groups codes with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "product_models": {
                      "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-from-version": "2.1"
                    },
                    "products": {
                      "description": "Array of product uuids with which the product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the uuid of an existing product. &#10;&bull; Each string in the array of the property `product_models` is the code of an existing product model."
            },
            "categories": {
              "default": [],
              "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the product is classified",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing category code"
            },
            "completenesses": {
              "description": "Product completenesses for each channel/locale combination (only available since the 7.0 version, and when the \"with_completenesses\" query parameter is set to \"true\")",
              "items": {
                "properties": {
                  "data": {
                    "type": "integer"
                  },
                  "locale": {
                    "type": "string"
                  },
                  "scope": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array",
              "x-from-version": "7.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "created": {
              "description": "Date of creation",
              "format": "dateTime",
              "type": "string",
              "x-immutable": true,
              "x-read-only": true
            },
            "enabled": {
              "default": true,
              "description": "Whether the product is enabled",
              "type": "boolean"
            },
            "family": {
              "default": "null only in the case of a non variant product",
              "description": "<a href='api-reference.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.",
              "type": "string",
              "x-validation-rules": "It is equal to an existing family code. In the case of variant product, the given family should be the same as the product model family."
            },
            "groups": {
              "default": [],
              "description": "Codes of the groups to which the product belong",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing group code"
            },
            "metadata": {
              "description": "More information around the product (only available since the v2.0 in the Enterprise Edition)",
              "properties": {
                "workflow_status": {
                  "description": "Status of the product regarding the user permissions",
                  "enum": [
                    "read_only",
                    "draft_in_progress",
                    "proposal_waiting_for_approval",
                    "working_copy"
                  ],
                  "type": "string"
                }
              },
              "type": "object",
              "x-from-version": "2.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "parent": {
              "default": "null",
              "description": "Code of the parent <a href='api-reference.html#Productmodel'>product model</a> when the product is a variant (only available since the 2.0). This parent can be modified since the 2.3.",
              "type": "string",
              "x-from-version": "2.0",
              "x-validation-rules": "It is equal to an existing product model code only if the product is variant otherwise it's equal to null"
            },
            "quality_scores": {
              "description": "Product quality scores for each channel/locale combination (only available since the 5.0 and when the \"with_quality_scores\" query parameter is set to \"true\")",
              "type": "object",
              "x-from-version": "5.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "quantified_associations": {
              "description": "Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)",
              "properties": {
                "quantifiedAssociationTypeCode": {
                  "properties": {
                    "product_models": {
                      "description": "Array of objects containing product model codes and quantities with which the product is in relation",
                      "items": {
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "quantity": {
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "products": {
                      "description": "Array of objects containing product uuids and quantities with which the product is in relation",
                      "items": {
                        "properties": {
                          "quantity": {
                            "type": "integer"
                          },
                          "uuid": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-from-version": "5.0",
              "x-validation-rules": "&bull; The `quantifiedAssociationTypeCode` is the code of an existing association type which provides quantity information. &#10;&bull; Each object in the array of the property `products` contains the uuid of an existing product and the quantity of it."
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-read-only": true
            },
            "uuid": {
              "description": "Product uuid",
              "type": "string"
            },
            "values": {
              "description": "Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "data": {
                        "description": "Product value. See <a href='/concepts/products.html#the-data-format'>the `data` format</a> section for more details.",
                        "type": "object"
                      },
                      "linked_data": {
                        "description": "Object containing labels of attribute options (only available since the 5.0 and when query parameter \"with_attribute_options\" is set to \"true\"). See <a href='/concepts/products.html#the-linked_data-format'>the `linked_data` format</a> section for more details.",
                        "properties": {
                          "attribute": {
                            "type": "string"
                          },
                          "code": {
                            "type": "string"
                          },
                          "labels": {
                            "type": "object"
                          }
                        },
                        "type": "object",
                        "x-from-version": "5.0",
                        "x-read-only": true
                      },
                      "locale": {
                        "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                        "type": "string"
                      },
                      "scope": {
                        "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Product values section"
            }
          },
          "type": "object"
        }
      ],
      "type": "object"
    },
    "PublishedProduct": {
      "example": {
        "associations": {
          "PACK": {
            "groups": [],
            "product_models": [],
            "products": [
              "sunglass"
            ]
          }
        },
        "categories": [
          "summer_collection"
        ],
        "created": "2016-06-23T18:24:44+02:00",
        "enabled": true,
        "family": "tshirt",
        "groups": [],
        "identifier": "top",
        "updated": "2016-06-25T17:56:12+02:00",
        "values": {
          "color": [
            {
              "data": "black",
              "locale": null,
              "scope": null
            }
          ],
          "description": [
            {
              "data": "Summer top",
              "locale": "en_US",
              "scope": "ecommerce"
            },
            {
              "data": "Top",
              "locale": "en_US",
              "scope": "tablet"
            },
            {
              "data": "Débardeur pour l'été",
              "locale": "fr_FR",
              "scope": "ecommerce"
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": "tablet"
            }
          ],
          "name": [
            {
              "data": "Top",
              "locale": "en_US",
              "scope": null
            },
            {
              "data": "Débardeur",
              "locale": "fr_FR",
              "scope": null
            }
          ],
          "price": [
            {
              "data": [
                {
                  "amount": "15.5",
                  "currency": "EUR"
                },
                {
                  "amount": "15",
                  "currency": "USD"
                }
              ],
              "locale": null,
              "scope": null
            }
          ],
          "size": [
            {
              "data": "m",
              "locale": null,
              "scope": null
            }
          ]
        }
      },
      "properties": {
        "associations": {
          "description": "Several associations related to groups and/or other published products, grouped by association types",
          "properties": {
            "associationTypeCode": {
              "properties": {
                "groups": {
                  "description": "Array of groups codes with which the published product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "product_models": {
                  "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "x-from-version": "2.1"
                },
                "products": {
                  "description": "Array of published product identifiers with which the published product is in relation",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object",
          "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Identifiers used in the array of the property `products` cannot be equal to the published product identifier."
        },
        "categories": {
          "default": [],
          "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the published product is classified",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing category code"
        },
        "created": {
          "description": "Date of creation",
          "format": "dateTime",
          "type": "string",
          "x-immutable": true,
          "x-read-only": true
        },
        "enabled": {
          "default": true,
          "description": "Whether the published product is enable",
          "type": "boolean"
        },
        "family": {
          "default": "null",
          "description": "<a href='api-reference.html#Family'>Family</a> code from which the published product inherits its attributes and attributes requirements",
          "type": "string",
          "x-validation-rules": "It is equal to an existing family code"
        },
        "groups": {
          "default": [],
          "description": "Codes of the groups to which the published product belong",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-validation-rules": "Each string of the array is equal to an existing group code"
        },
        "identifier": {
          "description": "Published product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
          "type": "string"
        },
        "quantified_associations": {
          "description": "Warning: associations with quantities are not compatible with the published products. The response will always be empty.",
          "type": "object"
        },
        "updated": {
          "description": "Date of the last update",
          "format": "dateTime",
          "type": "string",
          "x-read-only": true
        },
        "values": {
          "description": "Published product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
          "properties": {
            "attributeCode": {
              "items": {
                "properties": {
                  "data": {
                    "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                    "type": "object"
                  },
                  "locale": {
                    "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                    "type": "string"
                  },
                  "scope": {
                    "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "Validation rules detailed in Product values section"
        }
      },
      "required": [
        "identifier"
      ],
      "type": "object"
    },
    "PublishedProductList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "associations": {
              "PACK": {
                "groups": [],
                "product_models": [],
                "products": [
                  "sunglass"
                ]
              }
            },
            "categories": [
              "summer_collection"
            ],
            "created": "2016-06-23T18:24:44+02:00",
            "enabled": true,
            "family": "tshirt",
            "groups": [],
            "identifier": "top",
            "updated": "2016-06-25T17:56:12+02:00",
            "values": {
              "color": [
                {
                  "data": "black",
                  "locale": null,
                  "scope": null
                }
              ],
              "description": [
                {
                  "data": "Summer top",
                  "locale": "en_US",
                  "scope": "ecommerce"
                },
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": "tablet"
                },
                {
                  "data": "Débardeur pour l'été",
                  "locale": "fr_FR",
                  "scope": "ecommerce"
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": "tablet"
                }
              ],
              "name": [
                {
                  "data": "Top",
                  "locale": "en_US",
                  "scope": null
                },
                {
                  "data": "Débardeur",
                  "locale": "fr_FR",
                  "scope": null
                }
              ],
              "price": [
                {
                  "data": [
                    {
                      "amount": "15.5",
                      "currency": "EUR"
                    },
                    {
                      "amount": "15",
                      "currency": "USD"
                    }
                  ],
                  "locale": null,
                  "scope": null
                }
              ],
              "size": [
                {
                  "data": "m",
                  "locale": null,
                  "scope": null
                }
              ]
            }
          },
          "properties": {
            "associations": {
              "description": "Several associations related to groups and/or other published products, grouped by association types",
              "properties": {
                "associationTypeCode": {
                  "properties": {
                    "groups": {
                      "description": "Array of groups codes with which the published product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "product_models": {
                      "description": "Array of product model codes with which the product is in relation (only available since the v2.1)",
                      "items": {
                        "type": "string"
                      },
                      "type": "array",
                      "x-from-version": "2.1"
                    },
                    "products": {
                      "description": "Array of published product identifiers with which the published product is in relation",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-validation-rules": "&bull; The `associationTypeCode` is the code of an existing association type. &#10;&bull; Each string in the array of the property `groups` is the code of an existing group. &#10;&bull; Each string in the array of the property `products` is the identifier of an existing product. &#10;&bull; Identifiers used in the array of the property `products` cannot be equal to the published product identifier."
            },
            "categories": {
              "default": [],
              "description": "Codes of the <a href='api-reference.html#Category'>categories</a> in which the published product is classified",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing category code"
            },
            "created": {
              "description": "Date of creation",
              "format": "dateTime",
              "type": "string",
              "x-immutable": true,
              "x-read-only": true
            },
            "enabled": {
              "default": true,
              "description": "Whether the published product is enable",
              "type": "boolean"
            },
            "family": {
              "default": "null",
              "description": "<a href='api-reference.html#Family'>Family</a> code from which the published product inherits its attributes and attributes requirements",
              "type": "string",
              "x-validation-rules": "It is equal to an existing family code"
            },
            "groups": {
              "default": [],
              "description": "Codes of the groups to which the published product belong",
              "items": {
                "type": "string"
              },
              "type": "array",
              "x-validation-rules": "Each string of the array is equal to an existing group code"
            },
            "identifier": {
              "description": "Published product identifier, i.e. the value of the only `pim_catalog_identifier` attribute",
              "type": "string"
            },
            "quantified_associations": {
              "description": "Warning: associations with quantities are not compatible with the published products. The response will always be empty.",
              "type": "object"
            },
            "updated": {
              "description": "Date of the last update",
              "format": "dateTime",
              "type": "string",
              "x-read-only": true
            },
            "values": {
              "description": "Published product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "data": {
                        "description": "<a href='api-reference.html#Productuuid'>Product</a> value",
                        "type": "object"
                      },
                      "locale": {
                        "description": "<a href='api-reference.html#Locale'>Locale</a> code of the product value",
                        "type": "string"
                      },
                      "scope": {
                        "description": "<a href='api-reference.html#Channel'>Channel</a> code of the product value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Product values section"
            }
          },
          "required": [
            "identifier"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ReferenceEntity": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "image_download": {
                  "properties": {
                    "href": {
                      "description": "URI to download the binaries of the reference entity image file",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "x-read-only": true
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "brands",
            "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
            "labels": {
              "en_US": "Brands",
              "fr_FR": "Marques"
            }
          },
          "properties": {
            "code": {
              "description": "Reference entity code",
              "type": "string",
              "x-immutable": true
            },
            "image": {
              "default": null,
              "description": "Code of the reference entity image",
              "type": "string"
            },
            "labels": {
              "default": {},
              "description": "Reference entity labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Reference entity label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "example": {
        "_links": {
          "image_download": {
            "href": "https://demo.akeneo.com/api/rest/v1/reference-entities-media-files/0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png"
          }
        },
        "code": "brands",
        "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
        "labels": {
          "en_US": "Brands",
          "fr_FR": "Marques"
        }
      },
      "type": "object"
    },
    "ReferenceEntityAttribute": {
      "example": {
        "code": "description",
        "is_required_for_completeness": true,
        "is_rich_text_editor": true,
        "is_textarea": true,
        "labels": {
          "en_US": "Description",
          "fr_FR": "Description"
        },
        "max_characters": null,
        "type": "text",
        "validation_regexp": null,
        "validation_rule": "none",
        "value_per_channel": false,
        "value_per_locale": true
      },
      "properties": {
        "allowed_extensions": {
          "default": [],
          "description": "Extensions allowed when the attribute type is `image`",
          "items": {
            "type": "string"
          },
          "type": "array",
          "x-warning": "Only for `image` attribute type"
        },
        "code": {
          "description": "Attribute code",
          "type": "string",
          "x-immutable": true
        },
        "decimals_allowed": {
          "default": false,
          "description": "Whether decimals are allowed when the attribute type is `number`",
          "type": "boolean",
          "x-warning": "Only for `number` attribute type"
        },
        "is_required_for_completeness": {
          "default": false,
          "description": "Whether the attribute should be part of the record's completeness calculation",
          "type": "boolean"
        },
        "is_rich_text_editor": {
          "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
          "type": "boolean",
          "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
          "x-warning": "Only for `text` attribute type"
        },
        "is_textarea": {
          "default": false,
          "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
          "type": "boolean",
          "x-warning": "Only for `text` attribute type"
        },
        "labels": {
          "default": {},
          "description": "Attribute labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Attribute label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        },
        "max_characters": {
          "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
          "type": "integer",
          "x-warning": "Only for `text` attribute type"
        },
        "max_file_size": {
          "default": null,
          "description": "Max file size in MB when the attribute type is `image`",
          "type": "string",
          "x-warning": "Only for `image` attribute type"
        },
        "max_value": {
          "default": null,
          "description": "Maximum value allowed when the attribute type is `number`",
          "type": "string",
          "x-validation-rules": "The maximum value must be greater than the minimum value",
          "x-warning": "Only for `number` attribute type"
        },
        "min_value": {
          "default": null,
          "description": "Minimum value allowed when the attribute type is `number`",
          "type": "string",
          "x-validation-rules": "The minimum value must be lower than the maximum value",
          "x-warning": "Only for `number` attribute type"
        },
        "reference_entity_code": {
          "default": null,
          "description": "Code of the linked reference entity when the attribute type is `reference_entity_single_link` or `reference_entity_multiple_links`",
          "type": "string",
          "x-immutable": true,
          "x-validation-rules": "Required when the attribute type is either `reference_entity_single_link` or `reference_entity_multiple_links`",
          "x-warning": "Only for `reference_entity_single_link` and `reference_entity_multiple_links` attribute type"
        },
        "type": {
          "description": "Attribute type. See <a href='/concepts/reference-entities.html#reference-entity-attribute'>type</a> section for more details.",
          "enum": [
            "text",
            "image",
            "number",
            "single_option",
            "multiple_options",
            "reference_entity_single_link",
            "reference_entity_multiple_links"
          ],
          "type": "string",
          "x-immutable": true
        },
        "validation_regexp": {
          "default": null,
          "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
          "type": "string",
          "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
          "x-warning": "Only for `text` attribute type"
        },
        "validation_rule": {
          "default": "none",
          "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
          "enum": [
            "email",
            "url",
            "regexp",
            "none"
          ],
          "type": "string",
          "x-warning": "Only for `text` attribute type"
        },
        "value_per_channel": {
          "default": false,
          "description": "Whether the attribute is scopable, i.e. can have one value by channel",
          "type": "boolean",
          "x-immutable": true
        },
        "value_per_locale": {
          "default": false,
          "description": "Whether the attribute is localizable, i.e. can have one value by locale",
          "type": "boolean",
          "x-immutable": true
        }
      },
      "required": [
        "code",
        "type"
      ],
      "type": "object"
    },
    "ReferenceEntityAttributeList": {
      "items": {
        "example": {
          "code": "description",
          "is_required_for_completeness": true,
          "is_rich_text_editor": true,
          "is_textarea": true,
          "labels": {
            "en_US": "Description",
            "fr_FR": "Description"
          },
          "max_characters": null,
          "type": "text",
          "validation_regexp": null,
          "validation_rule": "none",
          "value_per_channel": false,
          "value_per_locale": true
        },
        "properties": {
          "allowed_extensions": {
            "default": [],
            "description": "Extensions allowed when the attribute type is `image`",
            "items": {
              "type": "string"
            },
            "type": "array",
            "x-warning": "Only for `image` attribute type"
          },
          "code": {
            "description": "Attribute code",
            "type": "string",
            "x-immutable": true
          },
          "decimals_allowed": {
            "default": false,
            "description": "Whether decimals are allowed when the attribute type is `number`",
            "type": "boolean",
            "x-warning": "Only for `number` attribute type"
          },
          "is_required_for_completeness": {
            "default": false,
            "description": "Whether the attribute should be part of the record's completeness calculation",
            "type": "boolean"
          },
          "is_rich_text_editor": {
            "description": "Whether the UI should display a rich text editor instead of a simple text area when the attribute type is `text`",
            "type": "boolean",
            "x-validation-rules": "Required when the property `is_textarea` is equal to `true`",
            "x-warning": "Only for `text` attribute type"
          },
          "is_textarea": {
            "default": false,
            "description": "Whether the UI should display a text area instead of a simple field when the attribute type is `text`",
            "type": "boolean",
            "x-warning": "Only for `text` attribute type"
          },
          "labels": {
            "default": {},
            "description": "Attribute labels for each locale",
            "properties": {
              "localeCode": {
                "description": "Attribute label for the locale `localeCode`",
                "type": "string"
              }
            },
            "type": "object",
            "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
          },
          "max_characters": {
            "description": "Maximum number of characters allowed for the value of the attribute when the attribute type is `text`",
            "type": "integer",
            "x-warning": "Only for `text` attribute type"
          },
          "max_file_size": {
            "default": null,
            "description": "Max file size in MB when the attribute type is `image`",
            "type": "string",
            "x-warning": "Only for `image` attribute type"
          },
          "max_value": {
            "default": null,
            "description": "Maximum value allowed when the attribute type is `number`",
            "type": "string",
            "x-validation-rules": "The maximum value must be greater than the minimum value",
            "x-warning": "Only for `number` attribute type"
          },
          "min_value": {
            "default": null,
            "description": "Minimum value allowed when the attribute type is `number`",
            "type": "string",
            "x-validation-rules": "The minimum value must be lower than the maximum value",
            "x-warning": "Only for `number` attribute type"
          },
          "reference_entity_code": {
            "default": null,
            "description": "Code of the linked reference entity when the attribute type is `reference_entity_single_link` or `reference_entity_multiple_links`",
            "type": "string",
            "x-immutable": true,
            "x-validation-rules": "Required when the attribute type is either `reference_entity_single_link` or `reference_entity_multiple_links`",
            "x-warning": "Only for `reference_entity_single_link` and `reference_entity_multiple_links` attribute type"
          },
          "type": {
            "description": "Attribute type. See <a href='/concepts/reference-entities.html#reference-entity-attribute'>type</a> section for more details.",
            "enum": [
              "text",
              "image",
              "number",
              "single_option",
              "multiple_options",
              "reference_entity_single_link",
              "reference_entity_multiple_links"
            ],
            "type": "string",
            "x-immutable": true
          },
          "validation_regexp": {
            "default": null,
            "description": "Regexp expression used to validate the attribute value when the attribute type is `text`",
            "type": "string",
            "x-validation-rules": "Required when the property `validation_rule` is equal to `regexp`",
            "x-warning": "Only for `text` attribute type"
          },
          "validation_rule": {
            "default": "none",
            "description": "Validation rule type used to validate the attribute value when the attribute type is `text`",
            "enum": [
              "email",
              "url",
              "regexp",
              "none"
            ],
            "type": "string",
            "x-warning": "Only for `text` attribute type"
          },
          "value_per_channel": {
            "default": false,
            "description": "Whether the attribute is scopable, i.e. can have one value by channel",
            "type": "boolean",
            "x-immutable": true
          },
          "value_per_locale": {
            "default": false,
            "description": "Whether the attribute is localizable, i.e. can have one value by locale",
            "type": "boolean",
            "x-immutable": true
          }
        },
        "required": [
          "code",
          "type"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "ReferenceEntityAttributeOption": {
      "example": {
        "code": "global_nomad",
        "labels": {
          "en_US": "Global Nomad",
          "fr_FR": "Nomade du Monde"
        }
      },
      "properties": {
        "code": {
          "description": "Attribute's option code",
          "type": "string",
          "x-immutable": true
        },
        "labels": {
          "default": {},
          "description": "Attribute labels for each locale",
          "properties": {
            "localeCode": {
              "description": "Attribute label for the locale `localeCode`",
              "type": "string"
            }
          },
          "type": "object",
          "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "ReferenceEntityAttributeOptionList": {
      "items": {
        "example": {
          "code": "global_nomad",
          "labels": {
            "en_US": "Global Nomad",
            "fr_FR": "Nomade du Monde"
          }
        },
        "properties": {
          "code": {
            "description": "Attribute's option code",
            "type": "string",
            "x-immutable": true
          },
          "labels": {
            "default": {},
            "description": "Attribute labels for each locale",
            "properties": {
              "localeCode": {
                "description": "Attribute label for the locale `localeCode`",
                "type": "string"
              }
            },
            "type": "object",
            "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "ReferenceEntityItemList": {
      "properties": {
        "_links": {
          "properties": {
            "image_download": {
              "properties": {
                "href": {
                  "description": "URI to download the binaries of the reference entity image file",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the resource",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "ReferenceEntityList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "image_download": {
                  "properties": {
                    "href": {
                      "description": "URI to download the binaries of the reference entity image file",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "brands",
            "image": "0/2/d/6/54d81dc888ba1501a8g765f3ab5797569f3bv756c_ref_img.png",
            "labels": {
              "en_US": "Brands",
              "fr_FR": "Marques"
            }
          },
          "properties": {
            "code": {
              "description": "Reference entity code",
              "type": "string",
              "x-immutable": true
            },
            "image": {
              "default": null,
              "description": "Code of the reference entity image",
              "type": "string"
            },
            "labels": {
              "default": {},
              "description": "Reference entity labels for each locale",
              "properties": {
                "localeCode": {
                  "description": "Reference entity label for the locale `localeCode`",
                  "type": "string"
                }
              },
              "type": "object",
              "x-validation-rules": "The `localeCode` is the code of an existing and activated locale"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "ReferenceEntityRecord": {
      "example": {
        "code": "kartell",
        "created": "2021-01-01T01:23:34+00:00",
        "updated": "2021-02-03T23:45:60+00:00",
        "values": {
          "collection_overview": [
            {
              "channel": null,
              "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
              "locale": null
            }
          ],
          "country": [
            {
              "channel": null,
              "data": "italy",
              "locale": null
            }
          ],
          "creation_year": [
            {
              "channel": null,
              "data": "1949",
              "locale": null
            }
          ],
          "description": [
            {
              "channel": null,
              "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
              "locale": "en_US"
            },
            {
              "channel": null,
              "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
              "locale": "fr_FR"
            }
          ],
          "image": [
            {
              "channel": null,
              "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
              "locale": null
            }
          ],
          "label": [
            {
              "channel": null,
              "data": "Kartell",
              "locale": "en_US"
            }
          ]
        }
      },
      "properties": {
        "code": {
          "description": "Code of the record",
          "type": "string",
          "x-immutable": true
        },
        "created": {
          "default": null,
          "description": "Date of creation.",
          "format": "dateTime",
          "type": "string",
          "x-from-version": "5.0",
          "x-immutable": true,
          "x-read-only": true
        },
        "updated": {
          "default": null,
          "description": "Date of the last update.",
          "format": "dateTime",
          "type": "string",
          "x-from-version": "5.0",
          "x-read-only": true
        },
        "values": {
          "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
          "properties": {
            "attributeCode": {
              "items": {
                "properties": {
                  "channel": {
                    "description": "Channel code of the reference entity record value",
                    "type": "string"
                  },
                  "data": {
                    "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                    "type": "object"
                  },
                  "locale": {
                    "description": "Locale code of the reference entity record value",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object",
          "x-validation-rules": "Validation rules detailed in Reference entity record values section"
        }
      },
      "required": [
        "code"
      ],
      "type": "object"
    },
    "ReferenceEntityRecordItemList": {
      "properties": {
        "_links": {
          "properties": {
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the resource",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "ReferenceEntityRecordList": {
      "allOf": [
        {
          "properties": {
            "_links": {
              "properties": {
                "self": {
                  "properties": {
                    "href": {
                      "description": "URI of the resource",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        {
          "example": {
            "code": "kartell",
            "created": "2021-01-01T01:23:34+00:00",
            "updated": "2021-02-03T23:45:60+00:00",
            "values": {
              "collection_overview": [
                {
                  "channel": null,
                  "data": "5/1/d/8/51d81dc778ba1501a8f998f3ab5797569f3b9e25_img.png",
                  "locale": null
                }
              ],
              "country": [
                {
                  "channel": null,
                  "data": "italy",
                  "locale": null
                }
              ],
              "creation_year": [
                {
                  "channel": null,
                  "data": "1949",
                  "locale": null
                }
              ],
              "description": [
                {
                  "channel": null,
                  "data": "Kartell, the Italian furniture company that sells modern and remarkable pieces of furnitures.",
                  "locale": "en_US"
                },
                {
                  "channel": null,
                  "data": "Kartell, l'éditeur de meuble italien spécialisé dans la signature de belle pièces au design contemporain.",
                  "locale": "fr_FR"
                }
              ],
              "image": [
                {
                  "channel": null,
                  "data": "0/c/b/0/0cb0c0e115dedba676f8d1ad8343ec207ab54c7b_image.jpg",
                  "locale": null
                }
              ],
              "label": [
                {
                  "channel": null,
                  "data": "Kartell",
                  "locale": "en_US"
                }
              ]
            }
          },
          "properties": {
            "code": {
              "description": "Code of the record",
              "type": "string",
              "x-immutable": true
            },
            "created": {
              "default": null,
              "description": "Date of creation.",
              "format": "dateTime",
              "type": "string",
              "x-from-version": "5.0",
              "x-immutable": true,
              "x-read-only": true
            },
            "updated": {
              "default": null,
              "description": "Date of the last update.",
              "format": "dateTime",
              "type": "string",
              "x-from-version": "5.0",
              "x-read-only": true
            },
            "values": {
              "description": "Record attributes values, see <a href='/concepts/reference-entities.html#focus-on-the-reference-entity-record-values'>Reference entity record values</a> section for more details",
              "properties": {
                "attributeCode": {
                  "items": {
                    "properties": {
                      "channel": {
                        "description": "Channel code of the reference entity record value",
                        "type": "string"
                      },
                      "data": {
                        "description": "Reference entity record value. See <a href='/concepts/reference-entities.html#the-data-format'>the `data` format</a> section for more details.",
                        "type": "object"
                      },
                      "locale": {
                        "description": "Locale code of the reference entity record value",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "x-validation-rules": "Validation rules detailed in Reference entity record values section"
            }
          },
          "required": [
            "code"
          ],
          "type": "object"
        }
      ],
      "type": "object"
    },
    "SearchAfterPagination": {
      "properties": {
        "_links": {
          "properties": {
            "first": {
              "properties": {
                "href": {
                  "description": "URI of the first page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "next": {
              "properties": {
                "href": {
                  "description": "URI of the next page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "self": {
              "properties": {
                "href": {
                  "description": "URI of the current page of resources",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    }
  }
}