Rate limiting
Fixed one-minute window, reset at the start of each minute. Counted per merchant account: every key on the account shares one budget.
Limits by plan
| Plan | Requests per minute | Monthly price |
|---|---|---|
| Free | 30 | Free |
| Starter | 120 | KES 1,500 |
| Business | 600 | KES 5,000 |
| Enterprise | 2,000 | KES 15,000 |
Headers
X-RateLimit-Limit: Requests allowed in the current minute.X-RateLimit-Remaining: Requests left in the current minute.Retry-After: Seconds until the window resets (429 responses only).
429 response
{
"success": false,
"error": "Rate limit exceeded for your subscription tier.",
"error_code": "RATE_LIMIT_EXCEEDED",
"details": {
"tier": "Free",
"requests_used": 30,
"requests_limit": 30,
"upgrade_url": "https://swiftwallet.co.ke/subscription",
"retry_after": 42
}
}Wait for Retry-After seconds before retrying. Upgrade at https://swiftwallet.co.ke/subscription.