nslimitidentifier

Last published : Oct 30, 2026
Configuration for limit Identifier resource.

Properties

(click to see Operations )
Name Data Type Permissions Description
limitidentifier <String> Read-write Name for a rate limit identifier. Must begin with an ASCII letter or underscore (_) character, and must consist only of ASCII alphanumeric or underscore characters. Reserved words must not be used.
threshold <Integer> Read-write Maximum number of requests that are allowed in the given timeslice when requests (mode is set as REQUEST_RATE) are tracked per timeslice.
When connections (mode is set as CONNECTION) are tracked, it is the total number of connections that would be let through.
Maximum number of tokens that are allowed in the given timeslice when Tokens (mode is set to TOKEN_RATE) are tracked per timeslice.
Default value: 1
Minimum value = 1
timeslice <Integer> Read-write Time interval, in milliseconds, specified in multiples of 10, during which requests/tokens are tracked to check if they cross the threshold. This argument is needed only when the mode is set to REQUEST_RATE or TOKEN_RATE.
Default value: 1000
Minimum value = 10
mode <String> Read-write Defines the type of traffic to be tracked.
* REQUEST_RATE - Tracks requests/timeslice.
* CONNECTION - Tracks active transactions.
* TOKEN_RATE - Tracks total input+output tokens/minute for LLM chat completions, Timeslice is fixed at 60000 ms, Useful on applications serving LLM services.
Examples
1. To permit 20 requests in 10 ms and 2 traps in 10 ms:
add limitidentifier limit_req -mode request_rate -limitType smooth -timeslice 1000 -Threshold 2000 -trapsInTimeSlice 200
2. To permit 50 requests in 10 ms:
set limitidentifier limit_req -mode request_rate -timeslice 1000 -Threshold 5000 -limitType smooth
3. To permit 1 request in 40 ms:
set limitidentifier limit_req -mode request_rate -timeslice 2000 -Threshold 50 -limitType smooth
4. To permit 1 request in 200 ms and 1 trap in 130 ms:
set limitidentifier limit_req -mode request_rate -timeslice 1000 -Threshold 5 -limitType smooth -trapsInTimeSlice 8
5. To permit 5000 requests in 1000 ms and 200 traps in 1000 ms and 20 appflow alerts in 1000ms:
set limitidentifier limit_req -mode request_rate -timeslice 1000 -Threshold 5000 -limitType BURSTY -trapsInTimeSlice 200 -alertsInTimeSlice 20
6. To permit 100000 tokens in 60000 ms and 100 appflow alerts in 60000ms:
set limitidentifier limit_tokens -mode token_rate -timeSlice 60000 -Threshold 100000 -limittype BURSTY -alertsInTimeSlice 100.
Default value: REQUEST_RATE
Possible values = CONNECTION, REQUEST_RATE, TOKEN_RATE, NONE
limittype <String> Read-write Smooth or bursty request type.
* SMOOTH - When you want the permitted number of requests in a given interval of time to be spread evenly across the timeslice
* BURSTY - When you want the permitted number of requests to exhaust the quota anytime within the timeslice.
This argument is needed only when the mode is set to REQUEST_RATE.
Mode TOKEN_RATE only supports BURSTY type.
Default value: BURSTY
Possible values = BURSTY, SMOOTH
selectorname <String> Read-write Name of the rate limit selector. If this argument is NULL, rate limiting will be applied on all traffic received by the virtual server or the Citrix ADC (depending on whether the limit identifier is bound to a virtual server or globally) without any filtering.
Minimum length = 1
maxbandwidth <Integer> Read-write Maximum bandwidth permitted, in kbps.
Minimum value = 0
Maximum value = 4294967287
trapsintimeslice <Integer> Read-write Number of traps to be sent in the timeslice configured. A value of 0 indicates that traps are disabled.
Minimum value = 0
Maximum value = 65535
alertsintimeslice <Integer> Read-write Number of appflow alerts to be sent in the timeslice configured. A value of 0 indicates that alerts are disabled. A value of 65535 indicates no limit on number of appflow alerts.
Default value: 65535
Minimum value = 0
Maximum value = 65535
timealign <String> Read-write Value MINUTE will align the time windows for a configured timeslice to Minute boundary. TimeSlice values should be integrals of 60000ms when value MINUTE is choosen. Default : NONE, timeslice alignments will happen with next 10ms.
Default value: NONE
Possible values = NONE, MINUTE
ngname <String> Read-only Nodegroup name to which this identifier belongs to.
hits <Integer> Read-only The number of times this identifier was evaluated.
drop <Integer> Read-only The number of times action was taken.
rule <String[]> Read-only Rule.
time <Integer> Read-only Time interval considered for rate limiting.
total <Integer> Read-only Maximum number of requests permitted in the computed timeslice.
trapscomputedintimeslice <Integer> Read-only The number of traps that would be sent in the timeslice configured. .
computedtraptimeslice <Integer> Read-only The time interval computed for sending traps.
alertscomputedintimeslice <Integer> Read-only The number of appflow alerts that would be sent in the timeslice configured.
computedalerttimeslice <Integer> Read-only The time interval computed for sending appflow alerts.
referencecount <Integer> Read-only Total number of transactions pointing to this entry.
_nextgenapiresource <String> Read-only .
__count <Double> Read-only count parameter

Operations

(click to see Properties )
  • ADD
  • DELETE
  • UPDATE
  • UNSET
  • GET (ALL)
  • GET
  • COUNT
