Skip to main content

Sync parse

POST /v1/blobs/{blob_id}/parse
Authorization: Bearer ltx_your_key
Default when blob size is under server PARSE_SYNC_MAX_BYTES. Supported types depend on stored Content-Type (PDF, DOCX, CSV, XLSX). Counts toward parse_ops quotas. Per-minute parse rate limits by tier (429 PARSE_RATE_LIMIT).

Async parse

POST /v1/blobs/{blob_id}/parse?async=true
Authorization: Bearer ltx_your_key
Content-Type: application/json

{"callback_url": "https://…"}
202 queued when async is enabled and the host has QStash configured. Optional callback_url: HTTPS with publicly resolvable host (validated server-side). Body optional for sync.

Poll status

GET /v1/blobs/{blob_id}/parse/{parse_id}
Authorization: Bearer ltx_your_key
Returns status, structured result when complete, or error message on failure.

Callback delivery audit

GET /v1/blobs/{blob_id}/parse/{parse_id}/deliveries
Authorization: Bearer ltx_your_key
Lists persisted HTTP attempts for the async parse callback (newest first): attempt_number, status (success / failed), http_status, last_error, created_at. Same 404 / BLOB_NOT_FOUND rules as poll when the parse is not yours.

Replay callback (optional)

POST /v1/blobs/{blob_id}/parse/{parse_id}/replay
Authorization: Bearer ltx_your_key
Re-sends the successful-parse callback (same JSON + HMAC as the worker). Requires parse complete, HTTPS callback_url, and result present. 403 CALLBACK_REPLAY_DISABLED when the host has not enabled replay; 422 if preconditions fail; 429 CALLBACK_REPLAY_RATE_LIMIT (per-minute cap).

Errors

Common codes: PARSE_TOO_LARGE_SYNC, PARSE_UNSUPPORTED_TYPE, PARSE_QUOTA_EXCEEDED, PARSE_RATE_LIMIT, PARSE_ASYNC_DISABLED, BLOB_NOT_FOUND, CALLBACK_REPLAY_DISABLED, CALLBACK_REPLAY_RATE_LIMIT, PARSE_NOT_COMPLETE, PARSE_CALLBACK_URL_MISSING, PARSE_RESULT_MISSING.

MCP

  • GET https://lithtrix.ai/mcp/lithtrix-blob-parse.json
  • GET https://lithtrix.ai/mcp/lithtrix-blob-parse-status.json