ADC NITRO APIs

botsettings

Configuration for Bot engine settings resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
defaultprofile <String> Read-write Profile to use when a connection does not match any policy. Default setting is " ", which sends unmatched connections back to the Citrix ADC without attempting to filter them further.

Minimum length = 1
defaultnonintrusiveprofile <String> Read-write Profile to use when the feature is not enabled but feature is licensed. NonIntrusive checks will be disabled and IPRep cronjob(24 Hours) will be removed if this is set to BOT_BYPASS.

Default value: BOT_STATS

Minimum length = 1

Possible values = BOT_BYPASS, BOT_STATS, BOT_LOG
javascriptname <String> Read-write Name of the JavaScript that the Bot Management feature uses in response.

Must begin with a letter or number, and can consist of from 1 to 31 letters, numbers, and the hyphen (-) and underscore (_) symbols.



The following requirement applies only to the Citrix ADC CLI:

If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name').

Minimum length = 1
sessiontimeout <Double> Read-write Timeout, in seconds, after which a user session is terminated.

Minimum value = 1

Maximum value = 65535
sessioncookiename <String> Read-write Name of the SessionCookie that the Bot Management feature uses for tracking.

Must begin with a letter or number, and can consist of from 1 to 31 letters, numbers, and the hyphen (-) and underscore (_) symbols.



The following requirement applies only to the Citrix ADC CLI:

If the name includes one or more spaces, enclose the name in double or single quotation marks (for example, "my cookie name" or 'my cookie name').

Minimum length = 1
dfprequestlimit <Double> Read-write Number of requests to allow without bot session cookie if device fingerprint is enabled.

Minimum value = 1
signatureautoupdate <String> Read-write Flag used to enable/disable bot auto update signatures.

Default value: OFF

Possible values = ON, OFF
signatureurl <String> Read-write URL to download the bot signature mapping file from server.

Default value: https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json
proxyserver <String> Read-write Proxy Server IP to get updated signatures from AWS.
proxyport <Integer> Read-write Proxy Server Port to get updated signatures from AWS.

Default value: 8080

Range 1 - 65535

* in CLI is represented as 65535 in NITRO API
trapurlautogenerate <String> Read-write Enable/disable trap URL auto generation. When enabled, trap URL is updated within the configured interval.

Default value: OFF

Possible values = ON, OFF
trapurlinterval <Double> Read-write Time in seconds after which trap URL is updated.

Default value: 3600

Minimum value = 300

Maximum value = 86400
trapurllength <Double> Read-write Length of the auto-generated trap URL.

Default value: 32

Minimum value = 10

Maximum value = 255
proxyusername <String> Read-write Proxy Username.

Minimum length = 1
proxypassword <String> Read-write Password with which user logs on.

Minimum length = 1
builtin <String[]> Read-only Flag to determine if bot engine setting is built-in or not.

Possible values = MODIFIABLE, DELETABLE, IMMUTABLE, PARTITION_ALL
feature <String> Read-only The feature to be checked while applying this config.

Operations

(click to see Properties )

  • UPDATE
  • UNSET
  • GET (ALL)

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

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/botsettings HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"botsettings":{
"defaultprofile":<String_value>,
"defaultnonintrusiveprofile":<String_value>,
"javascriptname":<String_value>,
"sessiontimeout":<Double_value>,
"sessioncookiename":<String_value>,
"dfprequestlimit":<Double_value>,
"signatureautoupdate":<String_value>,
"signatureurl":<String_value>,
"proxyserver":<String_value>,
"proxyport":<Integer_value>,
"trapurlautogenerate":<String_value>,
"trapurlinterval":<Double_value>,
"trapurllength":<Double_value>,
"proxyusername":<String_value>,
"proxypassword":<String_value>
}}

<!--NeedCopy-->

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/botsettings? action=unset HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:

{"botsettings":{
"defaultprofile":true,
"defaultnonintrusiveprofile":true,
"javascriptname":true,
"sessiontimeout":true,
"sessioncookiename":true,
"dfprequestlimit":true,
"signatureautoupdate":true,
"signatureurl":true,
"proxyserver":true,
"proxyport":true,
"trapurlautogenerate":true,
"trapurlinterval":true,
"trapurllength":true,
"proxyusername":true,
"proxypassword":true
}}

<!--NeedCopy-->

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/botsettings 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:

{ "botsettings": [ {
"defaultprofile":<String_value>,
"defaultnonintrusiveprofile":<String_value>,
"javascriptname":<String_value>,
"sessiontimeout":<Double_value>,
"sessioncookiename":<String_value>,
"dfprequestlimit":<Double_value>,
"signatureautoupdate":<String_value>,
"signatureurl":<String_value>,
"proxyserver":<String_value>,
"proxyport":<Integer_value>,
"proxyusername":<String_value>,
"proxypassword":<String_value>,
"trapurlautogenerate":<String_value>,
"trapurlinterval":<Double_value>,
"trapurllength":<Double_value>,
"builtin":<String[]_value>,
"feature":<String_value>
}]}

<!--NeedCopy-->
botsettings