skip to main content
Hybrid Data Pipeline API reference : Administrators API : Limits API
  

Try Now

Limits API

The Limits API can be used to manage a number of Hybrid Data Pipeline features. For example, the Limits API can be used to restrict the number of rows in a query, or to implement an account lockout policy, or to enable CORS behavior. Each limit has a default value that governs some aspect of behavior related to its corresponding feature. Limits can be set at four levels: system, tenant, user, and data source. The following hierarchy applies to these levels.
1. Data source
2. User
3. Tenant
4. System
Limits set on a data source override limits set at the other levels; limits set on a user account override those set on a tenant or set at the system level; limits set on a tenant override those set at the system level; and limits set at the system level override default behavior. Default and system limits apply to behavior across Hybrid Data Pipeline, while limits on data sources, users, and tenants apply to the resources they handle. Most limits can only be configured at the system level. However, some limits, such as MaxFetchRows and ODataMaxConcurrentQueries, can be configured at any level.
The following tables provide summary information on the Limits API.
*The Supported limits table lists all configurable limits, their IDs, what levels they may be applied to, and their descriptions.
*The Limits API operations table lists supported operations with links to operation-specific topics for details.
Table 213. Supported limits
Limits
ID
Usage
Description
MaxFetchRows
1
All levels
Maximum number of rows allowed to be fetched for a single query.
PasswordLockoutInterval
2
System level
The duration, in seconds, for counting the number of consecutive failed authentication attempts.
PasswordLockoutLimit
3
System level
The number of consecutive failed authentication attempts that are allowed before locking the user account.
PasswordLockoutPeriod
4
System level
The duration, in seconds, for which a user account will not be allowed to authenticate to the system when the PasswordLockoutLimit is reached.
CORSBehavior
5
System level
Configuration parameter for CORS behavior. Setting the value to 0 disables the CORS filter. Setting the value to 1 enables the CORS filter. Setting the value to 2 enables the CORS filter with the whitelist option.
ODataMaxConcurrentQueries
6
All levels
Maximum number of concurrent active OData queries per data source.
LogRetentionDays
7
System level
Number of days log files should be retained.
OAuthAccessTokenDuration
8
System level
The duration, in minutes, for which a Access token is valid.
MonitorRetentionDays
9
System level
Number of days monitor details should be retained
UserMeterRetentionDays
10
System level
Number of days user meter details should be retained
UserMeterWriteInterval
11
System level
The number of seconds the system waits before scanning sessions for current metrics. A lower setting will result in more rows written to the meter table
UserMeterMaxAge
12
System level
The number seconds the system waits before writing out meter records. A lower setting will result in the rows written to meter table to occur more frequently
OAuthAccessTokenCacheSize
13
System level
Number of oauth access tokens to be cached in memory for OAuth Authentication. By default up to 2000 tokens will be cached in memory.
TransactionTimeout
14
All levels
The number of seconds the system allows a transaction to be idle before rolling it back.
XdbcMaxResponse
15
All levels
Approximate maximum size of JDBC/ODBC HTTP result data in KB.
Table 214. Limits API operations
Operation
Request
URL
GET
https://<myserver>:<port>/api/admin/limits
GET
https://<myserver>:<port>/api/admin/limits/system
GET
https://<myserver>:<port>/api/admin/limits/system/{limitId}
POST
https://<myserver>:<port>/api/admin/limits/system/{limitId}
PUT
https://<myserver>:<port>/api/admin/limits/system/{limitId}
DELETE
https://<myserver>:<port>/api/admin/limits/system/{limitId}
GET
https://<myserver>:<port>/api/admin/limits/tenants
GET
https://<myserver>:<port>/api/admin/limits/tenants/{tenantId}/{limitId}
POST
https://<myserver>:<port>/api/admin/limits/tenants/{tenantId}/{limitId}
PUT
https://<myserver>:<port>/api/admin/limits/tenants/{tenantId}/{limitId}
DELETE
https://<myserver>:<port>/api/admin/limits/tenants/{tenantId}/{limitId}
GET
https://<myserver>:<port>/api/admin/limits/users
GET
https://<myserver>:<port>/api/admin/limits/users/{userId}/{limitId}
POST
https://<myserver>:<port>/api/admin/limits/users/{userId}/{limitId}
PUT
https://<myserver>:<port>/api/admin/limits/users/{userId}/{limitId}
DELETE
https://<myserver>:<port>/api/admin/limits/users/{userId}/{limitId}
GET
https://<myserver>:<port>/api/admin/
limits/users/{userId}/datasources
GET
https://<myserver>:<port>/api/admin/
limits/users/{userId}/datasources/{datasourceId}/{limitId}
POST
https://<myserver>:<port>/api/admin/
limits/users/{userId}/datasources/{datasourceId}/{limitId}
PUT
https://<myserver>:<port>/api/admin/
limits/users/{userId}/datasources/{datasourceId}/{limitId}}
DELETE
https://<myserver>:<port>/api/admin/
limits/users/{userId}/datasources/{datasourceId}/{limitId}
* Get limits
* Get limits set at the system level
* Get a limit set at the system level
* Create a limit at the system level
* Update a limit set at the system level
* Delete a limit at the system level
* Get limits set on tenants
* Get a limit set on a tenant
* Create a limit on a tenant
* Update a limit on a tenant
* Delete a limit on a tenant
* Get limits set on user accounts
* Get a limit set on a user account
* Create a limit on a user account
* Update a limit on a user account
* Delete a limit set on a user account
* Get limits set on data sources for a user account
* Get a limit set on a data source
* Create a limit on a data source
* Update a limit on a data source
* Delete a limit on a data source