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 /api/v1/products/{product-id}/apis/{api-id}/stages

Request headers

For information about the headers common to all API Gateway APIs, see API Gateway request headers.

Request path parameters

You can use the following path parameters with your request:

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

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 information about the HTTP status codes common to all API Gateway APIs, 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
    }
}