Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/DrDigett/Babel/llms.txt

Use this file to discover all available pages before exploring further.

BaBel+ provides a JSON REST API built with the Hono framework. The server listens on port 3000 by default and serves every endpoint under the /api path prefix. All request and response bodies are JSON (Content-Type: application/json). In the current version no authentication is required — any client with network access can read and write data.

Base URL

EnvironmentBase URL
Developmenthttp://localhost:3000/api
Productionhttps://<your-domain>/api
Replace <your-domain> with the hostname of your deployed instance (e.g. a Render service URL).

Authentication

Authentication is not yet implemented. The server reads a JWT_SECRET environment variable and the configuration layer is in place, but no auth middleware is currently applied to any route. Every request is accepted without credentials.
Because there is no access control, avoid exposing the server on a public network without an external firewall or reverse proxy until auth middleware is added.

Content-Type

Every request that includes a body must set the Content-Type: application/json header. Requests with a body that omit this header may be rejected or parsed incorrectly by the Hono runtime.
curl -X POST http://localhost:3000/api/nodes \
  -H "Content-Type: application/json" \
  -d '{"title": "My node", "type": "libro"}'

Error format

All error responses return a JSON object with a single error key and an appropriate HTTP status code.
{
  "error": "description of what went wrong"
}

Common status codes

CodeMeaning
200Success — GET and PUT requests that find the target resource
201Created — POST requests that successfully create a new resource
400Validation error — missing required fields, out-of-range values, or invalid enum values
404Not found — the requested resource does not exist
409Conflict — for example, a node that is already a member of a list
500Server error — unhandled exceptions, including failures from the Groq AI API

Health check

GET /api/health
Returns { "status": "ok" } when the server is up. This endpoint is registered as the Render health check URL and requires no body or headers.
{ "status": "ok" }

Endpoints summary

ResourceMethodPathDescription
NodesGET/api/nodesList all nodes (filterable by type and status)
NodesPOST/api/nodesCreate a new node
NodesGET/api/nodes/:idGet a single node
NodesPUT/api/nodes/:idPartially update a node
NodesDELETE/api/nodes/:idDelete a node (cascades to relations and list memberships)
RelationsGET/api/relationsList all relations
RelationsPOST/api/relationsCreate a relation between two nodes
RelationsDELETE/api/relations/:idDelete a relation
SearchGET/api/search?q=Full-text search across nodes
AIPOST/api/ai/classifyClassify a text snippet into a node type
AIPOST/api/ai/smart-addExtract and create a node from free-form text
ListsGET/api/listsList all lists
ListsPOST/api/listsCreate a new list
ListsGET/api/lists/:idGet a list with its ordered node members
ListsPUT/api/lists/:idUpdate list name or description
ListsDELETE/api/lists/:idDelete a list
List nodesPOST/api/lists/:id/nodesAdd a node to a list
List nodesDELETE/api/lists/:id/nodes/:nodeIdRemove a node from a list
List ratingPUT/api/lists/:id/nodes/:nodeId/ratingSet a node’s rating within a list
List reorderPUT/api/lists/:id/nodes/reorderReorder nodes in a list
HealthGET/api/healthServer health check

Explore by resource

Nodes

Create, retrieve, update, and delete content items — the primary resource in BaBel+.

Relations

Link nodes together with typed, weighted directional edges.

Lists

Curate ordered collections of nodes with per-entry ratings and custom sort order.

Search

Query nodes by title, description, author, tags, and more with a single parameter.

AI

Classify free-form text and auto-populate new nodes using the Groq language model.

Build docs developers (and LLMs) love