# nodus.errors

> Errors raised by the Nodus SDK.

Source: https://nodus-platform-site.pages.dev/docs/reference/python/nodus-errors/
Build revision: 211ad9f836655b1c3a2668c4693e442471f28614

<!-- Generated by scripts/gen-reference.mjs from the SDK docstrings (griffe). Do not edit: run make gen. -->

Errors raised by the Nodus SDK.

Every error derives from `NodusError`. API errors map one-to-one onto the error-code registry (ADR-028): the class is chosen by the `metav1.Status` reason, so `except nodus.errors.InsufficientCredits` works the same for the CLI, the SDK and raw HTTP. Client-side failures are `APIConnectionError` and `APITimeoutError`; outcome errors are `JobFailed`, `AgentRunFailed`, `ImageBuildFailed`, `FunctionCallFailed` and `RemoteError`.

## Exports

* `APIConnectionError`: defined in `nodus.errors._base`
* `APITimeoutError`: defined in `nodus.errors._base`
* `AdmissionsPaused`: defined in `nodus.errors._codes`
* `AgentRunFailed`: defined in `nodus.errors._base`
* `AlreadyExists`: defined in `nodus.errors._codes`
* `ArrearsOutstanding`: defined in `nodus.errors._codes`
* `BY_STATUS`: defined in `nodus.errors._codes`
* `BadRequest`: defined in `nodus.errors._codes`
* `BudgetExceeded`: defined in `nodus.errors._codes`
* `CapacityUnavailable`: defined in `nodus.errors._codes`
* `Conflict`: defined in `nodus.errors._codes`
* `Expired`: defined in `nodus.errors._codes`
* `FieldImmutable`: defined in `nodus.errors._codes`
* `Forbidden`: defined in `nodus.errors._codes`
* `FunctionCallFailed`: defined in `nodus.errors._base`
* `IdempotencyKeyReused`: defined in `nodus.errors._codes`
* `ImageBuildFailed`: defined in `nodus.errors._base`
* `InsufficientCredits`: defined in `nodus.errors._codes`
* `Invalid`: defined in `nodus.errors._codes`
* `JobFailed`: defined in `nodus.errors._base`
* `NodusError`: defined in `nodus.errors._base`
* `NotFound`: defined in `nodus.errors._codes`
* `PaymentDisputed`: defined in `nodus.errors._codes`
* `PaymentMethodRequired`: defined in `nodus.errors._codes`
* `PaymentVerificationUnavailable`: defined in `nodus.errors._codes`
* `PreconditionFailed`: defined in `nodus.errors._codes`
* `QuotaExceeded`: defined in `nodus.errors._codes`
* `REGISTRY`: defined in `nodus.errors._codes`
* `RemoteError`: defined in `nodus.errors._base`
* `RequestInProgress`: defined in `nodus.errors._codes`
* `SandboxStarting`: defined in `nodus.errors._codes`
* `StdinBackpressure`: defined in `nodus.errors._codes`
* `TooManyRequests`: defined in `nodus.errors._codes`
* `Unauthorized`: defined in `nodus.errors._codes`
* `Unavailable`: defined in `nodus.errors._codes`
* `Unsupported`: defined in `nodus.errors._codes`
* `UnsupportedMediaType`: defined in `nodus.errors._codes`
* `VolumeBusy`: defined in `nodus.errors._codes`

## `from_status`

```python
from_status(http_status: int, body: Any, *, request_id: str | None = None, retry_after: float | None = None, idempotency_key: str | None = None) -> NodusError
```

Build the registry error for an HTTP error response whose body is a `metav1.Status` (or anything else).
