--- title: "Edit stage" slug: "apigateway-stage-putstage" updated: 2026-09-17T09:35:41Z published: 2026-09-17T09:35:41Z canonical: "api.ncloud-docs.com/apigateway-stage-putstage" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Edit stage Available in Classic and VPC Edit stage information according to the user-defined conditions. ## Request The following describes the request format for the endpoint. The request format is as follows: | Method | URI | | --- | --- | | PUT | /api/v1/products/{product-id}/apis/{api-id}/stages/{stage-id} | ### Request headers For information about the headers common to all API Gateway APIs, see [API Gateway request headers](/docs/en/ai-application-service-apigateway#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `product-id` | String | Required | Product ID that the stage belongs to - 0 - 10 characters - See [View product list](/docs/en/apigateway-product-getproductlist) | | `api-id` | String | Required | ID of the API that the stage belongs to - 0 - 10 characters - See [View API](/docs/en/apigateway-api-apis) | | `stage-id` | String | Required | ID of the stage to edit - 0 - 10 characters - See [View stage list](/docs/en/apigateway-stage-getstagelist) | ### Request syntax The request syntax is as follows. ``` { "cacheTtlSec" : 0, "ipAclList" : "ipAclList", "throttleRps" : 6, "response" : "response", "isMaintenance" : true, "ipAclCode" : "ALLOWED", "endpointDomain" : "endpointDomain", "statusCode" : 1, "enabledContentEncoding": true, "minimumCompressionSize": 0 } ``` ### Request body The following describes the request body. | Field | Type | Required | Description | | --- | --- | --- | --- | | `cacheTtlSec` | Long | Optional | API cache TTL - 1 - 3600 seconds | | `ipAclList` | String | Conditional | IP ACL list - Required when entering `ipAclCode` | | `throttleRps` | Integer | Optional | Per-method per-second request limit - 1 - 2,147,483,647 | | `response` | String | Required | Response for the status code - 0 - 1500 characters | | `isMaintenance` | Boolean | Required | Maintenance settings - `true` \| `false` - `true`: enable - `false`: disable | | `ipAclCode` | String | Conditional | Whether to allow IP ACLs - `ALLOWED` \| `REJECTED` - `ALLOWED`: allow - `REJECTED`: deny - Required when entering `ipAclList` | | `endpointDomain` | String | Required | Endpoint domain | | `statusCode` | Integer | Required | Status code - 100 - 599 | | `enabledContentEncoding` | Boolean | Optional | Encoding settings - `true` \| `false` (default) - `true`: enable - `false`: disable | | `minimumCompressionSize` | Integer | Optional | Whether to compress data when sending - Enter a non-negative integer to enable compression - 0 - 10,485,760 - Compression is disabled if this field is not entered | ### Request example The following is a sample request. ``` curl --location --request PUT 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/stages/***gshi***' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --data '{ "cacheTtlSec": 1, "endpointDomain" : "http://sdfs.***", "isMaintenance": true, "response": "response", "statusCode": "200" }' ``` ## Response The following describes the response format. ### Response syntax The response syntax is as follows. ``` { "stage" : { "canaryDeployedTime" : "2000-01-23T04:56:07.000+00:00", "modifier" : "modifier", "canaryEndpointDomain" : "canaryEndpointDomain", "canaryThrottleRps" : 5, "cacheTtlSec" : 0, "stageName" : "stageName", "throttleRps" : 4, "monthQuotaRequest" : 9, "canaryCacheTtlSec" : 6, "canaryDistributionRate" : 5.962134, "apiId" : "apiId", "stageId" : "stageId", "deployedStageDeploymentNo" : 7, "useDistributionRate" : true, "canaryDeploymentDescription" : "canaryDeploymentDescription", "dayQuotaRequest" : 2, "isMaintenance" : true, "rateRps" : 3, "endpointDomain" : "endpointDomain", "ipAclList" : "ipAclList", "canaryDeploymentNo" : 1, "regTime" : "2000-01-23T04:56:07.000+00:00", "response" : "response", "canaryConditions" : [ { "parameterName" : "parameterName", "parameterCode" : "REQUEST_HEADER", "parameterValue" : "parameterValue" } ], "tenantId" : "tenantId", "ipAclCode" : "ALLOWED", "statusCode" : 2, "enabledContentEncoding": true, "minimumCompressionSize": 0 } } ``` ### Response status codes For information about the HTTP status codes common to all API Gateway APIs, see [API Gateway response status codes](/docs/en/ai-application-service-apigateway#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The following is a sample response. ``` { "stage": { "tenantId": "***e230cebc1402ba89b148896951***", "modifier": "***d3020-5bb7-11ec-bfb8-246e96591***", "stageId": "***gshi***", "apiId": "***51hs***", "stageName": "stage000", "endpointDomain": "http://sdfs.****", "rateRps": 10, "dayQuotaRequest": 6, "monthQuotaRequest": 15, "deployedStageDeploymentNo": 253***, "regTime": "2024-05-10T01:59:17Z", "isMaintenance": true, "statusCode": 200, "response": "response", "enabledContentEncoding": false } } ```