Skip to main content
Most public handlers use this standard JSON envelope:
integer
HTTP status code.
string
Broad machine-readable category.
string
Human-readable explanation.
string
Request identifier to include in support reports.
The standard envelope can also include code, retryable, details, current_updated_at, attribute_id, or attribute_key. Treat code as the stable detail discriminator when it is present.

Endpoint-specific payloads

Some handlers bypass the standard helper. Do not assume the four standard fields exist on every non-2xx response.
  • Catalog validation can return { "error_type": "validation_error", "errors": [...] }.
  • A stale Catalog write can return { "code": "stale_write", "current_updated_at": "..." }.
  • Blocked exports and schema-dependency conflicts return endpoint-specific fields documented on those operations.
  • Search and Enrich can report insufficient credits inside an HTTP 200 result. Enhancement requests return 202 before the worker checks the balance; poll enhancement status for the eventual error.
Keep the HTTP status and complete raw payload. The SDK error classes preserve nonstandard payloads in rawPayload or raw_payload when they receive a non-2xx response.

Error types

SDK errors

TypeScript LassoError exposes statusCode, errorType, requestId, code, retryable, currentUpdatedAt, details, and rawPayload. Python LassoError exposes the corresponding snake_case fields and raw_payload. Missing standard fields use SDK fallback values.