---
title: "Changes to Create a new Upstream"
method: POST
path: "/v2/control-planes/{controlPlaneId}/core-entities/upstreams"
---

# Changes to Create a new Upstream

`POST /v2/control-planes/{controlPlaneId}/core-entities/upstreams`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 9 of 52 revisions.

- **2025-10-29** `19e869275e28` — 14 info
- **2025-09-16** `f03059016622` — 4 breaking, 36 warning
- **2025-08-22** `96118a9cd7f4` — 1 breaking, 57 info
- **2025-08-12** `9ca62eba4eca` — 2 breaking
- **2025-07-22** `2c77aeaee5fb` — 1 breaking, 1 info
- **2025-07-15** `dbc2de5f2663` — 1 warning, 5 info
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
- **2024-12-06** `426663331655` — 1 breaking
- **2024-11-11** `08ead66e9ebb` — 19 breaking, 21 info

## Changes

- **2025-10-29** `19e869275e28` — 14 info
  - the `active` request property default value `{"concurrency":10,"healthy":{"http_statuses":[200,302],"interval":0,"successes":0},"http_path":"/","https_verify_certificate":true,"timeout":1,"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}}` was added
  - the `healthchecks` request property default value `{"active":{"concurrency":10,"healthy":{"http_statuses":[200,302],"interval":0,"successes":0},"http_path":"/","https_verify_certificate":true,"timeout":1,"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}},"passive":{"healthy":{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0},"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}}}` was added
  - the `healthy` request property default value `{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0}` was added
  - the `healthy` request property default value `{"http_statuses":[200,302],"interval":0,"successes":0}` was added
  - the `passive` request property default value `{"healthy":{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0},"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}}` was added
  - the `unhealthy` request property default value `{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}` was added
  - the `unhealthy` request property default value `{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}` was added
  - the `active` response's property default value `{"concurrency":10,"healthy":{"http_statuses":[200,302],"interval":0,"successes":0},"http_path":"/","https_verify_certificate":true,"timeout":1,"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}}` was added for the status `201`
  - the `healthchecks` response's property default value `{"active":{"concurrency":10,"healthy":{"http_statuses":[200,302],"interval":0,"successes":0},"http_path":"/","https_verify_certificate":true,"timeout":1,"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}},"passive":{"healthy":{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0},"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}}}` was added for the status `201`
  - the `healthy` response's property default value `{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0}` was added for the status `201`
  - the `healthy` response's property default value `{"http_statuses":[200,302],"interval":0,"successes":0}` was added for the status `201`
  - the `passive` response's property default value `{"healthy":{"http_statuses":[200,201,202,203,204,205,206,207,208,226,300,301,302,303,304,305,306,307,308],"successes":0},"type":"http","unhealthy":{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}}` was added for the status `201`
  - the `unhealthy` response's property default value `{"http_failures":0,"http_statuses":[429,404,500,501,502,503,504,505],"interval":0,"tcp_failures":0,"timeouts":0}` was added for the status `201`
  - the `unhealthy` response's property default value `{"http_failures":0,"http_statuses":[429,500,503],"tcp_failures":0,"timeouts":0}` was added for the status `201`
