YoukaRequestError for HTTP and validation failures, and YoukaTaskError for async tasks that ended in a non-successful state. Both extend Error and carry structured fields so you can branch on code, status, and retryability.
YoukaRequestError
Thrown for HTTP errors, request validation failures, and malformed responses.
Fields
string
Machine-readable error code, for example
INVALID_REQUEST, UNAUTHORIZED,
UPLOAD_FAILED.string
Human-readable description.
number
HTTP status code, if available.
boolean
true if the SDK considers the error worth retrying (rate limits, transient
server errors, idempotent replay in progress).unknown
Server-provided details, typically a Zod issue list for validation errors.
Common codes
YoukaTaskError
Thrown from client.tasks.wait(...), client.projects.wait(...), and client.exports.wait(...) when the underlying task or export ends in failed, cancelled, or timed-out.
Fields
'TASK_FAILED' | 'TASK_CANCELLED' | 'TASK_TIMED_OUT'
Maps directly to the task’s terminal status.
string
Either the server-provided task error message or a generated fallback.
TaskStatus
The terminal task status.
RestTask
The full task payload at the moment of failure. Useful for logging and
user-facing error messages.
Retry pattern
Combineretryable with an idempotency key to build a safe retry loop:
Abort and cancellation
Aborting a request throws a standardAbortError — not a YoukaRequestError. Check for it explicitly:
What’s next
- Tasks — wait helpers and advanced task polling
- Authentication — constructor options and signals
- API errors — the same codes in raw HTTP
