Selligent API Rate Limitation
API Version
All the mentioned limitations apply to the current Selligent REST API. For future versions of the MMP REST API different limitations can apply.
API Rate limiting
A rate limit defines the number of requests that can be made to the Selligent REST API within a given time period. If this limit is exceeded during a time window, the incoming requests will be throttled and API requests above the limit will be rejected.
Throttling is linked to the “APP” setup within Selligent and applied to its related API key.
API limits for Selligent API
All Selligent REST API requests are subject to rate limits. An API key is allowed to make up to 2500 requests per minute across all API paths.
The API limits are only applicable to the Selligent REST API; the Campaign & Direct Mail REST API are not subject to these limits.
Responses when requests are rate limited
If requests are being made at a rate higher than the limits:
-
2500 request / minute
These requests will receive the HTTP status code 429 (Too Many Requests) with a message, like the example below, in the body of the response.
API calls quota exceeded! The maximum allowed is 2500 per minute
In the response headers additional information is presented about the rate limiting state.
Example:
X-RateLimit-Limit: 2500, 2500;w=60
X-RateLimit-Remaining: 50
X-RateLimit-Reset: 5
-
X-RateLimit-Limit: represents the maximum number of allowed requests in the time window
-
X-RateLimit-Remaining: represents the number of remaining requests in the current window (1 minute).
-
X-RateLimit-Reset: represents the time remaining in the current window expressed in seconds.
In the event that the Selligent REST API is under high load or is down for maintenance, the HTTP status code 503 (Service Unavailable) will be returned.
API inbound request limits
Most API endpoints have inbound limitations set as following:
Default inbound request limit
-
Limited by a 15 seconds connection time-out, meaning that the data should posted and processed within 15 seconds
-
Data size limited is to 2MB
-
Default Rate limited to 2500 requests / minute
The « POST /data/load » endpoints support higher inbound request limits, depending on the data transfer mode.
There are currently no quantity validation constraints on:
-
On the number of fields per record
-
On the total number of records returned
Note: the amount of fields & number of records is limited by the size of the total data object. Example: more fields mean less records that can be submitted and vice versa.
/data/load SYNC MODE
-
Limited by a 15 seconds connection time-out, meaning that the data should be posted and processed within 15 seconds
-
Data size limited is to 20MB
-
Number of data fields is not specifically limited
-
Number of records is depending on the number fields
-
Default Rate limited to 2500 requests / minute
/data/load STREAMED MODE
-
No connection time limit
-
Data limited is to 20MB
-
Number of data fields is not specifically limited
-
Number of records is depending on the number fields
-
Default Rate limited to 2500 requests / minute
API Outbound response limits
The response limit is typically based on the total output of data & the time needed to retrieve the dataset, which is reflected by the number of fields defined. If the number of fields is low, the take can be higher.
Default outbound request limit
-
Limited by a 15 seconds connection time-out, meaning that the data requested and returned within 15 seconds
-
Default Rate limited to 2500 requests / minute
The « POST /data/search » endpoints support higher outbound response limits, depending on the data transfer mode.
There are currently no constraints on:
-
On number of export fields
-
On number of records
BUT the combination the amount of fields & number of records is limited by the size of the total data object.
/data/search SYNC MODE
-
No time-out limit
-
Number of records is advised to limit to a "take" of "2500"
-
Data limited is to size of maximum 1MB per record
-
Default Rate limited to 2500 requests / minute
/data/search STREAMED MODE
-
No time-out limit
-
Data limited is to size of maximum 1MB per record
-
Default Rate limited to 2500 requests / minute