Creating an Excluded Request Throttling Configuration
Function
A request throttling policy controls the maximum number of times an API can be accessed within a specified period and the maximum numbers of times the API can be accessed by a tenant or an app within the same period.
When necessary, you can create an excluded request throttling configuration to specify the threshold of API calls for a specific app. For example, after you set the API call threshold for all apps to 500 calls/minute, you can specify the API call threshold of app 1 as 800 calls/minute.
You can add excluded apps or tenants to a request throttling policy.
URI
POST /v2/{project_id}/apic/instances/{instance_id}/throttles/{throttle_id}/throttle-specials
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference. |
instance_id |
Yes |
String |
Instance ID. |
throttle_id |
Yes |
String |
ID of a request throttle policy. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
call_limits |
Yes |
Integer |
Maximum number of times that a special object can access an API within the throttling period. Minimum: 1 |
object_id |
Yes |
String |
ID of a special app or account ID of a special tenant. Minimum: 1 Maximum: 65 |
object_type |
Yes |
String |
Excluded object type. |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
id |
String |
Excluded request throttling configuration ID. |
call_limits |
Integer |
Maximum number of times the excluded object can access an API within the throttling period. |
apply_time |
String |
Time when the excluded request throttling configuration is created. |
app_name |
String |
Name of the app to which the excluded request throttling configuration applies. |
app_id |
String |
ID of the app to which the excluded request throttling configuration applies. |
object_id |
String |
ID of an object specified in the excluded configuration. |
object_type |
String |
Excluded object type, which can be APP or USER. |
object_name |
String |
Application or tenant name |
throttle_id |
String |
Request throttling policy ID. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Example Requests
{ "call_limits" : 150, "object_id" : "356de8eb7a8742168586e5daf5339965", "object_type" : "APP" }
Example Responses
Status code: 201
Created
{ "call_limits" : 150, "app_name" : "app_demo", "object_name" : "app_demo", "object_id" : "356de8eb7a8742168586e5daf5339965", "throttle_id" : "3437448ad06f4e0c91a224183116e965", "apply_time" : "2020-08-04T02:40:56.717710961Z", "id" : "a3e9ff8db55544ed9db91d8b048770c0", "app_id" : "356de8eb7a8742168586e5daf5339965", "object_type" : "APP" }
Status code: 400
Bad Request
{ "error_code" : "APIG.2003", "error_msg" : "The parameter value is too large,parameterName:call_limits. Please refer to the support documentation" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 404
Not Found
{ "error_code" : "APIG.3004", "error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot