How limits are applied
Limits are applied after authentication. An unauthenticated burst will fail with
SIGNATURE_INVALID long before it consumes quota.
When you exceed a limit
The API returnsHTTP 429 with error.status: "RESOURCE_EXHAUSTED":
Retry-After HTTP header carrying the same hint as metadata.retry_after_seconds.
Recommended response
1
Honor Retry-After when present
Use either the
Retry-After header or details[0].metadata.retry_after_seconds. Wait at least that long before retrying.2
Apply exponential backoff with jitter
For repeated
RESOURCE_EXHAUSTED (or in absence of Retry-After), back off exponentially: min(2^attempt × base_delay, max_delay) and add full jitter.3
Bound your retries
Three attempts is a reasonable default. After that, surface the failure to the caller — escalating without backoff would compound the throttling.
4
Keep `idempotencyKey` stable across retries
Throttled creates should retry with the same
idempotencyKey so a partially-succeeded request is not duplicated. See Idempotency.Backoff reference
A canonical exponential backoff with full jitter (AWS guidance):What does not count against quota
- Failed authentication (
SIGNATURE_INVALID,TIMESTAMP_SKEW_EXCEEDED,REPLAY_DETECTED). These are rejected at the edge and do not consume per-endpoint quota — but they do consume an authentication-attempt quota with its own (more permissive) limit. - Webhook acknowledgements (your
2xxresponse to a delivery). Webhooks are server→you; no quota applies on the return path.
Best practices
Increasing your limit
Per-credential limits are configurable for production workloads. To request an increase, contact your Bloobank account team with:- Your
X-Access-Key(the credential needing the bump). - The endpoint(s) and target rate.
- A brief description of the workload (steady vs. bursty, peak hours, etc.).
Next
Retry strategy
Backoff for
UNAVAILABLE and RESOURCE_EXHAUSTED in detail.Webhooks
Reduce polling — receive state changes by push.