FigraniumError. It covers HTTP error responses, network failures, timeouts, and request aborts. You can branch on error.status for HTTP semantics, on error.code for machine-readable categories, and on error.__cause__ for the original transport exception.
FigraniumError shape
FigraniumError extends the standard Exception class, so .message and the traceback are available as usual.
Basic handling
Fields
status
status
The HTTP status returned by the Figranium server, if a response arrived.
0 when the request never reached a status, such as a network failure, DNS error, or cancelled request.code
code
Server-provided machine-readable error code, taken from the response body’s
error field. Also used for SDK-generated conditions:details
details
Free-form value from the response body’s
details or detail field. Typically an object describing which validation failed, which record was missing, or which field was invalid.request_id
request_id
Value of the
x-request-id response header, when the server or a proxy sets one. Include this in bug reports to make server-side logs easier to correlate.response
response
The original
httpx.Response object, when the error came from an HTTP response. Available for advanced consumers who need the raw headers or body.Branching on status
Transport failures
When the request never gets a response (server unreachable, DNS failure, TLS error),status is 0 and code is NETWORK_ERROR. The __cause__ property carries the underlying httpx.HTTPError.
Timeouts and cancellation
When a request exceeds the configured timeout, the SDK raisesFigraniumError with code="REQUEST_ABORTED". The __cause__ is the httpx.TimeoutException.