---
title: "Changes to Save API Proxy for Promotion"
method: PUT
path: "/apiops/projects/{projectName}/apiProxies/promotion"
---

# Changes to Save API Proxy for Promotion

`PUT /apiops/projects/{projectName}/apiProxies/promotion`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 5 of 21 revisions.

- **2026-10-28** `e083046b24cd`: 1945 warning, 707 info
- **2026-10-20** `d1a546deccf0`: 36 breaking, 222 warning
- **2026-10-16** `68680081f7b0`: 10 info
- **2026-10-11** `e0059a98b407`: 3 breaking, 20 warning, 3 info
- **2026-08-11** `9ae232e55479`: 1 info

## Changes

- **2026-10-28** `e083046b24cd`: 1945 warning, 707 info
  - removed the request property `a2aRouting/backendServers/items/resolvedBearerToken`
  - removed the request property `a2aRouting/backendServers/items/resolvedClientSecret`
  - removed the request property `a2aRouting/effectiveBackendA2aServers/items/resolvedBearerToken`
  - removed the request property `a2aRouting/effectiveBackendA2aServers/items/resolvedClientSecret`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/circuitBreakerForClientBan`
  - removed the request property `apiMethodList/items/errorPolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/clientKey`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/circuitBreakerForClientBan`
  - removed the request property `apiMethodList/items/requestPolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/clientKey`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolInvoke]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/circuitBreakerForClientBan`
  - removed the request property `apiMethodList/items/responsePolicyList/items/oneOf[#/components/schemas/PolicyClientBanner]/allOf[subschema #2]/clientKey`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentCall]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedBearerToken`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiA2aAgentInvoke]/allOf[subschema #2]/a2aAgent/resolvedClientSecret`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedBearerToken`
  - removed the request property `errorPolicyList/items/oneOf[#/components/schemas/PolicyAiMcpToolCall]/allOf[subschema #2]/mcpServer/resolvedClientSecret`
  - …2612 more
- **2026-10-20** `d1a546deccf0`: 36 breaking, 222 warning
  - request property `apiProxyPublishToPortal/enumApiProxyPublishToPortal` was restricted to a list of enum values
  - request property `enumProxyCreationType` was restricted to a list of enum values
  - request property `proxyGroup/idempotencySettings/cacheStorageType` was restricted to a list of enum values
  - request property `proxyGroup/idempotencySettings/handlingAction` was restricted to a list of enum values
  - request property `proxyGroup/idempotencySettings/keyType` was restricted to a list of enum values
  - request property `proxyGroupList/items/idempotencySettings/cacheStorageType` was restricted to a list of enum values
  - request property `proxyGroupList/items/idempotencySettings/handlingAction` was restricted to a list of enum values
  - request property `proxyGroupList/items/idempotencySettings/keyType` was restricted to a list of enum values
  - request property `routing/loadBalanceAlgorithm` was restricted to a list of enum values
  - request property `routing/queryEncodingMode` was restricted to a list of enum values
  - request property `routing/requestCompressOverride` was restricted to a list of enum values
  - request property `routing/requestDecompressOverride` was restricted to a list of enum values
  - request property `routing/responseDecompressOverride` was restricted to a list of enum values
  - request property `routing/taskFlowManagerToApi/enumMonitorLogRetention` was restricted to a list of enum values
  - request property `soapApiPortType` was restricted to a list of enum values
  - request property `type` was restricted to a list of enum values
  - the `enumProxyCreationType` request property type changed from `object` to `string`
  - the `revision` request property format changed from no format to `int32`
  - the `routing/customMessageHttpStatusCode` request property format changed from no format to `int32`
  - the `routing/proxyPort` request property format changed from no format to `int32`
  - the `soapApiPortType` request property type changed from `object` to `string`
  - the `soapSchemaList/items/schemaNo` request property format changed from no format to `int32`
  - the `type` request property type changed from `object` to `string`
  - the response property `proxyGroup/cacheSettings/handlingAction` became optional for the status `200`
  - the response property `proxyGroup/cacheSettings/name` became optional for the status `200`
  - the response property `proxyGroup/corsSettings/name` became optional for the status `200`
  - the response property `proxyGroup/idempotencySettings/variableList/items/name` became optional for the status `200`
  - the response property `proxyGroup/idempotencySettings/variableList/items/type` became optional for the status `200`
  - the response property `proxyGroupList/items/cacheSettings/handlingAction` became optional for the status `200`
  - the response property `proxyGroupList/items/cacheSettings/name` became optional for the status `200`
  - the response property `proxyGroupList/items/corsSettings/name` became optional for the status `200`
  - the response property `proxyGroupList/items/idempotencySettings/variableList/items/name` became optional for the status `200`
  - the response property `proxyGroupList/items/idempotencySettings/variableList/items/type` became optional for the status `200`
  - the `enumProxyCreationType` response's property type changed from `object` to `string` for status `200`
  - the `soapApiPortType` response's property type changed from `object` to `string` for status `200`
  - the `type` response's property type changed from `object` to `string` for status `200`
  - the `proxyGroup/idempotencySettings/retentionInDays` request property's max was set to `30.00`
  - the `proxyGroupList/items/idempotencySettings/retentionInDays` request property's max was set to `30.00`
  - the `proxyGroup/idempotencySettings/retentionInDays` request property's min was set to `1.00`
  - the `proxyGroupList/items/idempotencySettings/retentionInDays` request property's min was set to `1.00`
  - …218 more
  - …this revision’s changelog is incomplete
- **2026-10-16** `68680081f7b0`: 10 info
  - added the new optional request property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerDay`
  - added the new optional request property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerHour`
  - added the new optional request property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerMinute`
  - added the new optional request property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerMonth`
  - added the new optional request property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/usdPerMinute`
  - added the optional property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerDay` to the response with the `200` status
  - added the optional property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerHour` to the response with the `200` status
  - added the optional property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerMinute` to the response with the `200` status
  - added the optional property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/requestsPerMonth` to the response with the `200` status
  - added the optional property `aiAppBudget/allOf[#/components/schemas/AiTokenBudget]/usdPerMinute` to the response with the `200` status
- **2026-10-11** `e0059a98b407`: 3 breaking, 20 warning, 3 info
  - added `#/components/schemas/AiTokenBudget` to the `aiAppBudget` request property `allOf` list
  - the `aiAppBudget` request property type changed from `object` to no type
  - the `aiAppBudget` response's property type changed from `object` to no type for status `200`
  - removed the request property `aiAppBudget/cheaperModelId`
  - removed the request property `aiAppBudget/modelBudgets`
  - removed the request property `aiAppBudget/monthlyBudgetUsd`
  - removed the request property `aiAppBudget/providerBudgets`
  - removed the request property `aiAppBudget/tokensPerDay`
  - removed the request property `aiAppBudget/tokensPerHour`
  - removed the request property `aiAppBudget/tokensPerMinute`
  - removed the request property `aiAppBudget/tokensPerMonth`
  - removed the request property `aiAppBudget/usdPerDay`
  - removed the request property `aiAppBudget/usdPerHour`
  - removed the optional property `aiAppBudget/cheaperModelId` from the response with the `200` status
  - removed the optional property `aiAppBudget/modelBudgets` from the response with the `200` status
  - removed the optional property `aiAppBudget/monthlyBudgetUsd` from the response with the `200` status
  - removed the optional property `aiAppBudget/providerBudgets` from the response with the `200` status
  - removed the optional property `aiAppBudget/tokensPerDay` from the response with the `200` status
  - removed the optional property `aiAppBudget/tokensPerHour` from the response with the `200` status
  - removed the optional property `aiAppBudget/tokensPerMinute` from the response with the `200` status
  - removed the optional property `aiAppBudget/tokensPerMonth` from the response with the `200` status
  - removed the optional property `aiAppBudget/usdPerDay` from the response with the `200` status
  - removed the optional property `aiAppBudget/usdPerHour` from the response with the `200` status
  - request property `aiAppBudget` deprecated
  - added `#/components/schemas/AiTokenBudget` to the `aiAppBudget` response property `allOf` list for the response status `200`
  - response property `aiAppBudget` deprecated
- **2026-08-11** `9ae232e55479`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/apiProxies/promotion/put.md) - [API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [Page](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/apiProxies/promotion/put)
