---
title: "Update an individual API product"
method: PATCH
path: "/v2/api-products/{id}"
tags: ["API Products"]
---

# Update an individual API product

`PATCH /v2/api-products/{id}`

Updates an API product.

## Request body

- UpdateAPIProductDTO — The request schema for updating an API product.
  - `name` string — The name for the API product.
  - `description` string, nullable — The description of the API product.
  - `labels` LabelsUpdate, nullable — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Labels are intended to store **INTERNAL** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `public_labels` PublicLabelsUpdate — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `portal_ids` string[], required — The list of portal identifiers which this API product should be published to

## Response `200`

API product

- APIProduct
  - `id` string, uuid, required — The API product ID.
  - `name` string, required — The name of the API product
  - `description` string, nullable, required — The description of the API product
  - `portal_ids` string[], required — The list of portal identifiers which this API product is published to. This property is deprecated and will be removed in a future version. Use the `portals` property instead.
  - `portals` APIProductPortal[], required — The list of portals which this API product is published to
    - `portal_id` string, uuid, required
    - `portal_name` string, required
  - `version_count` number, required — The number of product versions attached to this API product
  - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
  - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.
  - `labels` Labels, required — Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
  - `public_labels` PublicLabels, required — Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `415` — Unsupported Media Type

## Changes

- **2025-03-13** `ddd4be7ea073` — 1 breaking
  - the response property `labels/additionalProperties/` became nullable for the status `200`
- **2025-02-10** `d833d4dbb1fa` — 1 warning
  - added the new `missing_reference` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2024-12-06** `426663331655` — 2 info
  - added the new optional request property `public_labels`
  - added the required property `public_labels` to the response with the `200` status
- **2024-11-11** `08ead66e9ebb` — 1 breaking, 2 warning, 1 info
  - added `#/components/schemas/InvalidParameterMaximumLength` to the `allOf[subschema #2]/invalid_parameters/items/` response property `oneOf` list for the response status `400`
  - added the new `min` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMinimumLength]/rule` response property for the response status `400`
  - added the new `min_items` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMinimumLength]/rule` response property for the response status `400`
  - removed the `max_length` enum value from the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`

[Change history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/api-products/:id/patch.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kong/konnect-api/revisions/9ca62eba4eca/schema)