- **2025-09-16** `f03059016622` — 4 breaking, 36 warning
  - the `hash_fallback_query_arg` request property's minLength was increased from `0` to `1`
  - the `hash_fallback_uri_capture` request property's minLength was increased from `0` to `1`
  - the `hash_on_query_arg` request property's minLength was increased from `0` to `1`
  - the `hash_on_uri_capture` request property's minLength was increased from `0` to `1`
  - the `healthchecks/active/concurrency` request property's max was set to `2147483648.00`
  - the `healthchecks/active/healthy/http_statuses/items/` request property's max was set to `999.00`
  - the `healthchecks/active/healthy/interval` request property's max was set to `65535.00`
  - the `healthchecks/active/healthy/successes` request property's max was set to `255.00`
  - the `healthchecks/active/timeout` request property's max was set to `65535.00`
  - the `healthchecks/active/unhealthy/http_failures` request property's max was set to `255.00`
  - the `healthchecks/active/unhealthy/http_statuses/items/` request property's max was set to `999.00`
  - the `healthchecks/active/unhealthy/interval` request property's max was set to `65535.00`
  - the `healthchecks/active/unhealthy/tcp_failures` request property's max was set to `255.00`
  - the `healthchecks/active/unhealthy/timeouts` request property's max was set to `255.00`
  - the `healthchecks/passive/healthy/http_statuses/items/` request property's max was set to `999.00`
  - the `healthchecks/passive/healthy/successes` request property's max was set to `255.00`
  - the `healthchecks/passive/unhealthy/http_failures` request property's max was set to `255.00`
  - the `healthchecks/passive/unhealthy/http_statuses/items/` request property's max was set to `999.00`
  - the `healthchecks/passive/unhealthy/tcp_failures` request property's max was set to `255.00`
  - the `healthchecks/passive/unhealthy/timeouts` request property's max was set to `255.00`
  - the `healthchecks/threshold` request property's max was set to `100.00`
  - the `slots` request property's max was set to `65536.00`
  - the `healthchecks/active/concurrency` request property's min was set to `1.00`
  - the `healthchecks/active/healthy/http_statuses/items/` request property's min was set to `100.00`
  - the `healthchecks/active/healthy/interval` request property's min was set to `0.00`
  - the `healthchecks/active/healthy/successes` request property's min was set to `0.00`
  - the `healthchecks/active/timeout` request property's min was set to `0.00`
  - the `healthchecks/active/unhealthy/http_failures` request property's min was set to `0.00`
  - the `healthchecks/active/unhealthy/http_statuses/items/` request property's min was set to `100.00`
  - the `healthchecks/active/unhealthy/interval` request property's min was set to `0.00`
  - the `healthchecks/active/unhealthy/tcp_failures` request property's min was set to `0.00`
  - the `healthchecks/active/unhealthy/timeouts` request property's min was set to `0.00`
  - the `healthchecks/passive/healthy/http_statuses/items/` request property's min was set to `100.00`
  - the `healthchecks/passive/healthy/successes` request property's min was set to `0.00`
  - the `healthchecks/passive/unhealthy/http_failures` request property's min was set to `0.00`
  - the `healthchecks/passive/unhealthy/http_statuses/items/` request property's min was set to `100.00`
  - the `healthchecks/passive/unhealthy/tcp_failures` request property's min was set to `0.00`
  - the `healthchecks/passive/unhealthy/timeouts` request property's min was set to `0.00`
  - the `healthchecks/threshold` request property's min was set to `0.00`
  - the `slots` request property's min was set to `10.00`
- **2025-08-22** `96118a9cd7f4` — 1 breaking, 57 info
  - the response property `healthchecks/active/headers` became nullable for the status `201`
  - the request property `healthchecks/active/headers` became nullable
  - the `algorithm` request property default value `round-robin` was added
  - the `concurrency` request property default value `10` was added
  - the `hash_fallback` request property default value `none` was added
  - the `hash_on` request property default value `none` was added
  - the `hash_on_cookie_path` request property default value `/` was added
  - the `http_failures` request property default value `0` was added
  - the `http_failures` request property default value `0` was added
  - the `http_path` request property default value `/` was added
  - the `http_statuses` request property default value `200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308` was added
  - the `http_statuses` request property default value `200, 302` was added
  - the `http_statuses` request property default value `429, 404, 500, 501, 502, 503, 504, 505` was added
  - the `http_statuses` request property default value `429, 500, 503` was added
  - the `https_verify_certificate` request property default value `true` was added
  - the `interval` request property default value `0` was added
  - the `interval` request property default value `0` was added
  - the `slots` request property default value `10000` was added
  - the `sticky_sessions_cookie_path` request property default value `/` was added
  - the `successes` request property default value `0` was added
  - the `successes` request property default value `0` was added
  - the `tcp_failures` request property default value `0` was added
  - the `tcp_failures` request property default value `0` was added
  - the `threshold` request property default value `0` was added
  - the `timeout` request property default value `1` was added
  - the `timeouts` request property default value `0` was added
  - the `timeouts` request property default value `0` was added
  - the `type` request property default value `http` was added
  - the `type` request property default value `http` was added
  - the `use_srv_name` request property default value `false` was added
  - the `algorithm` response's property default value `round-robin` was added for the status `201`
  - the `concurrency` response's property default value `10` was added for the status `201`
  - the `hash_fallback` response's property default value `none` was added for the status `201`
  - the `hash_on` response's property default value `none` was added for the status `201`
  - the `hash_on_cookie_path` response's property default value `/` was added for the status `201`
  - the `http_failures` response's property default value `0` was added for the status `201`
  - the `http_failures` response's property default value `0` was added for the status `201`
  - the `http_path` response's property default value `/` was added for the status `201`
  - the `http_statuses` response's property default value `200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308` was added for the status `201`
  - the `http_statuses` response's property default value `200, 302` was added for the status `201`
  - …18 more
