All 17 canonical gRPC status codes from google.rpc.Code — numeric value, HTTP/2 mapping, retry guidance from the official spec, when each applies, and ready-to-paste handler snippets for Go, Python, Node, and Java.
These codes are defined in google/rpc/code.proto and are sent on the wire in the grpc-status trailer of an HTTP/2 response. The HTTP mapping shown here applies when a gRPC error is surfaced through the gRPC‑Gateway, Connect, or grpc-web (most servers translate the canonical code to a JSON HTTP response — see grpc-gateway/runtime/errors.go for the exact mapping used in practice).
Retry guidance follows the gRPC docs: UNAVAILABLE is always safe to retry with backoff, DEADLINE_EXCEEDED and ABORTED may be retryable depending on the operation's idempotency, and most others (e.g. INVALID_ARGUMENT, NOT_FOUND, PERMISSION_DENIED) indicate a client-side error that retrying will not fix.