To safeguard the performance and integrity of our messaging engines, the AISoule REST API implements strict rate limits.
Rate limits are calculated on a per-API key basis, refreshed in rolling windows:
/v1/messages): 300 requests per minute (5 requests/sec burst).Every API response returns standard rate-tracking HTTP headers to help you monitor consumption dynamically:
| Header | Description |
|---|---|
X-RateLimit-Limit | The maximum number of requests allowed in the rolling window. |
X-RateLimit-Remaining | The number of requests remaining in the active window. |
X-RateLimit-Reset | The Unix epoch timestamp (in seconds) indicating when the rolling window resets. |
429)When limits are exceeded, requests return an HTTP 429 Too Many Requests error. The response body is structured as follows:
{
"success": false,
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Please wait before retrying.",
"retry_after_seconds": 15
}
}
!TIP Always implement a retry logic with an exponential backoff jitter algorithm inside your integration codebase to handle
429error responses.
# Check rate limits headers by running a standard HEAD call
curl -I -X GET "https://api.aisoule.com/v1/status" \
-H "Authorization: Bearer YOUR_API_KEY"