- **2025-08-12** `9ca62eba4eca` — 2 breaking
  - the `healthchecks/active/headers/additionalProperties/` request property type changed from `string` to `array`
  - the `healthchecks/active/headers/additionalProperties/` response's property type changed from `string` to `array` for status `201`
- **2025-07-22** `2c77aeaee5fb` — 1 breaking, 1 info
  - the response property `tags` became nullable for the status `201`
  - the request property `tags` became nullable
- **2025-07-15** `dbc2de5f2663` — 1 warning, 5 info
  - added the new `sticky-sessions` enum value to the `algorithm` response property for the response status `201`
  - added the new optional request property `sticky_sessions_cookie`
  - added the new optional request property `sticky_sessions_cookie_path`
  - added the new `sticky-sessions` enum value to the request property `algorithm`
  - added the optional property `sticky_sessions_cookie` to the response with the `201` status
  - added the optional property `sticky_sessions_cookie_path` to the response with the `201` status
- **2025-04-15** `fc6abbc537f3` — 2 breaking, 6 info
  - the response property `created_at` became nullable for the status `201`
  - the response property `updated_at` became nullable for the status `201`
  - the request optional property `created_at` became not read-only
  - the request optional property `updated_at` became not read-only
  - the request property `created_at` became nullable
  - the request property `updated_at` became nullable
  - the response optional property `created_at` became not read-only for the status `201`
  - the response optional property `updated_at` became not read-only for the status `201`
- **2024-12-06** `426663331655` — 1 breaking
  - the request property `tags` became not nullable
- **2024-11-11** `08ead66e9ebb` — 19 breaking, 21 info
  - the request property `name` became required
  - the response property `algorithm` became nullable for the status `201`
  - the response property `client_certificate` became nullable for the status `201`
  - the response property `hash_fallback` became nullable for the status `201`
  - the response property `hash_fallback_header` became nullable for the status `201`
  - the response property `hash_fallback_query_arg` became nullable for the status `201`
  - the response property `hash_fallback_uri_capture` became nullable for the status `201`
  - the response property `hash_on` became nullable for the status `201`
  - the response property `hash_on_cookie` became nullable for the status `201`
  - the response property `hash_on_cookie_path` became nullable for the status `201`
  - the response property `hash_on_header` became nullable for the status `201`
  - the response property `hash_on_query_arg` became nullable for the status `201`
  - the response property `hash_on_uri_capture` became nullable for the status `201`
  - the response property `healthchecks` became nullable for the status `201`
  - the response property `host_header` became nullable for the status `201`
  - the response property `id` became nullable for the status `201`
  - the response property `slots` became nullable for the status `201`
  - the response property `tags` became nullable for the status `201`
  - the response property `use_srv_name` became nullable for the status `201`
  - the request optional property `id` became not read-only
  - the request property `algorithm` became nullable
  - the request property `client_certificate` became nullable
  - the request property `hash_fallback` became nullable
  - the request property `hash_fallback_header` became nullable
  - the request property `hash_fallback_query_arg` became nullable
  - the request property `hash_fallback_uri_capture` became nullable
  - the request property `hash_on` became nullable
  - the request property `hash_on_cookie` became nullable
  - the request property `hash_on_cookie_path` became nullable
  - the request property `hash_on_header` became nullable
  - the request property `hash_on_query_arg` became nullable
  - the request property `hash_on_uri_capture` became nullable
  - the request property `healthchecks` became nullable
  - the request property `host_header` became nullable
  - the request property `id` became nullable
  - the request property `slots` became nullable
  - the request property `tags` became nullable
  - the request property `use_srv_name` became nullable
  - the response optional property `id` became not read-only for the status `201`
  - the response property `name` became required for the status `201`

---

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