---
title: "Upsert a Cloned Plugin"
method: PUT
path: "/v2/control-planes/{controlPlaneId}/core-entities/cloned-plugins/{ClonedPluginId}"
tags: ["Cloned Plugins"]
---

# Upsert a Cloned Plugin

`PUT /v2/control-planes/{controlPlaneId}/core-entities/cloned-plugins/{ClonedPluginId}`

## Request

- Base URL: `https://global.api.konghq.com`
- URL: `https://global.api.konghq.com/v2/control-planes/{controlPlaneId}/core-entities/cloned-plugins/{ClonedPluginId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
- TypeScript: <https://skmtc.dev/kong/apis/konnect-api/docs/v2/control-planes/:controlPlaneId/core-entities/cloned-plugins/:ClonedPluginId/put.ts> (a function with typed inputs; its response is checked against the schema)

Create or Update Cloned Plugin using ID or name.

## Request body

- ClonedPlugin
  - `created_at` integer, nullable: Unix epoch when the resource was created.
  - `id` string, nullable: A string representing a UUID (universally unique identifier).
  - `name` string, required: The name to associate with the cloned plugin. Consider using a distinct prefix for cloned plugins to avoid naming conflicts with new bundled plugins in future Kong releases.
  - `priority` integer, nullable: The plugin execution priority. If not set, it will inherit the priority of the referenced plugin.
  - `ref` string, required: The name of the base plugin that this cloned plugin references. This plugin must be cloneable.
  - `tags` string[], nullable: A set of strings representing tags.
  - `updated_at` integer, nullable: Unix epoch when the resource was last updated.

## Response `200`

Successfully upserted Cloned Plugin

- ClonedPlugin
  - `created_at` integer, nullable: Unix epoch when the resource was created.
  - `id` string, nullable: A string representing a UUID (universally unique identifier).
  - `name` string, required: The name to associate with the cloned plugin. Consider using a distinct prefix for cloned plugins to avoid naming conflicts with new bundled plugins in future Kong releases.
  - `priority` integer, nullable: The plugin execution priority. If not set, it will inherit the priority of the referenced plugin.
  - `ref` string, required: The name of the base plugin that this cloned plugin references. This plugin must be cloneable.
  - `tags` string[], nullable: A set of strings representing tags.
  - `updated_at` integer, nullable: Unix epoch when the resource was last updated.

## Other responses

- `401`: Unauthorized

## Changes

- **2026-07-06** `36da5cb9a674`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/control-planes/:controlPlaneId/core-entities/cloned-plugins/:ClonedPluginId/put.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.dev/kong/apis/konnect-api/revisions/f018071a4515?raw)
