REST API Reference
All API endpoints require authentication via cookie-based session (Google OAuth). The base URL is https://loredb.dev/api.
Documents
| Method | Endpoint | Description |
|---|---|---|
GET | /api/documents | List documents (paginated) |
POST | /api/documents | Create a new document |
GET | /api/documents/:id | Get document details |
PUT | /api/documents/:id | Update a document |
DELETE | /api/documents/:id | Delete a document |
GET | /api/documents/:id/libraries | Get libraries containing this document |
GET | /api/documents/:id/links | Get outgoing links and backlinks |
GET | /api/documents/:id/verify | Mark document as verified |
GET | /api/documents/search?q=... | Hybrid search |
GET | /api/documents/ask?q=... | Ask AI (RAG) |
GET | /api/documents/graph | Knowledge graph (all nodes and edges) |
Search parameters
Both /search and /ask accept optional query parameters:
q— The search query (required)library_id— Scope to a specific librarysystem_id— Scope to a specific system
Libraries
| Method | Endpoint | Description |
|---|---|---|
GET | /api/libraries | List user’s libraries |
POST | /api/libraries | Create a new library |
GET | /api/libraries/:id | Get library details |
PUT | /api/libraries/:id | Update library name/description |
DELETE | /api/libraries/:id | Delete library |
GET | /api/libraries/:id/documents | List documents in library |
POST | /api/libraries/:id/documents | Add document to library |
DELETE | /api/libraries/:id/documents/:docId | Remove document from library |
GET | /api/libraries/:id/members | List library members |
POST | /api/libraries/:id/members | Add member with role |
DELETE | /api/libraries/:id/members/:email | Remove member |
PUT | /api/libraries/:id/active | Toggle active/inactive |
POST | /api/libraries/:id/leave | Leave library |
GET | /api/libraries/:id/invite | Get/regenerate invite token |
GET | /api/libraries/join/:token | Resolve invite |
POST | /api/libraries/join/:token | Join via invite |
GET | /api/libraries/:id/export | Export as JSON |
POST | /api/libraries/import | Import from JSON |
Systems
| Method | Endpoint | Description |
|---|---|---|
GET | /api/systems | List user’s systems |
POST | /api/systems | Create a new system |
GET | /api/systems/:id | Get system details |
PUT | /api/systems/:id | Update system |
DELETE | /api/systems/:id | Delete system |
GET | /api/systems/:id/libraries | List system’s libraries |
POST | /api/systems/:id/libraries | Add library to system |
DELETE | /api/systems/:id/libraries/:libId | Remove library from system |
GET | /api/systems/:id/members | List system members |
POST | /api/systems/:id/members | Add member with role |
DELETE | /api/systems/:id/members/:email | Remove member |
PUT | /api/systems/:id/active | Toggle active/inactive |
POST | /api/systems/:id/leave | Leave system |
GET | /api/systems/:id/invite | Get/regenerate invite token |
GET | /api/systems/join/:token | Resolve invite |
POST | /api/systems/join/:token | Join via invite |
User & Settings
| Method | Endpoint | Description |
|---|---|---|
GET | /api/models | List enabled chat models |
GET | /api/preferences | Get user preferences |
PUT | /api/preferences | Update chat model preference |
DELETE | /api/preferences/api-key | Remove stored API key |
GET | /api/usage | Usage summary |
GET | /api/usage/timeseries | Usage over time |
GET | /api/plan | Current plan |
GET | /api/credits | Credit balance |
GET | /api/sessions | Active sessions |
DELETE | /api/sessions/:id | Revoke session |
Billing
| Method | Endpoint | Description |
|---|---|---|
GET | /api/billing/plans | Available paid plans |
POST | /api/billing/checkout | Create Stripe checkout session |
POST | /api/billing/fulfill | Complete checkout |
POST | /api/stripe/webhook | Stripe webhook handler |
Admin endpoints (/api/admin/*) require admin privileges. See the Access Control reference for details.
For programmatic access, consider using MCP tools instead of the REST API. MCP handles authentication automatically and provides a higher-level interface.