Error Hierarchy
All errors extendSignaError. API errors (4xx/5xx) extend SignaAPIError. Network issues have their own classes.
Catching Errors
Useinstanceof to handle specific error types:
Error Properties
EverySignaAPIError includes:
| Property | Type | Description |
|---|---|---|
status | number | HTTP status code |
error | APIErrorBody | Structured error body |
error.type | string | Machine-readable error slug (e.g., not_found) |
error.title | string | Human-readable title |
error.detail | string | Detailed error message |
request_id | string | Unique ID for this request (include in support tickets) |
headers | Headers | Full response headers |
Automatic Retries
The SDK automatically retries requests that fail due to transient issues:| Error Type | Retried? |
|---|---|
ConnectionError | Yes |
TimeoutError | Yes |
RateLimitError (429) | Yes (after retry_after delay) |
InternalServerError (5xx) | Yes |
BadRequestError (400) | No |
AuthenticationError (401) | No |
NotFoundError (404) | No |
0 to disable automatic retries entirely.
Per-Request Override
Override retry behavior for a single request:Rate Limits
When you exceed the API’s rate limit, the SDK receives a429 response and automatically retries after the Retry-After period. If retries are exhausted, a RateLimitError is thrown.