You've hit Allocadia's 100-call-per-minute API rate limit. Back off, redesign for fewer calls, and use list endpoints instead of per-ID loops.
What this answers:
- What an HTTP 429 response from the Allocadia REST API means
- How to back off correctly and recover
- How to redesign your integration to stay under the limit
What 429 means
An HTTP 429 from the Allocadia REST API means you've exceeded the rate limit: 100 calls per minute per user. Allocadia counts every authenticated request against this limit, so a script making many small reads in tight succession will hit it just as easily as a write-heavy integration.
What to do right now
- Pause and retry with backoff. If your code can detect the 429, wait at least 60 seconds before retrying the same operation. Exponential backoff (60s → 120s → 240s) is conservative and reliable.
- Don't immediately re-send everything. A tight retry loop will keep you at the rate limit indefinitely and may delay recovery for other operations on the same user account.
Redesign to stay under the limit
If you're seeing 429s regularly, the integration design probably needs adjustment. Patterns that help:
-
Use bulk/list endpoints instead of per-ID lookups.
GET /lineitemswith a$filterparameter is one call; loopingGET /lineitems/{id}for 200 line items is 200 calls. -
Filter aggressively in the query. Use the
$filterparameter to narrow what you ask for, rather than pulling broadly and filtering in your own code. - Cache data that doesn't change often. Reference data (column choices, attribute definitions, user lists) doesn't need to be re-fetched every minute.
- Add deliberate spacing between batch operations. A 600-millisecond delay between calls keeps you at ~100/minute without any backoff logic.
Note on tokens
Allocadia tokens expire after 20 minutes of inactivity. If a long batch is interspersed with token refreshes, each refresh is itself an authenticated call — factor that into your budget.
When to contact Support
If your integration is well-designed and you're still hitting 429s, contact Support. Share the user, the time window, and what the integration was doing — we can confirm whether the limit was actually exceeded or whether something else is going on.
Comments
Please sign in to leave a comment.