---
title: "Update/create several products"
method: PATCH
path: "/api/rest/v1/products"
tags: ["Product [identifier]"]
---

# Update/create several products

`PATCH /api/rest/v1/products`

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.

## Request body

- object
  - `uuid` string — Product UUID
  - `identifier` string, required — Product identifier, i.e. the value of the only `pim_catalog_identifier` attribute
  - `enabled` boolean — Whether the product is enabled
  - `family` string — <a href='api-reference-paas.html#Family'>Family</a> code from which the product inherits its attributes and attributes requirements.
  - `categories` string[] — Codes of the <a href='api-reference-paas.html#Category'>categories</a> in which the product is classified
  - `groups` string[] — Codes of the groups to which the product belong
  - `parent` string — Code of the parent <a href='api-reference-paas.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.
  - `values` object — Product attributes values, see <a href='/concepts/products.html#focus-on-the-product-values'>Product values</a> section for more details
  - `associations` object — Several associations related to groups, product models and/or other products, grouped by association types
    - `associationTypeCode` object
      - `groups` string[] — Array of groups codes with which the product is in relation
      - `products` string[] — Array of product identifiers with which the product is in relation
      - `product_models` string[] — Array of product model codes with which the product is in relation (only available since the v2.1)
  - `quantified_associations` object — Several quantified associations related to products and/or product models, grouped by quantified association types (only available since the 5.0)
    - `quantifiedAssociationTypeCode` object
      - `products` object[] — Array of objects containing product identifiers and quantities with which the product is in relation
        - `identifier` string
        - `quantity` integer
      - `product_models` object[] — Array of objects containing product model codes and quantities with which the product is in relation
        - `code` string
        - `quantity` integer
  - `created` string, dateTime — Date of creation
  - `updated` string, dateTime — Date of the last update
  - `metadata` object — More information around the product (only available since the v2.0 in the Enterprise Edition)
    - `workflow_status` 'read_only' | 'draft_in_progress' | 'proposal_waiting_for_approval' | 'working_copy' — Status of the product regarding the user permissions
  - `quality_scores` object — 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")
  - `completenesses` object[] — 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")
    - `scope` string
    - `locale` string
    - `data` integer

## Response `200`

OK

- object
  - `line` integer — Line number
  - `identifier` string — Resource identifier, only filled when the resource is a product
  - `code` string — Resource code, only filled when the resource is not a product
  - `status_code` integer — HTTP status code, see <a href="/documentation/responses.html#client-errors">Client errors</a> to understand the meaning of each code
  - `message` string — Message explaining the error

## Other responses

- `401` — Authentication required
- `403` — Access forbidden
- `413` — Request Entity Too Large
- `415` — Unsupported Media type

---

[API](https://skmtc.net/akeneo/apis/akeneo-pim-rest-api.md) · [All operations](https://skmtc.net/akeneo/apis/akeneo-pim-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/akeneo/akeneo-pim-rest-api/versions/d8bda9b93b59/schema)
