Set default usage plan

Prev Next

Available in Classic and VPC

Set the default usage plan for a specified stage.

Request

The following describes the request format for the endpoint. The request format is as follows:

Method URI
PUT /products/{product-id}/apis/{api-id}/stages/{stage-id}/usage-plan

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 Product ID that the stage belongs to
api-id String Required ID of the API that the stage belongs to
stage-id String Required ID of the stage to set the default usage plan for

Request syntax

The request syntax is as follows.

{
    "monthQuotaRequest" : 1,
    "dayQuotaRequest" : 6,
    "rateRps" : 0,
    "quotaCondition" : "quotaCondition"
}

Request body

The following describes the request body.

Field Type Required Description
monthQuotaRequest Long Conditional Monthly request processing limit (cases/month)
  • 0 - 9,007,199,254,740,991
  • Required when entering dayQuotaRequest
dayQuotaRequest Long Conditional Daily request processing limit (cases/day)
  • 0 - 9,007,199,254,740,991
  • Required when entering monthQuotaRequest
rateRps Long Optional Request throughput (cases/second)
  • 1 - 2,147,483,647
quotaCondition String Optional Usage control conditions
  • 2xx | 3xx | 4xx | 5xx | others

Request example

The following is a sample request.

curl --location --request PUT 'https://apigateway.apigw.ntruss.com/api/v1/products/***ksk9***/apis/***51hs***/stages/***fh5o***/usage-plan' \
--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 '{
    "monthQuotaRequest" : 1,
    "dayQuotaRequest" : 6,
    "quotaCondition": "2xx",
    "rateRps" : 1
}'

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.

Response example

The following is a sample response.

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