Create stage

Prev Next

Available in Classic and VPC

Create a stage according to the user-defined conditions.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /products/{product-id}/apis/{api-id}/stages

Request headers

For headers common to API Gateway, see API Gateway common request headers.

Request path parameters

The following describes the parameters.

Field Type Required Description
product-id String Required ID of product the API belongs to
api-id String Required ID of API to create stage
  • 0 to 10 characters
  • Check through Get API

Request syntax

The request syntax is as follows:

{
    "cacheTtlSec" : 0,
    "ipAclList" : "ipAclList",
    "stageName" : "stageName",
    "throttleRps" : 6,
    "response" : "response",
    "deploymentDescription" : "deploymentDescription",
    "isMaintenance" : true,
    "enabledContentEncoding": true,
    "minimumCompressionSize": 0,
    "ipAclCode" : "ALLOWED",
    "endpointDomain" : "endpointDomain",
    "statusCode" : 1
}

Request body

You can include the following data in the body of your request:

Field Type Required Description
cacheTtlSec Integer Optional API cache TTL
  • 1 - 3600 seconds
ipAclList String Conditional IP ACL list
  • Required when entering ipAclCode
stageName String Required Stage name
  • 1 to 20 characters, English letters, numbers, and special characters "-" and "_" allowed
throttleRps Integer Optional Limit of requests per second by method
  • 1 - 2,147,483,647
response String Optional Response for the status code
  • 0 to 1500 characters
deploymentDescription String Optional Description about the stage deployment
isMaintenance Boolean Optional Set maintenance
  • true | false (default)
    • true: set
    • false: not set
enabledContentEncoding Boolean Optional Set encoding
  • true | false (default)
    • true: set
    • false: not set
minimumCompressionSize Integer Optional Prerequisites for setting up data transfer
  • Encoding setting enabledContentEncoding needs to set to true
Whether or not to compress data when transferring it
  • To enable compression, enter a non-negative integer
    • 0 - 10,485,760
  • Disable compression if this field is not entered
ipAclCode String Conditional Whether to allow IP ACL
  • ALLOWED | REJECTED
    • ALLOWED: allow
    • REJECTED: deny
  • Required when entering ipAclList
endpointDomain String Required Endpoint domain
statusCode Integer Optional Status code
  • 100 - 599

Request example

The request example is as follows:

curl --location --request POST 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/stages' \
--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 '{
    "stageName": "stage000",
    "endpointDomain": "https://test***.test.com"
}'

Response

This section 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 response status codes common to API Gateway, see API Gateway response status codes.

Response example

The response example is as follows:

{
    "stage": {
        "tenantId": "***e230cebc1402ba89b148896951***",
        "modifier": "***d3020-5bb7-11ec-bfb8-246e96591***",
        "stageId": "***fh5o***",
        "apiId": "***51hs***",
        "stageName": "stage000",
        "endpointDomain": "https://test***.test.com",
        "regTime": "2024-05-07T23:48:47Z",
        "isMaintenance": false,
        "enabledContentEncoding": false
    }
}