{
  "openapi": "3.0.3",
  "info": {
    "title": "FlickerFaith Partner Data API",
    "version": "1.0.0",
    "description": "Read-only access to the Bible, commentary, dictionary, topical, lexicon, cross-reference and Bible-story resources that the FlickerFaith team has marked shareable for your key. Every successful response is wrapped in `{ \"success\": true, \"data\": { ... } }` and every error in `{ \"success\": false, \"error\": { \"code\", \"message\" } }`. Resource payloads carry an `attribution` string that MUST be displayed wherever the content is shown.",
    "termsOfService": "https://flickerfaith.com/terms",
    "contact": {"name": "FlickerFaith", "url": "https://flickerfaith.com", "email": "hello@flickerfaith.com"}
  },
  "servers": [{"url": "https://api.flickerfaith.com/v1/data"}],
  "security": [{"ApiKeyHeader": []}, {"BearerKey": []}],
  "tags": [
    {"name": "Catalog", "description": "What this key can access"},
    {"name": "Bible", "description": "Books, chapters and passages"},
    {"name": "Strong's", "description": "Greek and Hebrew lexicon entries"},
    {"name": "Commentaries"},
    {"name": "Dictionaries"},
    {"name": "Topics", "description": "Topical works such as Nave's"},
    {"name": "Cross-references"},
    {"name": "Stories", "description": "Curated Bible narratives and parables"}
  ],
  "paths": {
    "/catalog": {
      "get": {
        "tags": ["Catalog"], "operationId": "getCatalog", "summary": "List every resource this key may read, grouped by family",
        "responses": {
          "200": {"description": "Catalog", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/Catalog"}}}]}}}},
          "401": {"$ref": "#/components/responses/Unauthorized"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/bible/books": {
      "get": {
        "tags": ["Bible"], "operationId": "listBooks", "summary": "The 66 books with abbreviations, chapter counts and per-chapter verse counts",
        "responses": {
          "200": {"description": "Books", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"books": {"type": "array", "items": {"$ref": "#/components/schemas/Book"}}}}}}]}}}},
          "401": {"$ref": "#/components/responses/Unauthorized"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/bible/{translation}/passage": {
      "get": {
        "tags": ["Bible"], "operationId": "getPassage", "summary": "Fetch one or more passages by reference",
        "parameters": [
          {"$ref": "#/components/parameters/Translation"},
          {"name": "ref", "in": "query", "required": true, "description": "Semicolon-separated references, e.g. `John 3:16-18;Psalm 23`. Max 10 refs; each may span at most 4 chapters.", "schema": {"type": "string", "example": "John 3:16-18;Psalm 23"}}
        ],
        "responses": {
          "200": {"description": "Passages", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/PassageResult"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/bible/{translation}/{book}/{chapter}": {
      "get": {
        "tags": ["Bible"], "operationId": "getChapter", "summary": "A whole chapter",
        "parameters": [{"$ref": "#/components/parameters/Translation"}, {"$ref": "#/components/parameters/Book"}, {"$ref": "#/components/parameters/Chapter"}],
        "responses": {
          "200": {"description": "Chapter", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/Chapter"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/strongs/search": {
      "get": {
        "tags": ["Strong's"], "operationId": "searchStrongs", "summary": "Search lexicon entries by lemma, transliteration or gloss (up to 25)",
        "parameters": [
          {"name": "q", "in": "query", "required": true, "schema": {"type": "string", "minLength": 2}, "example": "agape"},
          {"name": "lex", "in": "query", "required": false, "schema": {"type": "string", "enum": ["greek", "hebrew"]}}
        ],
        "responses": {
          "200": {"description": "Matches", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"results": {"type": "array", "maxItems": 25, "items": {"$ref": "#/components/schemas/StrongsEntry"}}, "attribution": {"type": "string"}}}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/strongs/{number}": {
      "get": {
        "tags": ["Strong's"], "operationId": "getStrongs", "summary": "One lexicon entry by Strong's number",
        "parameters": [{"name": "number", "in": "path", "required": true, "description": "`G` + digits for Greek, `H` + digits for Hebrew", "schema": {"type": "string", "pattern": "^[GH][0-9]{1,5}$"}, "example": "G26"}],
        "responses": {
          "200": {"description": "Entry", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/StrongsEntry"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/commentaries/{id}/{book}/{chapter}": {
      "get": {
        "tags": ["Commentaries"], "operationId": "getCommentaryChapter", "summary": "Commentary entries for every verse of a chapter",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"$ref": "#/components/parameters/Book"}, {"$ref": "#/components/parameters/Chapter"}],
        "responses": {
          "200": {"description": "Entries", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/CommentaryChapter"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/commentaries/{id}/{book}/{chapter}/{verse}": {
      "get": {
        "tags": ["Commentaries"], "operationId": "getCommentaryVerse", "summary": "Commentary entry for one verse",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"$ref": "#/components/parameters/Book"}, {"$ref": "#/components/parameters/Chapter"}, {"$ref": "#/components/parameters/Verse"}],
        "responses": {
          "200": {"description": "Entry", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/CommentaryVerse"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/dictionaries/{id}/search": {
      "get": {
        "tags": ["Dictionaries"], "operationId": "searchDictionary", "summary": "Headword prefix search (up to 25)",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"name": "q", "in": "query", "required": true, "schema": {"type": "string", "minLength": 1}, "example": "Sama"}],
        "responses": {
          "200": {"description": "Matches", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"results": {"type": "array", "maxItems": 25, "items": {"$ref": "#/components/schemas/DictionaryHit"}}, "attribution": {"type": "string"}}}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/dictionaries/{id}/entries/{idx}": {
      "get": {
        "tags": ["Dictionaries"], "operationId": "getDictionaryEntry", "summary": "One dictionary entry by index",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"name": "idx", "in": "path", "required": true, "schema": {"type": "integer", "minimum": 0}}],
        "responses": {
          "200": {"description": "Entry", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/DictionaryEntry"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/topics/merged": {
      "get": {
        "tags": ["Topics"], "operationId": "getMergedTopic", "summary": "One headword merged across every topical work the key can read",
        "parameters": [{"name": "q", "in": "query", "required": true, "schema": {"type": "string"}, "example": "Courage"}],
        "responses": {
          "200": {"description": "Merged topic", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/MergedTopic"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/topics/{id}/search": {
      "get": {
        "tags": ["Topics"], "operationId": "searchTopics", "summary": "Headword search within one topical work",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"name": "q", "in": "query", "required": true, "schema": {"type": "string", "minLength": 1}, "example": "cour"}],
        "responses": {
          "200": {"description": "Matches", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"results": {"type": "array", "maxItems": 25, "items": {"$ref": "#/components/schemas/TopicHit"}}, "attribution": {"type": "string"}}}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/topics/{id}/browse": {
      "get": {
        "tags": ["Topics"], "operationId": "browseTopics", "summary": "All headwords starting with a letter",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"name": "letter", "in": "query", "required": true, "schema": {"type": "string", "pattern": "^[A-Za-z]$"}, "example": "A"}],
        "responses": {
          "200": {"description": "Headwords", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"letter": {"type": "string"}, "entries": {"type": "array", "items": {"$ref": "#/components/schemas/TopicHit"}}, "attribution": {"type": "string"}}}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/topics/{id}/entries/{slug}": {
      "get": {
        "tags": ["Topics"], "operationId": "getTopicEntry", "summary": "One topic with its sections and references",
        "parameters": [{"$ref": "#/components/parameters/ResourceId"}, {"name": "slug", "in": "path", "required": true, "schema": {"type": "string"}, "example": "courage"}],
        "responses": {
          "200": {"description": "Topic", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/TopicEntry"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/crossrefs/{book}/{chapter}/{verse}": {
      "get": {
        "tags": ["Cross-references"], "operationId": "getCrossRefs", "summary": "Cross-references for one verse",
        "parameters": [{"$ref": "#/components/parameters/Book"}, {"$ref": "#/components/parameters/Chapter"}, {"$ref": "#/components/parameters/Verse"}],
        "responses": {
          "200": {"description": "References", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/CrossRefs"}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/stories": {
      "get": {
        "tags": ["Stories"], "operationId": "listStories", "summary": "Search the curated Bible-story index",
        "parameters": [
          {"name": "theme", "in": "query", "required": false, "description": "Exact lowercase theme tag, e.g. `courage`", "schema": {"type": "string"}},
          {"name": "q", "in": "query", "required": false, "description": "Free-text match on title, characters, hooks and summary", "schema": {"type": "string"}},
          {"name": "testament", "in": "query", "required": false, "schema": {"type": "string", "enum": ["OT", "NT"]}},
          {"name": "kind", "in": "query", "required": false, "schema": {"type": "string", "enum": ["narrative", "parable"]}},
          {"name": "limit", "in": "query", "required": false, "schema": {"type": "integer", "minimum": 1, "maximum": 100, "default": 25}}
        ],
        "responses": {
          "200": {"description": "Stories", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"type": "object", "properties": {"stories": {"type": "array", "items": {"$ref": "#/components/schemas/Story"}}, "total": {"type": "integer"}, "attribution": {"type": "string"}}}}}]}}}},
          "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    },
    "/stories/{slug}": {
      "get": {
        "tags": ["Stories"], "operationId": "getStory", "summary": "One story by slug",
        "parameters": [{"name": "slug", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"}, "example": "david-and-goliath"}],
        "responses": {
          "200": {"description": "Story", "headers": {"Cache-Control": {"$ref": "#/components/headers/CacheControl"}},
            "content": {"application/json": {"schema": {"allOf": [{"$ref": "#/components/schemas/Envelope"}, {"properties": {"data": {"$ref": "#/components/schemas/Story"}}}]}}}},
          "401": {"$ref": "#/components/responses/Unauthorized"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "429": {"$ref": "#/components/responses/RateLimited"}, "500": {"$ref": "#/components/responses/ServerError"}
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyHeader": {"type": "apiKey", "in": "header", "name": "X-API-Key", "description": "Your partner key, e.g. `ff_live_...`"},
      "BearerKey": {"type": "http", "scheme": "bearer", "description": "The same key sent as `Authorization: Bearer ff_live_...`"}
    },
    "headers": {
      "CacheControl": {"description": "Responses are specific to your key and cacheable by the client for five minutes.", "schema": {"type": "string", "example": "private, max-age=300"}}
    },
    "parameters": {
      "Translation": {"name": "translation", "in": "path", "required": true, "description": "Translation id from `/catalog` (e.g. `web`, `kjv`)", "schema": {"type": "string"}, "example": "WEB"},
      "Book": {"name": "book", "in": "path", "required": true, "description": "Book number (1-66), full English name, or a common abbreviation (`1sam`, `Song of Songs`, `Rev`)", "schema": {"type": "string"}, "example": "1 Samuel"},
      "Chapter": {"name": "chapter", "in": "path", "required": true, "schema": {"type": "integer", "minimum": 1}, "example": 17},
      "Verse": {"name": "verse", "in": "path", "required": true, "schema": {"type": "integer", "minimum": 1}, "example": 45},
      "ResourceId": {"name": "id", "in": "path", "required": true, "description": "Resource id from `/catalog`", "schema": {"type": "string"}, "example": "Nave"}
    },
    "responses": {
      "BadRequest": {"description": "INVALID_REQUEST", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "INVALID_REQUEST", "message": "ref exceeds 4 chapters"}}}}},
      "Unauthorized": {"description": "MISSING_API_KEY or INVALID_API_KEY", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "INVALID_API_KEY", "message": "Key not found or revoked"}}}}},
      "Forbidden": {"description": "SCOPE_DENIED - the resource exists but is not shareable with this key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "SCOPE_DENIED", "message": "This key cannot read translation niv"}}}}},
      "NotFound": {"description": "NOT_FOUND", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "NOT_FOUND", "message": "No story with slug jonah-and-the-whale"}}}}},
      "RateLimited": {"description": "DAILY_LIMIT_EXCEEDED - resets at midnight UTC", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "DAILY_LIMIT_EXCEEDED", "message": "Daily request quota reached"}}}}},
      "ServerError": {"description": "INTERNAL_ERROR - safe to retry", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorEnvelope"}, "example": {"success": false, "error": {"code": "INTERNAL_ERROR", "message": "Server error - retry the request"}}}}}
    },
    "schemas": {
      "Envelope": {"type": "object", "required": ["success", "data"], "properties": {"success": {"type": "boolean", "enum": [true]}, "data": {"type": "object"}}},
      "ErrorEnvelope": {"type": "object", "required": ["success", "error"], "properties": {"success": {"type": "boolean", "enum": [false]}, "error": {"type": "object", "required": ["code", "message"], "properties": {"code": {"type": "string", "enum": ["MISSING_API_KEY", "INVALID_API_KEY", "SCOPE_DENIED", "NOT_FOUND", "INVALID_REQUEST", "DAILY_LIMIT_EXCEEDED", "INTERNAL_ERROR"]}, "message": {"type": "string"}}}}},
      "CatalogItem": {"type": "object", "required": ["id", "name", "attribution"], "properties": {"id": {"type": "string", "example": "WEB"}, "name": {"type": "string", "example": "World English Bible"}, "attribution": {"type": "string", "example": "World English Bible (WEB), public domain."}}},
      "Catalog": {"type": "object", "properties": {
        "bible": {"type": "array", "items": {"$ref": "#/components/schemas/CatalogItem"}},
        "commentaries": {"type": "array", "items": {"$ref": "#/components/schemas/CatalogItem"}},
        "dictionaries": {"type": "array", "items": {"$ref": "#/components/schemas/CatalogItem"}},
        "topics": {"type": "array", "items": {"$ref": "#/components/schemas/CatalogItem"}},
        "lexicons": {"type": "array", "items": {"$ref": "#/components/schemas/CatalogItem"}},
        "crossrefs": {"$ref": "#/components/schemas/CatalogItem"},
        "stories": {"$ref": "#/components/schemas/CatalogItem"}
      }},
      "Book": {"type": "object", "properties": {"number": {"type": "integer", "example": 9}, "name": {"type": "string", "example": "1 Samuel"}, "abbreviations": {"type": "array", "items": {"type": "string"}, "example": ["1sam", "1sa", "1sm"]}, "chapters": {"type": "integer", "example": 31}, "verseCounts": {"type": "array", "items": {"type": "integer"}, "description": "Index 0 is chapter 1"}}},
      "Verse": {"type": "object", "properties": {"v": {"type": "integer"}, "text": {"type": "string"}}},
      "Chapter": {"type": "object", "properties": {"translation": {"type": "string"}, "book": {"type": "object", "properties": {"number": {"type": "integer"}, "name": {"type": "string"}}}, "chapter": {"type": "integer"}, "verses": {"type": "array", "items": {"$ref": "#/components/schemas/Verse"}}, "attribution": {"type": "string"}}},
      "PassageVerse": {"type": "object", "properties": {"book": {"type": "string"}, "chapter": {"type": "integer"}, "v": {"type": "integer"}, "text": {"type": "string"}}},
      "PassageResult": {"type": "object", "properties": {"translation": {"type": "string"}, "passages": {"type": "array", "items": {"type": "object", "properties": {"ref": {"type": "string"}, "verses": {"type": "array", "items": {"$ref": "#/components/schemas/PassageVerse"}}}}}, "attribution": {"type": "string"}}},
      "StrongsEntry": {"type": "object", "properties": {"number": {"type": "string", "example": "G26"}, "lexicon": {"type": "string", "enum": ["greek", "hebrew"]}, "lemma": {"type": "string"}, "transliteration": {"type": "string"}, "gloss": {"type": "string"}, "definition": {"type": "string"}, "attribution": {"type": "string", "example": "Lemma and transliteration data from Open Scriptures, CC BY-SA 4.0."}}},
      "CommentaryVerse": {"type": "object", "properties": {"id": {"type": "string"}, "book": {"type": "string"}, "chapter": {"type": "integer"}, "verse": {"type": "integer"}, "text": {"type": "string"}, "attribution": {"type": "string"}}},
      "CommentaryChapter": {"type": "object", "properties": {"id": {"type": "string"}, "book": {"type": "string"}, "chapter": {"type": "integer"}, "entries": {"type": "array", "items": {"type": "object", "properties": {"verse": {"type": "integer"}, "text": {"type": "string"}}}}, "attribution": {"type": "string"}}},
      "DictionaryHit": {"type": "object", "properties": {"idx": {"type": "integer"}, "headword": {"type": "string"}}},
      "DictionaryEntry": {"type": "object", "properties": {"id": {"type": "string"}, "idx": {"type": "integer"}, "headword": {"type": "string"}, "text": {"type": "string"}, "attribution": {"type": "string"}}},
      "TopicHit": {"type": "object", "properties": {"slug": {"type": "string"}, "headword": {"type": "string"}}},
      "TopicRef": {"type": "object", "properties": {"ref": {"type": "string", "example": "Joshua 1:9"}, "bookNum": {"type": "integer"}, "ch": {"type": "integer"}, "v": {"type": "integer"}, "vEnd": {"type": "integer", "nullable": true}}},
      "TopicSection": {"type": "object", "properties": {"heading": {"type": "string"}, "refs": {"type": "array", "items": {"$ref": "#/components/schemas/TopicRef"}}, "see": {"type": "array", "items": {"type": "string"}}}},
      "TopicEntry": {"type": "object", "properties": {"id": {"type": "string"}, "slug": {"type": "string"}, "headword": {"type": "string"}, "sections": {"type": "array", "items": {"$ref": "#/components/schemas/TopicSection"}}, "attribution": {"type": "string"}}},
      "MergedTopic": {"type": "object", "properties": {"headword": {"type": "string"}, "sources": {"type": "array", "items": {"type": "object", "properties": {"id": {"type": "string"}, "slug": {"type": "string"}, "sections": {"type": "array", "items": {"$ref": "#/components/schemas/TopicSection"}}, "attribution": {"type": "string"}}}}}},
      "CrossRefs": {"type": "object", "properties": {"book": {"type": "string"}, "chapter": {"type": "integer"}, "verse": {"type": "integer"}, "refs": {"type": "array", "items": {"type": "string"}, "example": ["1 Samuel 17:47", "Psalms 20:7", "Zechariah 4:6"]}, "attribution": {"type": "string"}}},
      "Story": {"type": "object", "required": ["slug", "title", "kind", "testament", "book", "passages", "characters", "themes", "hooks", "summary", "era", "order"], "properties": {
        "slug": {"type": "string", "example": "david-and-goliath"},
        "title": {"type": "string", "example": "David and Goliath"},
        "kind": {"type": "string", "enum": ["narrative", "parable"]},
        "testament": {"type": "string", "enum": ["OT", "NT"]},
        "book": {"type": "string", "example": "1 Samuel"},
        "passages": {"type": "array", "items": {"type": "object", "properties": {"ref": {"type": "string", "example": "1 Samuel 17"}}}},
        "characters": {"type": "array", "items": {"type": "string"}},
        "themes": {"type": "array", "items": {"type": "string"}, "example": ["courage", "faith", "underdog", "god's power"]},
        "hooks": {"type": "array", "items": {"type": "string"}, "maxItems": 3},
        "summary": {"type": "string"},
        "era": {"type": "string", "example": "united-monarchy"},
        "order": {"type": "integer", "description": "Canonical reading order"},
        "attribution": {"type": "string"}
      }}
    }
  }
}
