Updated on 2023-06-29 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.

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.

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

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

Application 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

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