API docs

Base URL: whatever host you're running this on, e.g. http://localhost:3000

GET/health

Liveness check.

Every endpoint below requires an API key, sent as Authorization: Bearer <your-api-key>. Get one by registering and creating one from your dashboard.

GET/versions requires an API key

List available Bible version codes (e.g. kjv, niv, nlt).

GET /versions
Authorization: Bearer <your-api-key>

GET/books requires an API key

List book names and their chapter counts.

GET /books
Authorization: Bearer <your-api-key>

GET/search requires an API key

Search for a verse by phrase. Query params: q (required), version (optional — omit to search across every version at once, each result tagged with its own version field), fuzzy (true/1 to allow misremembered wording), limit (default 10, max 50).

GET /search?q=for+god+so+loved+the+world&version=kjv
Authorization: Bearer <your-api-key>

Note: omitting version here returns a single ranked list mixing all versions — that's different from /chapter below, where omitting it returns every version's chapter grouped separately.

POST/chapter requires an API key

Fetch a full chapter. JSON body: book (required), chapter (required), version (optional — omit to get the chapter from every version).

POST /chapter
Authorization: Bearer <your-api-key>
Content-Type: application/json

{"book": "John", "chapter": 3, "version": "kjv"}