Add Endpoints to RLCL
Overview
Adds API endpoints to an existing RLCL. Endpoints added to the RLCL will be subject to the rate limiting rules defined in the RLCL.
Endpoint
POST /apiops/projects/{projectName}/rlcl/{rlclName}/endpoints/
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
| Content-Type | application/json | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| rlclName | string | Yes | RLCL name |
Request Body
Full JSON Body Example - Single Endpoint
{
"endpointRateLimitList": [
{
"apiProxyName": "MyAPI",
"endpointName": "/users",
"endpointHTTPMethod": "GET",
"permittedMessageCount": 100,
"timeIntervalPeriodLength": 1,
"timeInterval": "ONE_MINUTE",
"cacheConnectionTimeoutInSeconds": 3,
"cacheErrorHandlingType": "FAIL",
"timeIntervalWindowType": "FIXED",
"showRateLimitStatisticsInResponseHeader": false,
"enabled": true
}
]
}
Full JSON Body Example - Multiple Endpoints
{
"endpointRateLimitList": [
{
"apiProxyName": "MyAPI",
"endpointName": "/users",
"endpointHTTPMethod": "GET",
"permittedMessageCount": 100,
"timeIntervalPeriodLength": 1,
"timeInterval": "ONE_MINUTE",
"cacheConnectionTimeoutInSeconds": 3,
"cacheErrorHandlingType": "FAIL",
"timeIntervalWindowType": "FIXED",
"showRateLimitStatisticsInResponseHeader": false,
"enabled": true
},
{
"apiProxyName": "MyAPI",
"endpointName": "/orders",
"endpointHTTPMethod": "POST",
"permittedMessageCount": 50,
"timeIntervalPeriodLength": 1,
"timeInterval": "ONE_MINUTE",
"cacheConnectionTimeoutInSeconds": 3,
"cacheErrorHandlingType": "FAIL",
"timeIntervalWindowType": "SLIDING",
"showRateLimitStatisticsInResponseHeader": true,
"enabled": true
}
]
}
Full JSON Body Example - All Endpoints
{
"endpointRateLimitList": [
{
"apiProxyName": "MyAPI",
"endpointName": "ALL",
"endpointHTTPMethod": "ALL",
"permittedMessageCount": 200,
"timeIntervalPeriodLength": 1,
"timeInterval": "ONE_HOUR",
"cacheConnectionTimeoutInSeconds": 3,
"cacheErrorHandlingType": "FAIL",
"timeIntervalWindowType": "FIXED",
"showRateLimitStatisticsInResponseHeader": false,
"enabled": true
}
]
}
Request Body Fields
The request body is an object containing an array of endpoint rate limit objects.
Endpoint Rate Limit Object
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| apiProxyName | string | Yes | - | API Proxy name |
| endpointName | string | Yes* | - | Endpoint path (e.g., "/users") or "ALL" for all endpoints. Required if endpointHTTPMethod is not "ALL" |
| endpointHTTPMethod | string | Yes* | - | HTTP method. See EnumHttpRequestMethod. Required if endpointName is not "ALL" |
| permittedMessageCount | integer | Yes | - | Maximum number of messages allowed per time interval |
| timeIntervalPeriodLength | integer | Yes | - | Length of time interval period |
| timeInterval | string | Yes | - | Time interval unit. See EnumRateLimitTimeInterval |
| targetVariable | object|null | No | null | Variable used to identify clients. See Variable Object |
| cacheConnectionTimeoutInSeconds | integer | Yes | - | Cache connection timeout in seconds |
| cacheErrorHandlingType | string | Yes | - | Cache error handling type. See EnumCacheErrorHandlingType |
| timeIntervalWindowType | string | Yes | - | Time interval window type. See EnumIntervalWindowType |
| targetIdentityValue | string|null | No | null | Target identity value (if not using targetVariable) |
| showRateLimitStatisticsInResponseHeader | boolean | No | false | Show rate limit statistics in response header |
| enabled | boolean | No | true | Enable rate limiting for this endpoint |
EnumHttpRequestMethod (endpointHTTPMethod)
GET- GET methodPOST- POST methodPUT- PUT methodDELETE- DELETE methodPATCH- PATCH methodHEAD- HEAD methodOPTIONS- OPTIONS methodTRACE- TRACE methodALL- All HTTP methods
EnumRateLimitTimeInterval (timeInterval)
ONE_SECOND- One secondONE_MINUTE- One minuteONE_HOUR- One hourONE_DAY- One dayONE_MONTH- One month
EnumCacheErrorHandlingType (cacheErrorHandlingType)
FAIL- Fail request when cache error occursCONTINUE- Continue processing when cache error occurs
EnumIntervalWindowType (timeIntervalWindowType)
FIXED- Fixed window (resets at fixed intervals)SLIDING- Sliding window (continuous rolling window)