---
title: "Changes to Create a RequestValidator plugin"
method: POST
path: "/v2/control-planes/{controlPlaneId}/core-entities/plugins#RequestValidator"
---

# Changes to Create a RequestValidator plugin

`POST /v2/control-planes/{controlPlaneId}/core-entities/plugins#RequestValidator`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 16 of 52 revisions.

- **2026-07-06** `36da5cb9a674` — 2 info
- **2026-06-11** `62c54f1094bb` — 1 breaking, 1 info
- **2026-04-24** `7d6a643707d9` — 2 info
- **2025-10-29** `19e869275e28` — 2 breaking
- **2025-09-16** `f03059016622` — 5 breaking
- **2025-08-22** `96118a9cd7f4` — 7 breaking, 19 info
- **2025-07-22** `2c77aeaee5fb` — 1 breaking, 4 warning, 5 info
- **2025-06-17** `c308b7426a7c` — 2 breaking
- **2025-05-21** `69704304ad5f` — 2 info
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
- **2025-03-05** `ceb048468954` — 3 breaking, 3 info
- **2025-02-10** `d833d4dbb1fa` — 1 breaking, 1 warning, 10 info
- **2024-12-13** `8aedc289a938` — 1 breaking
- **2024-12-06** `426663331655` — 1 breaking
- **2024-11-11** `08ead66e9ebb` — 4 breaking, 1 warning, 25 info
- **2024-09-11** `be7c36317ba6` — 1 info

## Changes

- **2026-07-06** `36da5cb9a674` — 2 info
  - added the new optional request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/array_length_compat`
  - added the optional property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/array_length_compat` to the response with the `201` status
- **2026-06-11** `62c54f1094bb` — 1 breaking, 1 info
  - the request property `allOf[#/components/schemas/PluginBase]/partials/items/path` became required
  - the response property `allOf[#/components/schemas/PluginBase]/partials/items/path` became required for the status `201`
- **2026-04-24** `7d6a643707d9` — 2 info
  - added the new optional request property `allOf[#/components/schemas/PluginBase]/condition`
  - added the optional property `allOf[#/components/schemas/PluginBase]/condition` to the response with the `201` status
- **2025-10-29** `19e869275e28` — 2 breaking
  - the `allOf[#/components/schemas/RequestValidatorPluginConfig]/name` request property type/format changed from `string`/`` to ``/``
  - the `allOf[#/components/schemas/RequestValidatorPluginConfig]/name` response's property type/format changed from `string`/`` to ``/`` for status `201`
- **2025-09-16** `f03059016622` — 5 breaking
  - the request property `allOf[#/components/schemas/PluginBase]/partials/items/name` became not nullable
  - the request property `allOf[#/components/schemas/PluginBase]/partials/items/path` became not nullable
  - the `allOf[#/components/schemas/PluginBase]/id` request property's minLength was increased from `0` to `1`
  - the `allOf[#/components/schemas/PluginBase]/name` request property's minLength was increased from `0` to `1`
  - the `allOf[#/components/schemas/PluginBase]/partials/items/id` request property's minLength was increased from `0` to `1`
