Updated on 2025-10-22 GMT+08:00

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.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

URI

POST /v2/{project_id}/apic/instances/{instance_id}/throttles/{throttle_id}/throttle-specials

Table 1 Path Parameters

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

Table 2 Request header 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).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

call_limits

Yes

Integer

Maximum number of times that a special object can access an API within the throttling period.

object_id

Yes

String

Special credential ID. Or special tenant account ID.

object_type

Yes

String

Excluded object type.

Response Parameters

Status code: 201

Table 4 Response body parameters

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

Object credential or tenant name.

throttle_id

String

Request throttling policy ID.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

Add an excluded app to a specified request throttling policy.

{
  "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.