{"openapi":"3.1.0","info":{"title":"GetHolyBible API","version":"1.0.0","summary":"Public-domain King James Version (1769) with the Apocrypha — plain JSON over HTTP","description":"Free REST API for the King James Version (1769) with the Apocrypha (80 books, in the 1611 book order) with Strong's Hebrew/Greek numbers, full-text search, a Strong's dictionary, and a Verse of the Day archive for every day of the year.\n\nNo API key required within fair limits (120 requests/minute, 10,000/day per IP). Mint a free token at https://getholybible.com/settings#tokens for higher limits — apps can mint tokens programmatically with POST /token. The Bible text is public domain (text maintained by CrossWire Bible Society / eBible.org).\n\nEvery HTML page has an API twin: append ?format=json or a .json suffix (e.g. /book/1/1.json). CORS is open (Access-Control-Allow-Origin: *), so browser apps on any origin may call the API with Authorization: Bearer tokens.","termsOfService":"https://getholybible.com/terms","contact":{"name":"GetHolyBible","url":"https://getholybible.com/help"}},"servers":[{"url":"https://getholybible.com","description":"Production"}],"security":[],"tags":[{"name":"Meta","description":"Version metadata and the book index"},{"name":"Text","description":"Books, chapters, verses and words"},{"name":"Search","description":"Full-text search and popular verses"},{"name":"Strong's","description":"Strong's Hebrew and Greek dictionary"},{"name":"Votd","description":"Verse of the Day and the full-year archive"},{"name":"Account","description":"Your account via API token"}],"paths":{"/":{"get":{"tags":["Meta"],"summary":"Version metadata, the 80-book index and today’s Verse of the Day","parameters":[{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"Version info, books and today’s Votd","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Index"}}}}}}},"/book/{book}":{"get":{"tags":["Text"],"summary":"Book metadata and its chapter numbers","parameters":[{"name":"book","in":"path","required":true,"description":"Book number in the 1611 order: 1–39 Old Testament, 40–53 Apocrypha, 54–80 New Testament","schema":{"type":"integer","minimum":1,"maximum":80}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}},{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"Book metadata plus the list of chapter numbers","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookResponse"}}}},"404":{"description":"Unknown book number","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/book/{book}/{chapter}":{"get":{"tags":["Text"],"summary":"A whole chapter, verse by verse, with per-word data","parameters":[{"name":"book","in":"path","required":true,"description":"Book number in the 1611 order: 1–39 Old Testament, 40–53 Apocrypha, 54–80 New Testament","schema":{"type":"integer","minimum":1,"maximum":80}},{"name":"chapter","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}},{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"The chapter with every verse and word","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"},"ETag":{"description":"Content hash — send If-None-Match to get a free 304"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Chapter"}}}},"404":{"description":"Unknown book or chapter","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/book/{book}/{chapter}/{verse}":{"get":{"tags":["Text"],"summary":"A single verse with per-word data","parameters":[{"name":"book","in":"path","required":true,"description":"Book number in the 1611 order: 1–39 Old Testament, 40–53 Apocrypha, 54–80 New Testament","schema":{"type":"integer","minimum":1,"maximum":80}},{"name":"chapter","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"verse","in":"path","required":true,"schema":{"type":"integer","minimum":1}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}},{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"One verse","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"},"ETag":{"description":"Content hash — send If-None-Match to get a free 304"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Verse"}}}},"404":{"description":"Unknown book, chapter or verse","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/search":{"get":{"tags":["Search"],"summary":"Full-text search across the whole Bible","parameters":[{"name":"q","in":"query","required":true,"description":"Search words (quoted phrases supported, e.g. \"armour of God\")","schema":{"type":"string","minLength":2}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}},{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"Paged results with highlighted snippets","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Search"}}}}}}},"/popbv":{"get":{"tags":["Search"],"summary":"The most-visited verses on the site","parameters":[{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"Popular verses with view counts","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Popular"}}}}}}},"/strongs/{id}":{"get":{"tags":["Strong's"],"summary":"One Strong's dictionary entry (Hebrew or Greek)","parameters":[{"name":"id","in":"path","required":true,"description":"Strong's number, e.g. H430 or G26","schema":{"type":"string","pattern":"^[GH][0-9]{1,5}$"}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"The dictionary entry","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrongEntry"}}}},"404":{"description":"Unknown Strong's number","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/votd":{"get":{"tags":["Votd"],"summary":"Today’s Verse of the Day","parameters":[{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"Verse of the Day with image and archive range","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votd"}}}}}}},"/votd/{date}":{"get":{"tags":["Votd"],"summary":"The Verse of the Day for any date (the archive)","parameters":[{"name":"date","in":"path","required":true,"description":"Date in YYYY-MM-DD form (the archive covers every day of the year)","schema":{"type":"string","pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"Verse of the Day for the given date","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votd"}}}},"404":{"description":"Date outside the archive range","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/votd/archive/{year}":{"get":{"tags":["Votd"],"summary":"Every Verse of the Day for one year","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","minimum":2026}},{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}}],"responses":{"200":{"description":"All days of the year with their verse reference","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArchiveYear"}}}},"404":{"description":"Unknown year","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/versions":{"get":{"tags":["Meta"],"summary":"Every translation the corpus offers (currently kjv + kjvno)","responses":{"200":{"description":"All versions with language, scope, license and source","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"},"ETag":{"description":"Content hash — send If-None-Match to get a free 304"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Versions"}}}}}}},"/random":{"get":{"tags":["Text"],"summary":"A random verse from the canonical books (never the Apocrypha)","parameters":[{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"One random verse — same shape as a single-verse fetch","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Verse"}}}},"404":{"description":"No verses available in this version yet","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/passage":{"get":{"tags":["Text"],"summary":"Look up a passage by free-form reference","description":"Accepts \"John 3:16\", \"John 3:16-21\", \"Psalm 23\", \"John 3-4\" and \"John 3:31-4:25\". Book names, common abbreviations and some aliases (e.g. \"Ps\", \"Jn\", \"Sng\") work. Responses are capped at 500 verses.","parameters":[{"name":"ref","in":"query","required":true,"description":"Free-form passage reference, e.g. John 3:16-21","schema":{"type":"string","minLength":3}},{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}],"responses":{"200":{"description":"The passage, verse by verse","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"},"ETag":{"description":"Content hash — send If-None-Match to get a free 304"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Passage"}}}},"404":{"description":"Unknown reference, or outside the book","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Missing ref, or passage broader than 500 verses","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/me":{"get":{"tags":["Account"],"summary":"Your account — requires an API token (Authorization: Bearer)","security":[{"bearerToken":[]}],"responses":{"200":{"description":"The account the token belongs to","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}},"401":{"description":"Missing, invalid or revoked token","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/token":{"post":{"tags":["Account"],"summary":"Mint an API token with email + password (for apps)","description":"No session or CSRF token needed — the password is the authorization. The raw token is returned exactly once; store it securely. Same quotas, tiers and limits as creating a token in account settings.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}}},"responses":{"200":{"description":"The newly minted token (shown exactly once)","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCreated"}}}},"401":{"description":"Invalid email or password","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Bad name or quota for your tier; too many active tokens; budget exceeded","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many attempts — throttled like /login","headers":{"X-RateLimit-Limit":{"description":"Requests per minute allowed for this caller"},"X-RateLimit-Remaining":{"description":"Requests left in the current minute"},"X-RateLimit-Reset":{"description":"Unix time when the daily quota resets (00:00 UTC)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","description":"API token from https://getholybible.com/settings#tokens"}},"parameters":{"format":{"name":"format","in":"query","description":"json returns the API payload; html (default) returns the human-friendly page","schema":{"type":"string","enum":["json","html"],"default":"html"}},"version":{"name":"v","in":"query","description":"Bible version: kjv (default) or kjvno (Norwegian machine translation, canonical books only)","schema":{"type":"string","enum":["kjv","kjvno"],"default":"kjv"}}},"schemas":{"Error":{"type":"object","required":["error","status"],"properties":{"error":{"type":"string","description":"Human-readable message"},"status":{"type":"integer"}}},"Version":{"type":"object","properties":{"id":{"type":"string","enum":["kjv","kjvno"]},"name":{"type":"string"},"abbreviation":{"type":"string"},"language":{"type":"string"},"scope":{"type":"string"},"license":{"type":"string"},"source":{"type":"string","format":"uri"}}},"BookMeta":{"type":"object","properties":{"id":{"type":"integer","minimum":1,"maximum":80},"code":{"type":"string","description":"OSIS book code, e.g. GEN, JHN"},"abbr":{"type":"string"},"name_short":{"type":"string"},"name_long":{"type":"string"},"testament":{"type":"string","enum":["OT","NT","APO"]},"chapters":{"type":"integer","description":"Chapter count"}}},"Index":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version"},"books":{"type":"array","items":{"$ref":"#/components/schemas/BookMeta"}},"votd":{"$ref":"#/components/schemas/Votd"}}},"BookResponse":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version"},"book":{"$ref":"#/components/schemas/BookMeta"},"chapters":{"type":"array","items":{"type":"integer"},"description":"The book’s chapter numbers, e.g. [1, 2, … 50]"}}},"Word":{"type":"object","required":["t"],"properties":{"t":{"type":"string","description":"The word itself"},"i":{"type":"boolean","description":"Supplied by translators — italicized in print"},"r":{"type":"boolean","description":"Words of Christ, printed in red"},"s":{"type":"string","description":"Strong's number (e.g. G26) — see /strongs/{s}"}}},"Verse":{"type":"object","required":["book","chapter","verse","ref","text","words"],"properties":{"book":{"type":"integer"},"chapter":{"type":"integer"},"verse":{"type":"integer"},"ref":{"type":"string","description":"Short reference like \"Jhn 3:16\""},"text":{"type":"string","description":"Plain text of the verse"},"words":{"type":"array","items":{"$ref":"#/components/schemas/Word"}}}},"Chapter":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/Version"},"book":{"$ref":"#/components/schemas/BookMeta"},"chapter":{"type":"integer"},"count":{"type":"integer","description":"Number of verses in this chapter"},"verses":{"type":"array","items":{"$ref":"#/components/schemas/Verse"}},"nav":{"type":"object","description":"Links to the previous/next chapter"}}},"SearchResult":{"type":"object","properties":{"book":{"type":"integer"},"book_name":{"type":"string"},"chapter":{"type":"integer"},"verse":{"type":"integer"},"ref":{"type":"string"},"text":{"type":"string"},"snippet":{"type":"string","description":"Excerpt with <mark> highlighting"}}},"Search":{"type":"object","properties":{"query":{"type":"string"},"version":{"type":"string"},"page":{"type":"integer"},"pages":{"type":"integer"},"total":{"type":"integer","description":"Total matching verses"},"results":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}}},"PopularVerse":{"type":"object","properties":{"book":{"type":"integer"},"chapter":{"type":"integer"},"verse":{"type":"integer"},"ref":{"type":"string"},"url":{"type":"string"},"views":{"type":"integer"},"seeded":{"type":"boolean","description":"Part of the seeded starter set"},"seed_rank":{"type":"integer","nullable":true}}},"Popular":{"type":"object","properties":{"count":{"type":"integer"},"seeded":{"type":"integer"},"visited":{"type":"integer"},"verses":{"type":"array","items":{"$ref":"#/components/schemas/PopularVerse"}}}},"StrongEntry":{"type":"object","properties":{"strong":{"type":"string","description":"The number itself, e.g. H430"},"language":{"type":"string","enum":["hebrew","greek"]},"lemma":{"type":"string"},"translit":{"type":"string","description":"Transliteration"},"kjv_renderings":{"type":"array","items":{"type":"string"}},"definition":{"type":"string"},"derivation":{"type":"string"},"url":{"type":"string","description":"Canonical page for this entry"}}},"Votd":{"type":"object","properties":{"day":{"type":"string","format":"date"},"today":{"type":"boolean"},"ref":{"type":"string","description":"Human reference like \"John 3:16\""},"verse":{"type":"object","properties":{"book":{"type":"integer"},"chapter":{"type":"integer"},"verse":{"type":"integer"},"text":{"type":"string"}}},"translation":{"type":"string"},"url":{"type":"string"},"image":{"type":"string","description":"Share card image for the day"},"prev":{"type":"string","format":"date","nullable":true},"next":{"type":"string","format":"date","nullable":true},"archive":{"type":"object","properties":{"first":{"type":"string","format":"date"},"last":{"type":"string","format":"date"}}}}},"ArchiveDay":{"type":"object","properties":{"day":{"type":"string","format":"date"},"ref":{"type":"string"},"url":{"type":"string"}}},"ArchiveYear":{"type":"object","properties":{"year":{"type":"integer"},"today":{"type":"string","format":"date"},"count":{"type":"integer"},"days":{"type":"array","items":{"$ref":"#/components/schemas/ArchiveDay"}},"years":{"type":"array","items":{"type":"integer"}}}},"Me":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"name":{"type":"string"},"email_verified":{"type":"boolean"},"supporter_until":{"type":"string","nullable":true},"created_at":{"type":"string"}}},"token":{"type":"object","nullable":true,"description":"Present when a token was used"}}},"Versions":{"type":"object","properties":{"count":{"type":"integer"},"default":{"type":"string","description":"The site-wide default version id"},"versions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"abbreviation":{"type":"string"},"language":{"type":"string"},"scope":{"type":"string"},"text_owner":{"type":"string"},"license":{"type":"string"},"source":{"type":"string","format":"uri"},"canonical":{"type":"boolean","description":"The default text of the site"},"created_at":{"type":"string"}}}}}},"Passage":{"type":"object","properties":{"version":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"abbreviation":{"type":"string"}}},"book":{"type":"object","properties":{"id":{"type":"integer"},"abbr":{"type":"string"},"name":{"type":"string"}}},"ref":{"type":"string","description":"Normalized reference, e.g. \"John 3:16-21\""},"count":{"type":"integer"},"verses":{"type":"array","items":{"$ref":"#/components/schemas/Verse"}}}},"TokenRequest":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string"},"name":{"type":"string","default":"app token","description":"Label shown in account settings"},"rate_limit":{"type":"integer","default":1000,"description":"Requests/day: 100, 1000, 10000, 50000 or 0 (unlimited; tier-dependent)"}}},"TokenCreated":{"type":"object","required":["ok","id","token"],"properties":{"ok":{"type":"boolean"},"id":{"type":"integer"},"token":{"type":"string","description":"Raw token — shown exactly once, store it now"},"name":{"type":"string"},"rate_limit":{"type":"integer"},"note":{"type":"string"}}}}}}