- **2025-08-22** `96118a9cd7f4` — 7 breaking, 19 info
  - the response property `allOf[#/components/schemas/PluginBase]/partials/items/name` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/PluginBase]/partials/items/path` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/body_schema` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema/items/explode` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema/items/schema` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/PluginBase]/partials/items/name` became nullable
  - the request property `allOf[#/components/schemas/PluginBase]/partials/items/path` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/body_schema` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema/items/explode` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/parameter_schema/items/schema` became nullable
  - the `allowed_content_types` request property default value `application/json` was added
  - the `content_type_parameter_validation` request property default value `true` was added
  - the `enabled` request property default value `true` was added
  - the `protocols` request property default value `grpc, grpcs, http, https` was added
  - the `verbose_response` request property default value `false` was added
  - the `version` request property default value `kong` was added
  - the `allowed_content_types` response's property default value `application/json` was added for the status `201`
  - the `content_type_parameter_validation` response's property default value `true` was added for the status `201`
  - the `enabled` response's property default value `true` was added for the status `201`
  - the `protocols` response's property default value `grpc, grpcs, http, https` was added for the status `201`
  - the `verbose_response` response's property default value `false` was added for the status `201`
  - the `version` response's property default value `kong` was added for the status `201`
- **2025-07-22** `2c77aeaee5fb` — 1 breaking, 4 warning, 5 info
  - the response property `allOf[#/components/schemas/PluginBase]/tags` became nullable for the status `201`
  - added the new `draft201909` enum value to the `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version` response property for the response status `201`
  - added the new `draft202012` enum value to the `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version` response property for the response status `201`
  - added the new `draft6` enum value to the `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version` response property for the response status `201`
  - added the new `draft7` enum value to the `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version` response property for the response status `201`
  - the request property `allOf[#/components/schemas/PluginBase]/tags` became nullable
  - added the new `draft201909` enum value to the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version`
  - added the new `draft202012` enum value to the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version`
  - added the new `draft6` enum value to the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version`
  - added the new `draft7` enum value to the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/config/version`
- **2025-06-17** `c308b7426a7c` — 2 breaking
  - the `allOf[#/components/schemas/RequestValidatorPluginConfig]/protocols` request property type/format changed from `array`/`` to `array`/`set`
  - the `allOf[#/components/schemas/RequestValidatorPluginConfig]/protocols` response's property type/format changed from `array`/`` to `array`/`set` for status `201`
- **2025-05-21** `69704304ad5f` — 2 info
  - added the new optional request property `allOf[#/components/schemas/PluginBase]/partials`
  - added the optional property `allOf[#/components/schemas/PluginBase]/partials` to the response with the `201` status
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
  - the response property `allOf[#/components/schemas/PluginBase]/created_at` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/PluginBase]/updated_at` became nullable for the status `201`
  - the request optional property `allOf[#/components/schemas/PluginBase]/created_at` became not read-only
  - the request optional property `allOf[#/components/schemas/PluginBase]/updated_at` became not read-only
  - the request property `allOf[#/components/schemas/PluginBase]/created_at` became nullable
  - the request property `allOf[#/components/schemas/PluginBase]/updated_at` became nullable
  - the response optional property `allOf[#/components/schemas/PluginBase]/created_at` became not read-only for the status `201`
  - the response optional property `allOf[#/components/schemas/PluginBase]/updated_at` became not read-only for the status `201`
- **2025-03-05** `ceb048468954` — 3 breaking, 3 info
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/consumer` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/route` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/RequestValidatorPluginConfig]/service` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/consumer` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/route` became nullable
  - the request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/service` became nullable
- **2025-02-10** `d833d4dbb1fa` — 1 breaking, 1 warning, 10 info
  - added `#/components/schemas/PluginBase` to the request body `allOf` list
  - removed `#/components/schemas/Plugin` from the request body `allOf` list
  - added the new optional request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/consumer`
  - added the new optional request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/protocols`
  - added the new optional request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/route`
  - added the new optional request property `allOf[#/components/schemas/RequestValidatorPluginConfig]/service`
  - added `#/components/schemas/PluginBase` to the response body `allOf` list for the response status `201`
  - removed `#/components/schemas/Plugin` from the response body `allOf` list for the response status `201`
  - added the optional property `allOf[#/components/schemas/RequestValidatorPluginConfig]/consumer` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/RequestValidatorPluginConfig]/protocols` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/RequestValidatorPluginConfig]/route` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/RequestValidatorPluginConfig]/service` to the response with the `201` status
- **2024-12-13** `8aedc289a938` — 1 breaking
  - request body became required
- **2024-12-06** `426663331655` — 1 breaking
  - the request property `allOf[#/components/schemas/Plugin]/tags` became not nullable
- **2024-11-11** `08ead66e9ebb` — 4 breaking, 1 warning, 25 info
  - added the new required request property `allOf[#/components/schemas/Plugin]/config`
  - added the new required request property `allOf[#/components/schemas/Plugin]/name`
  - the `allOf[#/components/schemas/Plugin]/` request property type/format changed from ``/`` to `object`/``
  - the `allOf[#/components/schemas/Plugin]/` response's property type/format changed from ``/`` to `object`/`` for status `201`
  - removed `#/components/schemas/PluginWithoutParents, subschema #2` from the `allOf[#/components/schemas/Plugin]/` request property `allOf` list
  - added the new optional request property `allOf[#/components/schemas/Plugin]/consumer`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/consumer_group`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/enabled`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/id`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/instance_name`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/ordering`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/protocols`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/route`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/service`
  - added the new optional request property `allOf[#/components/schemas/Plugin]/tags`
  - added the optional property `allOf[#/components/schemas/Plugin]/consumer` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/consumer_group` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/created_at` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/enabled` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/id` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/instance_name` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/ordering` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/protocols` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/route` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/service` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/tags` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/Plugin]/updated_at` to the response with the `201` status
  - removed `#/components/schemas/PluginWithoutParents, subschema #2` from the `allOf[#/components/schemas/Plugin]/` response property `allOf` list for the response status `201`
  - added the required property `allOf[#/components/schemas/Plugin]/config` to the response with the `201` status
  - added the required property `allOf[#/components/schemas/Plugin]/name` to the response with the `201` status
- **2024-09-11** `be7c36317ba6` — 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/kong/apis/konnect-api/docs/v2/control-planes/:controlPlaneId/core-entities/plugins#RequestValidator/post.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/plugins#RequestValidator/post)
