Error Handling

Libro uses standard HTTP status codes.

Common Status Codes

  • 200 OK: Request succeeded.
  • 400 Bad Request: Invalid parameters (e.g., missing userId).
  • 401 Unauthorized: Invalid or missing API Key.
  • 429 Too Many Requests: Rate limit exceeded.
  • 500 Internal Server Error: Edge node failure.

SDK Error Catching

The SDK will throw a LibroError containing detailed information.

import { LibroError } from '@libro/sdk';

try {
  await ctx.ingest({ userId: "", content: "" });
} catch (error) {
  if (error instanceof LibroError) {
    console.log(error.status);  // 400
    console.log(error.message); // "userId is required"
  }
}