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

# Changes to Create a Saml plugin

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

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 17 of 52 revisions.

- **2026-06-26** `4a39c7f85509` — 2 breaking, 2 info
- **2026-06-11** `62c54f1094bb` — 1 breaking, 1 info
- **2026-04-24** `7d6a643707d9` — 2 info
- **2026-01-13** `ad02b4e24eb2` — 2 info
- **2025-10-29** `19e869275e28` — 2 breaking, 2 info
- **2025-09-16** `f03059016622` — 5 breaking
- **2025-08-22** `96118a9cd7f4` — 25 breaking, 109 info
- **2025-07-22** `2c77aeaee5fb` — 6 breaking, 6 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` — 2 breaking, 2 info
- **2025-02-10** `d833d4dbb1fa` — 1 breaking, 1 warning, 8 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` — 28 warning, 4 info

## Changes

- **2026-06-26** `4a39c7f85509` — 2 breaking, 2 info
  - the `allOf[#/components/schemas/SamlPluginConfig]/config/redis/port` request property type/format changed from `integer`/`` to `string`/``
  - the `allOf[#/components/schemas/SamlPluginConfig]/config/redis/port` response's property type/format changed from `integer`/`` to `string`/`` for status `201`
  - the `port` request property default value changed from `6379` to `6379`
  - the `port` response's property default value changed from `6379` to `6379` for the status `201`
- **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
- **2026-01-13** `ad02b4e24eb2` — 2 info
  - added the new optional request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/cloud_authentication`
  - added the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/cloud_authentication` to the response with the `201` status
- **2025-10-29** `19e869275e28` — 2 breaking, 2 info
  - the `allOf[#/components/schemas/SamlPluginConfig]/name` request property type/format changed from `string`/`` to ``/``
  - the `allOf[#/components/schemas/SamlPluginConfig]/name` response's property type/format changed from `string`/`` to ``/`` for status `201`
  - removed the pattern `^[0-9a-zA-Z/_+]+$` from the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_secret`
  - the `allOf[#/components/schemas/SamlPluginConfig]/config/session_secret` response's property pattern `^[0-9a-zA-Z/_+]+$` was removed for the 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` — 25 breaking, 109 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/SamlPluginConfig]/config/anonymous` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/idp_certificate` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/cluster_nodes` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/keepalive_backlog` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/password` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/prefix` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_master` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_nodes` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_password` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_username` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/server_name` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/socket` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/username` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/request_signing_certificate` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/request_signing_key` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/response_encryption_key` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_cookie_domain` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_cookie_secure` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_memcached_prefix` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_memcached_socket` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_request_headers` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_response_headers` 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/SamlPluginConfig]/config/anonymous` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/idp_certificate` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/cluster_nodes` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/keepalive_backlog` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/password` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/prefix` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_master` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_nodes` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_password` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/sentinel_username` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/server_name` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis/socket` became nullable
  - …94 more
- **2025-07-22** `2c77aeaee5fb` — 6 breaking, 6 info
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config` became required
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/assertion_consumer_path` became required
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/idp_sso_url` became required
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/issuer` became required
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_secret` became required
  - the response property `allOf[#/components/schemas/PluginBase]/tags` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/PluginBase]/tags` became nullable
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config` became required for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/assertion_consumer_path` became required for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/idp_sso_url` became required for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/issuer` became required for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/config/session_secret` became required for the status `201`
- **2025-06-17** `c308b7426a7c` — 2 breaking
  - the `allOf[#/components/schemas/SamlPluginConfig]/protocols` request property type/format changed from `array`/`` to `array`/`set`
  - the `allOf[#/components/schemas/SamlPluginConfig]/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` — 2 breaking, 2 info
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/route` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/SamlPluginConfig]/service` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/route` became nullable
  - the request property `allOf[#/components/schemas/SamlPluginConfig]/service` became nullable
- **2025-02-10** `d833d4dbb1fa` — 1 breaking, 1 warning, 8 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/SamlPluginConfig]/protocols`
  - added the new optional request property `allOf[#/components/schemas/SamlPluginConfig]/route`
  - added the new optional request property `allOf[#/components/schemas/SamlPluginConfig]/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/SamlPluginConfig]/protocols` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/SamlPluginConfig]/route` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/SamlPluginConfig]/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` — 28 warning, 4 info
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_cluster_max_redirections`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_cluster_nodes`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_connect_timeout`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_host`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_password`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_port`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_prefix`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_read_timeout`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_send_timeout`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_server_name`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_socket`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_ssl`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_ssl_verify`
  - removed the request property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_username`
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_cluster_max_redirections` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_cluster_nodes` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_connect_timeout` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_host` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_password` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_port` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_prefix` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_read_timeout` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_send_timeout` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_server_name` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_socket` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_ssl` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_ssl_verify` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/session_redis_username` from the response with the `201` status
  - added the new optional request property `allOf[#/components/schemas/Plugin]/allOf[#/components/schemas/PluginWithoutParents]/ordering`
  - added the new optional request property `allOf[#/components/schemas/SamlPluginConfig]/config/redis`
  - added the optional property `allOf[#/components/schemas/Plugin]/allOf[#/components/schemas/PluginWithoutParents]/ordering` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/SamlPluginConfig]/config/redis` to the response with the `201` status

---

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