Skip to content

Exceptions

Custom exception hierarchy for Assured API errors.

AssuredError

Bases: Exception

Base exception for all Assured SDK errors.

Source code in src/assured/exceptions.py
class AssuredError(Exception):
    """Base exception for all Assured SDK errors."""

AssuredAPIError

Bases: AssuredError

Raised when the API returns a non-success HTTP status.

Source code in src/assured/exceptions.py
class AssuredAPIError(AssuredError):
    """Raised when the API returns a non-success HTTP status."""

    def __init__(self, status_code: int, detail: Any = None, *, url: str = "") -> None:
        self.status_code = status_code
        self.detail = detail
        self.url = url
        super().__init__(f"HTTP {status_code} from {url}: {detail}")

AssuredAuthError

Bases: AssuredAPIError

Raised on HTTP 401 — invalid or missing API key.

Source code in src/assured/exceptions.py
class AssuredAuthError(AssuredAPIError):
    """Raised on HTTP 401 — invalid or missing API key."""

AssuredNotFoundError

Bases: AssuredAPIError

Raised on HTTP 404 — resource not found.

Source code in src/assured/exceptions.py
class AssuredNotFoundError(AssuredAPIError):
    """Raised on HTTP 404 — resource not found."""

AssuredValidationError

Bases: AssuredAPIError

Raised on HTTP 400 — bad request / validation failure.

Source code in src/assured/exceptions.py
class AssuredValidationError(AssuredAPIError):
    """Raised on HTTP 400 — bad request / validation failure."""

AssuredRateLimitError

Bases: AssuredAPIError

Raised on HTTP 429 — rate limited (after retries exhausted).

Source code in src/assured/exceptions.py
class AssuredRateLimitError(AssuredAPIError):
    """Raised on HTTP 429 — rate limited (after retries exhausted)."""