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.