Updated on 2024-10-29 GMT+08:00

Request Throttling

What Is Request Throttling?

Request throttling is a method used by Huawei Cloud to control the frequency of calling open APIs. A quota refers to the maximum number of calls made to a single API within a specified time window.

Request Throttling for Partner Operations Capability APIs

Traffic quota: 10/1(s); API request throttling dimensions: source IP address, API, and ParentUid, indicating that a single user or source IP address can send up to 10 requests to the API every second.

Scenario

Sub-Scenario

API

URL

Traffic Quota

Quota Dimension

Product Management

Querying product information

Querying Cloud Service Types

GET /v2/products/service-types

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying Resource Types

GET /v2/products/resource-types

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying Resources by Cloud Service Type

GET /v2/products/service-resources

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying Usage Types

GET /v2/products/usage-types

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying Measurement Units

GET /v2/bases/measurements

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Measurement Unit Number System

GET /v2/bases/conversions

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying product price

Querying the Price of a Pay-per-Use Product

POST /v2/bills/ratings/on-demand-resources

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Price of a Yearly/Monthly Product

POST /v2/bills/ratings/period-resources/subscribe-rate

30/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Renewal Price of a Yearly/Monthly Resource

POST /v2/bills/ratings/period-resources/renew-rate

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Customer Management

Registering a customer

Verifying Customer Registration Information

POST /v2/bills/ratings/on-demand-resources

5/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Sending a Verification Code

POST /v2/bills/ratings/period-resources/subscribe-rate

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Creating a Customer

POST /v2/bills/ratings/period-resources/renew-rate

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Requesting real-name authentication

Requesting an Individual Real-name Authentication

POST /v2/customers/realname-auths/individual

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Requesting an Enterprise Real-name Authentication

POST /v2/customers/realname-auths/enterprise

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Requesting a Real-Name Authentication Change

PUT /v2/customers/realname-auths/enterprise

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Real-Name Authentication Review Result

GET /v2/customers/realname-auths/result

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing customers

Querying Customers

POST /v2/partners/sub-customers/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Freezing a Customer Account

POST /v2/partners/sub-customers/freeze

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Unfreezing a Customer Account

POST /v2/partners/sub-customers/unfreeze

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Reseller Management

Querying resellers

Querying Huawei Cloud Resellers

POST /v2/partners/indirect-partners/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Credit Management

Managing credits

Querying Consumption Quota

GET /v2/partners/credit/consumption-quota

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Transaction Management

Managing customer budgets

Querying Customers' Budgets

GET /v2/partners/sub-customers/budget

25/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Batch Querying Customer Budgets

POST /v2/partners/sub-customers/budget/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Setting Customer Budgets

POST /v2/partners/sub-customers/budget

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing coupons

Querying Coupons

POST /v2/partners/indirect-partners/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing yearly/monthly orders

Querying Orders

GET /v2/orders/customer-orders

20/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying Order Details

GET /v2/orders/customer-orders/details/{order_id}

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Paying Yearly/Monthly Product Orders

POST /v3/orders/customer-orders/pay

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Canceling Orders in the Pending Payment Status

PUT /v2/orders/customer-orders/cancel

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Amount of Unsubscription Orders

GET /v2/orders/customer-orders/refund-orders

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing yearly/monthly resources

Querying Customer's Yearly/Monthly Resources

POST /v2/orders/suscriptions/resources/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Renewing Yearly/Monthly Resources

POST /v2/orders/subscriptions/resources/renew

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Unsubscribing from Yearly/Monthly Resources

POST /v2/orders/subscriptions/resources/unsubscribe

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Configuring Automatic Renewal for Yearly/Monthly Resources

POST /v2/orders/subscriptions/resources/autorenew/{resource_id}

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Canceling Automatic Renewal for Yearly/Monthly Resources

DELETE /v2/orders/subscriptions/resources/autorenew/{resource_id}

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Enabling/Canceling the Change from Yearly/Monthly to Pay-per-Use upon Expiration

POST /v2/orders/subscriptions/resources/to-on-demand

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing resource packages

Querying Resource Packages

POST /v3/payments/free-resources/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Resource Usage

POST /v2/payments/free-resources/usages/details/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Querying the Resource Usage

GET /v2/bills/customer-bills/free-resources-usage-records

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Managing pay-per-use resources

Querying Customer's Pay-Per-Use Resources

POST /v2/partners/sub-customers/on-demand-resources/query

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Bill Management

Managing partner bills

Querying Monthly Bills

GET /v2/bills/partner-bills/postpaid-bill-summary

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Invoice Management

Managing invoices

Querying the Invoice List

GET /v1.0/{domain_id}/payments/intl-invoices

10/1(s)

API request throttling dimensions:

Source IP address, API, and ParentUid

Troubleshooting for Request Throttling Failure

The following is an example of error returned by an API:

{"status_code":429,"request_id":"7e6c1***********c610","error_code":"APIGW.0308","error_message":"The throttling threshold has been reached: policy user over ratelimit,limit:10,time:1 second","encoded_authorization_message":""}

Troubleshooting

Huawei Cloud provides default traffic quotas for partner operations capability APIs. Users can increase the quota based on their service requirements. They can monitor status code 429 and construct a retry mechanism. The retry mechanism should follow an exponential backoff plan to reduce the number of requests if necessary. They can also establish some randomness in the backoff timesheets to avoid severe herd mentality.

Adjusting Quotas

If the traffic quota cannot meet your service requirements and concurrency scenarios, submit a Huawei Cloud service ticket with the service scenario description attached. After receiving the service ticket, the Huawei Cloud after-sales service team will adjust the quota based on your requirements.