We communicate with gRPC to generate a standard set of status codes. These codes are mapped to our status and error responses in the Statement service endpoints.

  "error": "value"
OK0Successful statement retrieval.
CANCELED1The retrieval was canceled by the customer.
UNKNOWN2Unknown 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.
INVALID_ARGUMENT3An invalid file format or file name was entered. Do note that this error is different compared to FAILED_PRECONDITION. INVALID_ARGUMENT errors.
DEADLINE_EXCEEDED4The 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 too long. @Stavin Deeswe Suggesting: The request has expired and the data retrieval could not be complete. If there is an update in the system, you may encounter this error even if the retrieval has complete.
NOT_FOUND5Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented whitelist, 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. @Stavin Deeswe Suggesting: File or directory request was not found. Note to server developers: if a request is denied for an entire class of users, for example gradual feature rollout or undocumented whitelist, use NOT_FOUND.
ALREADY_EXISTS6The file or directory has already exists.
PERMISSION_DENIED7The 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. Suggesting: PERMISSION_DENIED cannot be used for: Caller cannot be identified. Use UNAUTHENTICATED code instead
UNAUTHENTICATED16The request does not have valid authentication credentials for the statement retrieval.
RESOURCE_EXHAUSTED8Either per-user quota or data storage has exceeded.
FAILED_PRECONDITION9The statement retrieval was rejected due to state of system such as: Directory that is to be deleted is not empty Rmdir operation is applied to a non-directory, etc Service implementors can use the following guidelines to set these 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 (e.g., 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. E.g., 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.
ABORTED10The operation was aborted due to a concurrency issue such as a sequencer check failure or transaction aborted. View the earlier rows above for to set rules for FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.
OUT_OF_RANGE11The operation attempted past the valid range. E.g. seeking or reading past end-of-file. Unlike INVALID_ARGUMENT, this error indicates an issue that may be fixed if the system state updates. For example, a 32-bit file system will generate INVALID_ARGUMENT if requested to be read on an offset that is not in the range [0,2^32-1]. However, it will generate OUT_OF_RANGE if asked to read from an offset past the current file size. There is an 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.
UNIMPLEMENTED12The operation is not implemented or is not supported/enabled in this service.
INTERNAL13Invariants expected by the underlying system have been broken. This error code is reserved for serious errors.
UNAVAILABLE14The service is currently unavailable. This is a transient condition, which can be corrected by retrying with a backoff. Note: It is not always safe to retry non-idempotent operations.
DATA_LOSS15Unrecoverable data loss or corruption.