region_unavailable
HTTP 503 · code: "region_unavailable" · type: https://docs.formfeed.dev/errors/region-unavailable
The render service of the region could not take the request. Formfeed renders in the EU (eu, the default); see Data residency. The answer always carries Retry-After. Nothing was rendered or charged.
Example
{
"type": "https://docs.formfeed.dev/errors/region-unavailable",
"title": "Region unavailable",
"status": 503,
"detail": "The render region is busy, retry shortly",
"code": "region_unavailable",
"request_id": "req_4b7c1e9a2f3d4c5b8a6e7f9012"
}
Common causes
- The render service of the region is busy or restarting (
detail: The render region is busy, retry shortly;Retry-Aftercomes from the service, usually 2). The PDF tools, conversions and checks such asvalidate_datatry once more and then answer with this code. A synchronous render does not: it waits up to 30 seconds for a free render slot and then goes to the queue, answering202with the headerX-Render-Async-Fallback: true(the automatic fallback). - A
regionfor which the gateway has no render service configured (detail: Region us is not available,Retry-After: 60). Onlyeuis in service: leaveregionout rather than relying on this answer, because a region the gateway does have an address for but that does not render may fail differently.
How to fix it
- For a busy region, retry after the seconds in
Retry-After, with the sameIdempotency-Key. The SDKs do this for you. - Send large numbers of documents as async renders or a batch: the queue waits for free slots instead of answering this code.
- Leave
regionout, or send"region": "eu".
Retry?
Yes, after the seconds in Retry-After, with the same Idempotency-Key; answers of 503 are not stored under the key. A region without a render service answers the same way every time.