Skip to main content
All Vrin SDK exceptions inherit from VRINError. You can catch VRINError to handle any SDK error, or catch specific subclasses for fine-grained control.

Exception hierarchy

VRINError

Base exception for all SDK errors.

AuthenticationError

Raised when authentication fails (HTTP 401). The API key is invalid, expired, or missing.

RateLimitError

Raised when rate limits are exceeded (HTTP 429). Back off and retry after a delay.

ValidationError

Raised when input validation fails. Check the error message for details.

ServiceUnavailableError

Raised when the Vrin service is unavailable (HTTP 5xx). The client retries automatically based on max_retries before raising this exception.

JobFailedError

Raised by wait_for_job() when a processing job fails.

TimeoutError

Raised when an operation exceeds its timeout. For async jobs, use get_job_status() to check if the job is still running.
This is vrin.TimeoutError, not Python’s built-in TimeoutError. Import it from vrin to avoid confusion.

InsufficientCoverageError

Raised when the knowledge base has zero coverage for a query. This means no relevant entities or facts were found.

StreamingError

Raised during SSE streaming when the backend sends an error event.

Error handling patterns

See the Error Handling guide for recommended patterns including retry logic and graceful degradation.