Skip to main content

Exception hierarchy

All SDK errors inherit from ArisError.
class ArisError(Exception):
    """Base exception for ARIS SDK errors."""

Common exceptions

ExceptionMeaningRetry
ArisAuthenticationErrorInvalid or missing API key.No
ArisPaymentErrorInsufficient credits or billing rejection.No
ArisNodeErrorNode timeout, disconnect, or execution failure.Yes
ArisRateLimitErrorRequest rate exceeded.Yes

HTTP status mapping

StatusMeaningAction
400Invalid request payload.Fix request fields and retry.
401Authentication failed.Rotate or correct API key.
402Credits required.Increase balance and retry.
429Rate limit exceeded.Backoff and retry with jitter.
503No healthy nodes available.Retry after short delay.
from aris.client import Aris
from aris.errors import (
    ArisAuthenticationError,
    ArisPaymentError,
    ArisNodeError,
    ArisRateLimitError,
)

client = Aris(api_key="sk-aris-your-key")

try:
    response = client.generate(prompt="Generate a status summary")
except (ArisNodeError, ArisRateLimitError) as err:
    print(f"Temporary issue: {err}")
except ArisPaymentError:
    print("Insufficient credits.")
except ArisAuthenticationError:
    print("Invalid API key.")
Do not retry malformed prompts (400) or invalid credentials (401) without changing the request.
Last modified on February 21, 2026