---
title: "Update an API Product Version"
method: PATCH
path: "/v2/api-products/{apiProductId}/product-versions/{id}"
tags: ["API Product Versions"]
---

# Update an API Product Version

`PATCH /v2/api-products/{apiProductId}/product-versions/{id}`

Updates an API product version.

## Request body

- UpdateAPIProductVersionDTO — The request schema for updating a version of an API product. Note that the `publish_status` and `deprecated` fields are deprecated: Use [PortalProductVersion.publish_status](https://docs.konghq.com/konnect/api/portal-management/v2/#/operations/create-portal-product-version) instead.
  - `name` string, nullable — The version name of the API product version.
  - `publish_status` 'unpublished' | 'published' — The publish status of the API product version. Applies publish status to all related portal product versions. This field is deprecated: Use [PortalProductVersion.publish_status](https://docs.konghq.com/konnect/api/portal-management/v2/#/operations/create-portal-product-version) instead.
  - `deprecated` boolean, nullable — Indicates if the version of the API product is deprecated. Applies deprecation or removes deprecation from all related portal product versions. This field is deprecated: Use [PortalProductVersion.deprecated](https://docs.konghq.com/konnect/api/portal-management/v2/#/operations/create-portal-product-version) instead.
  - `notify` boolean — When set to `true`, and all the following conditions are true: - version of the API product deprecation has changed from `false` -> `true` - version of the API product is published then consumers of the now deprecated verion of the API product will be notified.
  - `gateway_service` GatewayServicePayload, nullable
    - `id` string, uuid, required — The identifier of a gateway service associated with the version of the API product.
    - `control_plane_id` string, uuid, required — The identifier of the control plane that the gateway service resides in
  - `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 "_".

## Response `200`

API product

- APIProductVersion
  - `id` string, uuid, required — The API product version identifier.
  - `name` string, required — The version of the API product
  - `gateway_service` object, nullable, required
    - `id` string, uuid, nullable, required — The identifier of a gateway service associated with the version of the API product.
    - `runtime_group_id` string, uuid, nullable — This field is deprecated, please use `control_plane_id` instead. The identifier of the control plane that the gateway service resides in
    - `control_plane_id` string, uuid, required — The identifier of the control plane that the gateway service resides in
  - `publish_status` 'unpublished' | 'published', required — This field is published if the API product version is published to at least one portal. This field is deprecated: Use [PortalProductVersion.publish_status](https://docs.konghq.com/konnect/api/portal-management/v2/#/operations/create-portal-product-version) instead.
  - `deprecated` boolean, required — Whether this API product version is deprecated in at least one portal. This field is deprecated: Use [PortalProductVersion.deprecated](https://docs.konghq.com/konnect/api/portal-management/v2/#/operations/create-portal-product-version) instead
  - `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 "_".
  - `auth_strategy_sync_errors` AuthStrategySyncError[], nullable — The set of errors encountered when trying to sync the auth strategies on the version
    - `plugin_name` string
    - `value` 'plugin_sync_error_comm' | 'plugin_sync_error_unknown' | 'plugin_sync_error_fatal' | 'plugin_sync_error_updating_plugin_refs'
    - `message` string, required
    - `info` object
      - `details` object[]
        - `type` string
        - `message` string[]
  - `portals` APIProductVersionPortal[], required — The list of portals which this API product version is configured for
    - `portal_id` string, uuid, required
    - `portal_name` string, required
    - `portal_product_version_id` string, uuid, required
    - `publish_status` 'published' | 'unpublished', required
    - `deprecated` boolean, required
    - `application_registration_enabled` boolean, required
    - `auto_approve_registration` boolean, required
    - `auth_strategies` APIProductVersionAuthStrategy[], required
      - `id` string, uuid, required
      - `name` string, required
  - `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.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict - V3 API is currently linked to the target gateway service
- `415` — Unsupported Media Type

## Changes

> 52 revisions in range; 1 could not be searched.

- **2025-10-29** `19e869275e28` — 1 warning
  - added the new `type` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2025-08-22** `96118a9cd7f4` — 7 breaking, 2 info
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterChoiceItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterDependentItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMaximumLength]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMinimumLength]/source` became nullable for the status `400`
  - …5 more
- **2025-03-13** `ddd4be7ea073` — 1 breaking
  - the response property `labels/additionalProperties/` became nullable for the status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/api-products/:apiProductId/product-versions/: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/72502a676a92/schema)
