Skip to main content
Every failed request answers the same envelope:
Branch on code. It is a closed set of 31 values; message is fixed per code and is never meant to be parsed.

What is retryable

Some of the above resolve on their own and are safe to retry unchanged: no_capacity, decode_unavailable, extraction_failed and answer_lost are all cases where the identical call commonly succeeds moments later. The rest are not: retrying a bad_request or a quota_exceeded without changing anything spends money to fail the same way again.