Is there anything we can do to request an increase in rate limiting? How is rate limiting configured? I would imagine its by API key but it appears to be by org. I have a team of 15 devs working on API integrations but we are getting crushed with “Too many requests” frequently (about every few minutes) and even on the balena dashboard we are getting consistent “we need to temporarily slow down your requests” messages. It’s making it fairly difficult to work development-wise with the platform.
Can you use the node SDK or the Python SDK? Both the Python & Node SDK now offer a retry_rate_limited_request
/ retryRateLimitedRequests
option, which enables automatic retrying of requests failing because of rate limiting. In other words, both handle the Retry-After
http header that the API includes in rate limited requests (429).
I am using golang so I have my own retry logic built in and I am hitting the API endpoints directly within my own little “SDK” but still this is hitting the rate limit and then appears to affect anything else under our org so anyone logged into the dashboard on balena side gets hit with the message to “slow things down” temporarily as well as the CLI and any other people using the API which inherently is causing a single api call to take quite a while to finish.
Yes, you can likely request an increase in the rate limit. Here’s a quick rundown:
- Increase request limit: Contact Balena support and explain your situation (large dev team).
- Rate limiting configuration: It might be by org, but key-based limits are also common. Check Balena’s documentation for details.
Reach out to Balena support for a dev-friendly rate limit increase.