Documentation

Code
in package

The canonical error codes for gRPC APIs.

Sometimes multiple error codes may apply. Services should return the most specific error code that applies. For example, prefer OUT_OF_RANGE over FAILED_PRECONDITION if both codes apply. Similarly prefer NOT_FOUND or ALREADY_EXISTS over FAILED_PRECONDITION.

Protobuf type google.rpc.Code

Table of Contents

Constants

ABORTED  = 10
The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort.
ALREADY_EXISTS  = 6
The entity that a client attempted to create (e.g., file or directory) already exists.
CANCELLED  = 1
The operation was cancelled, typically by the caller.
DATA_LOSS  = 15
Unrecoverable data loss or corruption.
DEADLINE_EXCEEDED  = 4
The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.
FAILED_PRECONDITION  = 9
The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc.
INTERNAL  = 13
Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors.
INVALID_ARGUMENT  = 3
The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).
NOT_FOUND  = 5
Some requested entity (e.g., file or directory) was not found.
OK  = 0
Not an error; returned on success.
OUT_OF_RANGE  = 11
The operation was attempted past the valid range. E.g., seeking or reading past end-of-file.
PERMISSION_DENIED  = 7
The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions.
RESOURCE_EXHAUSTED  = 8
Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.
UNAUTHENTICATED  = 16
The request does not have valid authentication credentials for the operation.
UNAVAILABLE  = 14
The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations.
UNIMPLEMENTED  = 12
The operation is not implemented or is not supported/enabled in this service.
UNKNOWN  = 2
Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error.

Properties

$valueToName  : mixed

Methods

name()  : mixed
value()  : mixed

Constants

ABORTED

The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort.

public mixed ABORTED = 10

See the guidelines above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE. HTTP Mapping: 409 Conflict

Generated from protobuf enum ABORTED = 10;

ALREADY_EXISTS

The entity that a client attempted to create (e.g., file or directory) already exists.

public mixed ALREADY_EXISTS = 6

HTTP Mapping: 409 Conflict

Generated from protobuf enum ALREADY_EXISTS = 6;

CANCELLED

The operation was cancelled, typically by the caller.

public mixed CANCELLED = 1

HTTP Mapping: 499 Client Closed Request

Generated from protobuf enum CANCELLED = 1;

DATA_LOSS

Unrecoverable data loss or corruption.

public mixed DATA_LOSS = 15

HTTP Mapping: 500 Internal Server Error

Generated from protobuf enum DATA_LOSS = 15;

DEADLINE_EXCEEDED

The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.

public mixed DEADLINE_EXCEEDED = 4

HTTP Mapping: 504 Gateway Timeout

Generated from protobuf enum DEADLINE_EXCEEDED = 4;

FAILED_PRECONDITION

The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc.

public mixed FAILED_PRECONDITION = 9

Service implementors can use the following guidelines to decide between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE: (a) Use UNAVAILABLE if the client can retry just the failing call. (b) Use ABORTED if the client should retry at a higher level. For example, when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence. (c) Use FAILED_PRECONDITION if the client should not retry until the system state has been explicitly fixed. For example, if an "rmdir" fails because the directory is non-empty, FAILED_PRECONDITION should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request

Generated from protobuf enum FAILED_PRECONDITION = 9;

INTERNAL

Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors.

public mixed INTERNAL = 13

HTTP Mapping: 500 Internal Server Error

Generated from protobuf enum INTERNAL = 13;

INVALID_ARGUMENT

The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).

public mixed INVALID_ARGUMENT = 3

HTTP Mapping: 400 Bad Request

Generated from protobuf enum INVALID_ARGUMENT = 3;

NOT_FOUND

Some requested entity (e.g., file or directory) was not found.

public mixed NOT_FOUND = 5

Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, NOT_FOUND may be used. If a request is denied for some users within a class of users, such as user-based access control, PERMISSION_DENIED must be used. HTTP Mapping: 404 Not Found

Generated from protobuf enum NOT_FOUND = 5;

OK

Not an error; returned on success.

public mixed OK = 0

HTTP Mapping: 200 OK

Generated from protobuf enum OK = 0;

OUT_OF_RANGE

The operation was attempted past the valid range. E.g., seeking or reading past end-of-file.

public mixed OUT_OF_RANGE = 11

Unlike INVALID_ARGUMENT, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate INVALID_ARGUMENT if asked to read at an offset that is not in the range [0,2^32-1], but it will generate OUT_OF_RANGE if asked to read from an offset past the current file size. There is a fair bit of overlap between FAILED_PRECONDITION and OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific error) when it applies so that callers who are iterating through a space can easily look for an OUT_OF_RANGE error to detect when they are done. HTTP Mapping: 400 Bad Request

Generated from protobuf enum OUT_OF_RANGE = 11;

PERMISSION_DENIED

The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions.

public mixed PERMISSION_DENIED = 7

HTTP Mapping: 403 Forbidden

Generated from protobuf enum PERMISSION_DENIED = 7;

RESOURCE_EXHAUSTED

Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.

public mixed RESOURCE_EXHAUSTED = 8

HTTP Mapping: 429 Too Many Requests

Generated from protobuf enum RESOURCE_EXHAUSTED = 8;

UNAUTHENTICATED

The request does not have valid authentication credentials for the operation.

public mixed UNAUTHENTICATED = 16

HTTP Mapping: 401 Unauthorized

Generated from protobuf enum UNAUTHENTICATED = 16;

UNAVAILABLE

The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations.

public mixed UNAVAILABLE = 14

See the guidelines above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE. HTTP Mapping: 503 Service Unavailable

Generated from protobuf enum UNAVAILABLE = 14;

UNIMPLEMENTED

The operation is not implemented or is not supported/enabled in this service.

public mixed UNIMPLEMENTED = 12

HTTP Mapping: 501 Not Implemented

Generated from protobuf enum UNIMPLEMENTED = 12;

UNKNOWN

Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error.

public mixed UNKNOWN = 2

HTTP Mapping: 500 Internal Server Error

Generated from protobuf enum UNKNOWN = 2;

Properties

$valueToName

private static mixed $valueToName = [self::OK => 'OK', self::CANCELLED => 'CANCELLED', self::UNKNOWN => 'UNKNOWN', self::INVALID_ARGUMENT => 'INVALID_ARGUMENT', self::DEADLINE_EXCEEDED => 'DEADLINE_EXCEEDED', self::NOT_FOUND => 'NOT_FOUND', self::ALREADY_EXISTS => 'ALREADY_EXISTS', self::PERMISSION_DENIED => 'PERMISSION_DENIED', self::UNAUTHENTICATED => 'UNAUTHENTICATED', self::RESOURCE_EXHAUSTED => 'RESOURCE_EXHAUSTED', self::FAILED_PRECONDITION => 'FAILED_PRECONDITION', self::ABORTED => 'ABORTED', self::OUT_OF_RANGE => 'OUT_OF_RANGE', self::UNIMPLEMENTED => 'UNIMPLEMENTED', self::INTERNAL => 'INTERNAL', self::UNAVAILABLE => 'UNAVAILABLE', self::DATA_LOSS => 'DATA_LOSS']

Methods

name()

public static name(mixed $value) : mixed
Parameters
$value : mixed

value()

public static value(mixed $name) : mixed
Parameters
$name : mixed

        
On this page

Search results