Rate Limits
Cloud9 enforces rate limits across all its API endpoints to provide a seamless experience for our customers by fairly allocating access to our APIs across all firms.
Rate limits are defined by a maximum number of requests within a rolling 60 second window per API endpoint per region for each firm.
Requests to the Cloud9 APIs are subject to the following limits:
Call Data API
20
Management API
20
Monitoring API
20
Some endpoints have their own rate limits:
Call Data API:
POST
v1/calls/metadata
70
PATCH
v1/calls/metadata
20
POST
v1/calls/recordings
350
POST
v1/calls/recordingRecords
20
POST
v1.1/calls/metadata
70
Management API:
POST
external/apis/connections
40
PUT
external/apis/connections
5
GET
external/apis/connectionApprovals
20
PUT
external/apis/connectionApprovals
5
POST
external/apis/roles
5
POST
external/apis/users
40
POST
external/apis/groups
20
POST
external/apis/logout
5
POST
v1.1/external/apis/users
40
POST
external/apis/users/{userId}/traderLayout
20
Monitoring API:
POST
external/apis/audit
6
POST
external/apis/alert
6
POST
external/apis/userPresence
6
When the limit is reached, any new incoming calls are BLOCKED from processing until the time limit window has been reached. For example, a firm, regardless of the number of API keys used, is allowed a maximum of 20 requests per minute per region on the endpoint POST: v1/calls/metadata. If the limit is exceeded, then the firm must wait until the number of requests begins to replenish, which will be 60 seconds after the first of the 20 requests
Rate limit indicators:
Each HTTP call will return a set of headers that indicate limit consumption:
X-C9-RateLimit-Limit
Shows the value of the limit
X-C9-RateLimit-Refresh-Interval-Millis: 60000
Shows the limit refresh rate period in milliseconds
X-C9-RateLimit-Reset-Millis: 26394
Shows the number of milliseconds remaining when the limit will replenish
X-C9-RateLimit-Enforcement: BLOCK,LOG
Shows the limit enforcement strategies used. Block will prevent more requests whereas Log means we have logged the attempt
X-C9-RateLimit-Key-Used:
rateLimit:13:Calls_Data
Shows the resource in scope for limit enforcement
X-C9-RateLimit-Remaining: 3
Shows the current usage of the limit for the specified in X-C9-RateLimit-Key-Used
When the rate limit is reached, the API response “429 Too Many Requests” is returned anytime a user makes an API call and the rate limit for the API endpoint has already been reached.
Code Examples:
The description and examples in this document demonstrate how to use rate limit headers when API request fails with Too Many Requests(429) error code.
Last updated