Some options that you can use for each operations:
  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the 'warning' query parameter as 'yes'. For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:
    http:// <netscaler-ip-address> /nitro/v1/config/login?warning=yes
    If any, the warnings are displayed in the response payload with the HTTP code '209 X-NITRO-WARNING'.
  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,
    To do this, you must specify the username and password in the request header of the NITRO request as follows:
    X-NITRO-USER: <username>
    X-NITRO-PASS: <password>
    Note: In such cases, make sure that the request header DOES not include the following:
    Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
*Note: * Mandatory parameters are marked in red and placeholder content is marked in green

add

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier HTTP Method: POST
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Content-Type:application/json
Request Payload:
{"nslimitidentifier":{
<b>"limitidentifier":<String_value>,
</b>"threshold":<Integer_value>,
"timeslice":<Integer_value>,
"mode":<String_value>,
"limittype":<String_value>,
"selectorname":<String_value>,
"maxbandwidth":<Integer_value>,
"trapsintimeslice":<Integer_value>,
"alertsintimeslice":<Integer_value>,
"timealign":<String_value>
}}
Response: HTTP Status Code on Success: 201 Created
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier/ limitidentifier_value<String> HTTP Method: DELETE
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier HTTP Method: PUT
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Content-Type:application/json
Request Payload:
{"nslimitidentifier":{
<b>"limitidentifier":<String_value>,
</b>"threshold":<Integer_value>,
"timeslice":<Integer_value>,
"mode":<String_value>,
"limittype":<String_value>,
"selectorname":<String_value>,
"maxbandwidth":<Integer_value>,
"trapsintimeslice":<Integer_value>,
"alertsintimeslice":<Integer_value>,
"timealign":<String_value>
}}
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? action=unset HTTP Method: POST
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Content-Type:application/json
Request Payload:
{"nslimitidentifier":{
<b>"limitidentifier":<String_value>,
</b>"selectorname":true,
"threshold":true,
"timeslice":true,
"mode":true,
"limittype":true,
"maxbandwidth":true,
"trapsintimeslice":true,
"alertsintimeslice":true,
"timealign":true
}}
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? attrs=property-name1,property-name2
Use this query parameter to specify the resource details that you want to retrieve.
filter http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? filter=property-name1:property-val1,property-name2:property-val2
Use this query-parameter to get the filtered set of nslimitidentifier resources configured on NetScaler.Filtering can be done on any of the properties of the resource.
view http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? view=summary
Use this query-parameter to get the summary output of nslimitidentifier resources configured on NetScaler.
Note: By default, the retrieved results are displayed in detail view (?view=detail).
pagination http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? pagesize=#no;pageno=#no
Use this query-parameter to get the nslimitidentifier resources in chunks.
HTTP Method: GET
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Accept:application/json
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error
Response Header:
Content-Type:application/json
Response Payload:
{ "nslimitidentifier": [ {
"limitidentifier":<String_value>,
"ngname":<String_value>,
"threshold":<Integer_value>,
"timeslice":<Integer_value>,
"mode":<String_value>,
"limittype":<String_value>,
"selectorname":<String_value>,
"hits":<Integer_value>,
"drop":<Integer_value>,
"rule":<String[]_value>,
"time":<Integer_value>,
"total":<Integer_value>,
"maxbandwidth":<Integer_value>,
"trapsintimeslice":<Integer_value>,
"trapscomputedintimeslice":<Integer_value>,
"computedtraptimeslice":<Integer_value>,
"alertsintimeslice":<Integer_value>,
"alertscomputedintimeslice":<Integer_value>,
"computedalerttimeslice":<Integer_value>,
"timealign":<String_value>,
"referencecount":<Integer_value>,
"_nextgenapiresource":<String_value>
}]}

get

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier/ limitidentifier_value<String> Query-parameters: attrs http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier/ limitidentifier_value<String> ? attrs=property-name1,property-name2
Use this query parameter to specify the resource details that you want to retrieve.
view http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier/ limitidentifier_value<String> ? view=summary
Use this query-parameter to get the summary output of nslimitidentifier resources configured on NetScaler.
Note: By default, the retrieved results are displayed in detail view (?view=detail).
HTTP Method: GET
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Accept:application/json
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error
Response Header:
Content-Type:application/json
Response Payload:
{  "nslimitidentifier": [ {
"limitidentifier":<String_value>,
"ngname":<String_value>,
"threshold":<Integer_value>,
"timeslice":<Integer_value>,
"mode":<String_value>,
"limittype":<String_value>,
"selectorname":<String_value>,
"hits":<Integer_value>,
"drop":<Integer_value>,
"rule":<String[]_value>,
"time":<Integer_value>,
"total":<Integer_value>,
"maxbandwidth":<Integer_value>,
"trapsintimeslice":<Integer_value>,
"trapscomputedintimeslice":<Integer_value>,
"computedtraptimeslice":<Integer_value>,
"alertsintimeslice":<Integer_value>,
"alertscomputedintimeslice":<Integer_value>,
"computedalerttimeslice":<Integer_value>,
"timealign":<String_value>,
"referencecount":<Integer_value>,
"_nextgenapiresource":<String_value>
}]}

count

URL: http:// <netscaler-ip-address> /nitro/v1/config/nslimitidentifier? count=yes HTTP Method: GET
Request Headers:
Cookie:NITRO_AUTH_TOKEN= <tokenvalue>
Accept:application/json
Response: HTTP Status Code on Success: 200 OK
HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error
Response Header:
Content-Type:application/json
Response Payload:
{ "nslimitidentifier": [ { "__count": "#no"} ] }