{
  "openapi": "3.1.0",
  "info": {
    "title": "Dissected Bible API",
    "version": "1.0.0",
    "description": "Free JSON API for the Berean Standard Bible with word-by-word Hebrew and Greek, cross-references, people and places. 10 requests/minute anonymously, 60/minute with a free API key (header x-api-key). Attribution required: \"Berean Standard Bible (public domain) via Dissected Bible\".",
    "contact": { "url": "https://dissectedbible.com/api" }
  },
  "servers": [{ "url": "https://api.dissectedbible.com/api/v1" }],
  "components": {
    "securitySchemes": { "apiKey": { "type": "apiKey", "in": "header", "name": "x-api-key" } }
  },
  "security": [{}, { "apiKey": [] }],
  "paths": {
    "/": { "get": { "summary": "API index and status", "responses": { "200": { "description": "List of endpoints" } } } },
    "/passage": {
      "get": {
        "summary": "Get a passage by reference",
        "parameters": [
          { "name": "ref", "in": "query", "required": true, "schema": { "type": "string" }, "example": "John 3:16-18" },
          { "name": "words", "in": "query", "schema": { "type": "boolean", "default": true }, "description": "Include original-language words (lemma, Strong's, transliteration, gloss)" },
          { "name": "xrefs", "in": "query", "schema": { "type": "boolean", "default": true }, "description": "Include cross-references" }
        ],
        "responses": { "200": { "description": "Passage verses" }, "429": { "description": "Rate limit exceeded" } }
      }
    },
    "/person": {
      "get": {
        "summary": "Look up a biblical person",
        "parameters": [
          { "name": "slug", "in": "query", "schema": { "type": "string" }, "example": "moses" },
          { "name": "q", "in": "query", "schema": { "type": "string" } }
        ],
        "responses": { "200": { "description": "Person or matches" } }
      }
    },
    "/place": {
      "get": {
        "summary": "Look up a biblical place",
        "parameters": [
          { "name": "slug", "in": "query", "schema": { "type": "string" }, "example": "jerusalem" },
          { "name": "q", "in": "query", "schema": { "type": "string" } }
        ],
        "responses": { "200": { "description": "Place or matches" } }
      }
    },
    "/search": {
      "get": {
        "summary": "Search verses within a book",
        "parameters": [
          { "name": "q", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "book", "in": "query", "required": true, "schema": { "type": "string" }, "example": "john" }
        ],
        "responses": { "200": { "description": "Matching verses" } }
      }
    }
  }
}
