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

# Changes to Create a UpstreamOauth plugin

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

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 14 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
- **2025-09-16** `f03059016622` — 5 breaking
- **2025-08-22** `96118a9cd7f4` — 21 breaking, 89 info
- **2025-07-22** `2c77aeaee5fb` — 4 breaking, 4 info
- **2025-06-17** `c308b7426a7c` — 2 breaking
- **2025-05-21** `69704304ad5f` — 2 info
- **2025-04-22** `8b14ad5a4677` — 1 breaking, 3 info
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
- **2025-03-05** `ceb048468954` — 4 breaking, 4 info
- **2025-02-10** `d833d4dbb1fa` — 1 info

## Changes

- **2026-06-26** `4a39c7f85509` — 2 breaking, 2 info
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/port` request property type/format changed from `integer`/`` to `string`/``
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/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/UpstreamOauthPluginConfig]/config/cache/redis/cloud_authentication`
  - added the optional property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/cloud_authentication` to the response with the `201` status
- **2025-10-29** `19e869275e28` — 2 breaking
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/name` request property type/format changed from `string`/`` to ``/``
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/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` — 21 breaking, 89 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/UpstreamOauthPluginConfig]/config/behavior` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/cluster_nodes` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/keepalive_backlog` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/password` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_master` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_nodes` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_password` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_username` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/server_name` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/username` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/http_proxy` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/http_proxy_authorization` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/https_proxy` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/https_proxy_authorization` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/no_proxy` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/client_id` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/client_secret` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/password` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/username` 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/UpstreamOauthPluginConfig]/config/behavior` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/cluster_nodes` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/keepalive_backlog` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/password` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_master` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_nodes` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_password` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/sentinel_username` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/server_name` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/cache/redis/username` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/http_proxy` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/http_proxy_authorization` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/https_proxy` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/https_proxy_authorization` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/client/no_proxy` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/client_id` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/client_secret` became nullable
  - …70 more
- **2025-07-22** `2c77aeaee5fb` — 4 breaking, 4 info
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config` became required
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth` became required
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/token_endpoint` 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/UpstreamOauthPluginConfig]/config` became required for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth` became required for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/token_endpoint` became required for the status `201`
- **2025-06-17** `c308b7426a7c` — 2 breaking
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/protocols` request property type/format changed from `array`/`` to `array`/`set`
  - the `allOf[#/components/schemas/UpstreamOauthPluginConfig]/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-22** `8b14ad5a4677` — 1 breaking, 3 info
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/scopes` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/config/oauth/scopes` became nullable
  - the `scopes` request property default value `` was added
  - the `scopes` response's property default value `` was added for the status `201`
- **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` — 4 breaking, 4 info
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/consumer` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/consumer_group` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/route` became nullable for the status `201`
  - the response property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/service` became nullable for the status `201`
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/consumer` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/consumer_group` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/route` became nullable
  - the request property `allOf[#/components/schemas/UpstreamOauthPluginConfig]/service` became nullable
- **2025-02-10** `d833d4dbb1fa` — 1 info
  - endpoint added

---

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