Exceptions#
- class saia_python.SAIAError(message: object, *, status_code: int | None = None, response_body: str | None = None)[source]#
Base exception for all SAIA API errors.
- Parameters:
message – Human-readable error message.
status_code – The upstream HTTP status, when the error came from a response (
Nonefor client-side errors).response_body – The raw upstream body, preserved so a caller can surface exactly what the server sent.
- class saia_python.AuthenticationError(message: object, *, status_code: int | None = None, response_body: str | None = None)[source]#
Raised on 401/403 responses — invalid or missing API key.
- class saia_python.RateLimitError(message: object, rate_limits: object = None, *, status_code: int | None = None, response_body: str | None = None)[source]#
Raised on 429 responses — rate limit exceeded.
Carries
rate_limits(the parsedRateLimitInfo) and, when raised byraise_for_status(), an informative message built byformat_rate_limit_error().