---
title: "Changes to Create or update a custom plugin schema"
method: PUT
path: "/v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}"
---

# Changes to Create or update a custom plugin schema

`PUT /v2/control-planes/{controlPlaneId}/core-entities/plugin-schemas/{name}`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 3 of 52 revisions.

- **2025-08-22** `96118a9cd7f4` — 3 breaking
- **2025-06-27** `9f695af25102` — 1 info
- **2025-06-19** `60ce7598bbd0` — 4 breaking, 19 warning, 9 info

## Changes

- **2025-08-22** `96118a9cd7f4` — 3 breaking
  - the response property `item` became nullable for the status `200`
  - the response property `item/lua_schema` became nullable for the status `200`
  - the response property `item/name` became nullable for the status `200`
- **2025-06-27** `9f695af25102` — 1 info
  - added the non-success response with the status `400`
- **2025-06-19** `60ce7598bbd0` — 4 breaking, 19 warning, 9 info
  - the response's body type changed from `object` to no type for status `401`
  - media type `application/problem+json` was changed to a more general media type `application/json` for the response status `401`
  - media type `application/problem+json` was changed to a more general media type `application/json` for the response status `403`
  - media type `application/problem+json` was changed to a more general media type `application/json` for the response status `404`
  - removed the optional property `allOf[subschema #2]/detail` from the response with the `401` status
  - removed the optional property `allOf[subschema #2]/detail` from the response with the `403` status
  - removed the optional property `allOf[subschema #2]/detail` from the response with the `404` status
  - removed the optional property `allOf[subschema #2]/instance` from the response with the `401` status
  - removed the optional property `allOf[subschema #2]/instance` from the response with the `403` status
  - removed the optional property `allOf[subschema #2]/instance` from the response with the `404` status
  - removed the optional property `allOf[subschema #2]/status` from the response with the `401` status
  - removed the optional property `allOf[subschema #2]/status` from the response with the `403` status
  - removed the optional property `allOf[subschema #2]/status` from the response with the `404` status
  - removed the optional property `allOf[subschema #2]/title` from the response with the `401` status
  - removed the optional property `allOf[subschema #2]/title` from the response with the `403` status
  - removed the optional property `allOf[subschema #2]/title` from the response with the `404` status
  - removed the optional property `allOf[subschema #2]/type` from the response with the `401` status
  - removed the optional property `allOf[subschema #2]/type` from the response with the `403` status
  - removed the optional property `allOf[subschema #2]/type` from the response with the `404` status
  - removed the optional property `detail` from the response with the `401` status
  - removed the optional property `instance` from the response with the `401` status
  - removed the optional property `status` from the response with the `401` status
  - removed the optional property `title` from the response with the `401` status
  - added `#/components/schemas/KonnectCPLegacyBaseError` to the response body `allOf` list for the response status `401`
  - added `#/components/schemas/KonnectCPLegacyBaseError` to the response body `allOf` list for the response status `403`
  - added `#/components/schemas/KonnectCPLegacyBaseError` to the response body `allOf` list for the response status `404`
  - removed `#/components/schemas/BaseError` from the response body `allOf` list for the response status `401`
  - removed `#/components/schemas/BaseError` from the response body `allOf` list for the response status `403`
  - removed `#/components/schemas/BaseError` from the response body `allOf` list for the response status `404`
  - added the optional property `allOf[subschema #2]/message` to the response with the `401` status
  - added the optional property `allOf[subschema #2]/message` to the response with the `403` status
  - added the optional property `allOf[subschema #2]/message` to the response with the `404` status

---

[Operation](https://skmtc.dev/kong/apis/konnect-api/docs/v2/control-planes/:controlPlaneId/core-entities/plugin-schemas/:name/put.md) · [API](https://skmtc.dev/kong/apis/konnect-api.md) · [Page](https://skmtc.dev/kong/apis/konnect-api/changes/v2/control-planes/:controlPlaneId/core-entities/plugin-schemas/:name/put)
