> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockdb.chaintable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Error codes

> BlockDB's business error codes and their gRPC status code mapping.

# Error codes

BlockDB returns a business error code (`BizErrorCode`) that maps to a standard gRPC status code.

| Business error code | Meaning | gRPC status |
| - | - | - |
| `BIZ_ERROR_CODE_INVALID_ARGUMENT` | Invalid argument | `InvalidArgument` |
| `BIZ_ERROR_CODE_NOT_FOUND` | Not found | `NotFound` |
| `BIZ_ERROR_CODE_QUERY_REJECTED` | Query rejected | `FailedPrecondition` |
| `BIZ_ERROR_CODE_QUEUE_OVERLOAD` | Write queue overloaded | `ResourceExhausted` |
| `BIZ_ERROR_CODE_WRITE_CONFLICT` | Write conflict | `Aborted` |
| `BIZ_ERROR_CODE_INTERNAL` | Internal error | `Internal` |

<Note>
  `BIZ_ERROR_CODE_UNSPECIFIED` (value 0) means no error code was specified and is normally not used on its own.
</Note>

## Handling recommendations

* **`INVALID_ARGUMENT`**: check whether the request fields are valid (table name, primary key, conditions, and so on).
* **`NOT_FOUND`**: returned when reading a row that does not exist; treat it as an empty result in your business logic.
* **`QUEUE_OVERLOAD`**: the write queue is full. Retry later or switch to batch writes.
* **`WRITE_CONFLICT`**: a conditional update conflicted. Decide on your side whether to retry.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.