{"openapi":"3.1.0","info":{"title":"Interlinea API","version":"1","summary":"Read-only access to a library of Latin and Ancient Greek texts, with citations, credits and stored word analyses.","description":"Free, no key, GET only, CORS open. Responses are cached for up to a day; please keep to about 120 requests a minute from one address. Every text carries its citation, canonical URL, CTS URN where the edition has one, and the edition's credit and licence: credit the author, work, edition source and Interlinea when you reuse it, and keep CC BY-SA texts and the analyses under CC BY-SA 4.0. The Latin Library's texts are used with permission and are not CC BY-SA. Nothing here calls a language model: analyses and notes come back only once stored. The same data is served to AI agents over MCP at /mcp.","contact":{"name":"Interlinea","url":"https://interlinea.aeterna-institute.org/contact"},"license":{"name":"Texts: per edition (see credit). Analyses: CC BY-SA 4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/"}},"externalDocs":{"description":"Developer docs","url":"https://interlinea.aeterna-institute.org/docs"},"servers":[{"url":"https://interlinea.aeterna-institute.org"}],"paths":{"/api/v1":{"get":{"operationId":"index","summary":"What the API offers","description":"Links to every endpoint, the OpenAPI document, the MCP server and the docs.","responses":{"200":{"description":"What the API offers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIndex"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/openapi.json":{"get":{"operationId":"openapi","summary":"This document","description":"The OpenAPI 3.1 description of version 1.","responses":{"200":{"description":"This document","content":{"application/json":{"schema":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/search":{"get":{"operationId":"search","summary":"Search authors, works and topics","description":"Authors and works whose names or titles match, accent-insensitive, best known first. A query that names a topic (war, love, the gods, friendship, death, rhetoric, letters, comedy, …) also returns hand-picked works for it. An empty query lists works by rank.","parameters":[{"name":"q","in":"query","required":false,"description":"Words from a name or title, in English, Latin or Greek.","schema":{"default":"","type":"string","maxLength":200},"example":"aeneid"},{"name":"lang","in":"query","required":false,"description":"Only this language.","schema":{"type":"string","enum":["la","grc","latin","greek"]}},{"name":"limit","in":"query","required":false,"description":"At most 100.","schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"Search authors, works and topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/library/{lang}/{author}":{"get":{"operationId":"author","summary":"An author and their works","description":"Mirrors the author page /library/{lang}/{author}.","parameters":[{"name":"lang","in":"path","required":true,"description":"Language as in site URLs.","schema":{"type":"string","enum":["latin","greek"]},"example":"latin"},{"name":"author","in":"path","required":true,"description":"Author slug, as in the site URL.","schema":{"type":"string"},"example":"virgil"}],"responses":{"200":{"description":"An author and their works","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Author"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/library/{lang}/{author}/{work}":{"get":{"operationId":"work","summary":"A work, its editions and its contents","description":"Mirrors the work page. The contents list the default edition's reading sections in order, a page at a time.","parameters":[{"name":"lang","in":"path","required":true,"description":"Language as in site URLs.","schema":{"type":"string","enum":["latin","greek"]},"example":"latin"},{"name":"author","in":"path","required":true,"schema":{"type":"string"},"example":"virgil"},{"name":"work","in":"path","required":true,"description":"Work slug, as in the site URL.","schema":{"type":"string"},"example":"aeneid"},{"name":"limit","in":"query","required":false,"description":"At most 1000.","schema":{"default":200,"type":"integer","minimum":1,"maximum":1000}},{"name":"offset","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"A work, its editions and its contents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Work"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/library/{lang}/{author}/{work}/{ref}":{"get":{"operationId":"section","summary":"A section's text with its citation and credit","description":"Mirrors the section page. A citation inside a section (Aeneid 1.17) returns the section that holds it (1.1-11). Follow next.api to read on.","parameters":[{"name":"lang","in":"path","required":true,"description":"Language as in site URLs.","schema":{"type":"string","enum":["latin","greek"]},"example":"latin"},{"name":"author","in":"path","required":true,"schema":{"type":"string"},"example":"virgil"},{"name":"work","in":"path","required":true,"schema":{"type":"string"},"example":"aeneid"},{"name":"ref","in":"path","required":true,"description":"A citation in the work: 1.46, 17, 1.1.3.","schema":{"type":"string"},"example":"1.1"},{"name":"include","in":"query","required":false,"description":"Extra fields, comma-separated: analysis (stored word-by-word analysis), context (stored notes).","schema":{"type":"string","pattern":"^(analysis|context)(,(analysis|context))?$"}}],"responses":{"200":{"description":"A section's text with its citation and credit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Text"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/passages":{"get":{"operationId":"passages","summary":"The graded path","description":"The curated passages for learners, levels 1 to 5, in reading order.","parameters":[{"name":"lang","in":"query","required":false,"description":"Only this language.","schema":{"type":"string","enum":["la","grc","latin","greek"]}},{"name":"level","in":"query","required":false,"description":"Only this level.","schema":{"type":"integer","minimum":1,"maximum":5}}],"responses":{"200":{"description":"The graded path","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassageList"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/passages/{lang}/{slug}":{"get":{"operationId":"passage","summary":"A graded passage's text","description":"Mirrors /read/{lang}/{slug}. Every sentence has a stored analysis.","parameters":[{"name":"lang","in":"path","required":true,"description":"Language as in site URLs.","schema":{"type":"string","enum":["latin","greek"]},"example":"latin"},{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"example":"virgil-aeneid"},{"name":"include","in":"query","required":false,"description":"Extra fields, comma-separated: analysis (stored word-by-word analysis), context (stored notes).","schema":{"type":"string","pattern":"^(analysis|context)(,(analysis|context))?$"}}],"responses":{"200":{"description":"A graded passage's text","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Text"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/text":{"get":{"operationId":"text","summary":"Any text, by URL, CTS URN or citation","description":"Resolves ref and returns the same shape as the section and passage endpoints. A work's URL or URN returns its opening section.","parameters":[{"name":"ref","in":"query","required":true,"description":"A library or graded-passage URL, a CTS URN (urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.46) or a citation (\"Virgil, Aeneid 1.46\").","schema":{"type":"string","minLength":1,"maxLength":500},"example":"urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.46"},{"name":"include","in":"query","required":false,"description":"Extra fields, comma-separated: analysis (stored word-by-word analysis), context (stored notes).","schema":{"type":"string","pattern":"^(analysis|context)(,(analysis|context))?$"}}],"responses":{"200":{"description":"Any text, by URL, CTS URN or citation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Text"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/analysis":{"get":{"operationId":"analysis","summary":"The stored word-by-word analysis","description":"Lemma, dictionary entry, part of speech, features, syntax and meaning in context for every word, with a translation per sentence. Stored analyses only: nothing is generated, so a sentence nobody has opened yet comes back with words: null.","parameters":[{"name":"ref","in":"query","required":true,"description":"A library or graded-passage URL, a CTS URN (urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.46) or a citation (\"Virgil, Aeneid 1.46\").","schema":{"type":"string","minLength":1,"maxLength":500},"example":"/read/latin/virgil-aeneid"},{"name":"sentence","in":"query","required":false,"description":"Only this sentence (0-based).","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"example":"0"}],"responses":{"200":{"description":"The stored word-by-word analysis","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisResponse"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/context":{"get":{"operationId":"context","summary":"The stored context notes","description":"Where the text sits in its work, what happens, who and where is named, what comes next, and a few lines on the work. Hand-written for graded passages; for library sections, stored once a reader has opened Context. Never generated here.","parameters":[{"name":"ref","in":"query","required":true,"description":"A library or graded-passage URL, a CTS URN (urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.46) or a citation (\"Virgil, Aeneid 1.46\").","schema":{"type":"string","minLength":1,"maxLength":500},"example":"/read/latin/virgil-aeneid"}],"responses":{"200":{"description":"The stored context notes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContextResponse"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not in the library.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/words":{"get":{"operationId":"words","summary":"Look a word up in the stored analyses","description":"A headword's spellings and meanings in context, and cited sentences where it occurs. Accents, breathings and macrons are ignored: fio finds fīō.","parameters":[{"name":"lemma","in":"query","required":true,"description":"Dictionary form: amo, arma, λόγος.","schema":{"type":"string","minLength":1,"maxLength":60},"example":"arma"},{"name":"lang","in":"query","required":false,"description":"Defaults to Greek for Greek letters, otherwise Latin.","schema":{"type":"string","enum":["la","grc","latin","greek"]}},{"name":"limit","in":"query","required":false,"description":"Occurrences, at most 50.","schema":{"default":10,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Look a word up in the stored analyses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WordLookup"}}}},"400":{"description":"A parameter is missing or invalid, or the reference isn't a text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests from one address. Wait a minute."},"500":{"description":"Something went wrong on our side.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Credit":{"type":"object","properties":{"text":{"type":"string","description":"Credit line for the edition: author, work, editor, source, licence and changes. Quote it when you reuse the text."},"license":{"type":"string","description":"CC BY-SA 4.0, CC BY 3.0, Used with permission (The Latin Library), or a public-domain note."},"licenseUrl":{"type":["string","null"]},"source":{"type":"string","description":"Where the edition comes from."},"quality":{"type":"string","enum":["proofread","ocr"],"description":"ocr: an unproofread scan."}},"required":["text","license","licenseUrl","source","quality"]},"Link":{"type":"object","properties":{"citation":{"type":"string","description":"\"Aeneid 1.12-33\""},"label":{"type":"string","description":"\"Book 1, lines 12-33\""},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"The same resource as JSON."}},"required":["citation","label","url","api"]},"Word":{"type":"object","properties":{"i":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based index of the word in its sentence."},"form":{"type":"string","description":"The word as printed."},"lemma":{"type":"string","description":"Dictionary headword; Latin with macrons, Greek polytonic."},"entry":{"description":"Dictionary entry: principal parts, or genitive and gender.","type":["string","null"]},"upos":{"type":"string","description":"Universal Dependencies part of speech."},"feats":{"type":"string","description":"Universal Dependencies features, e.g. \"Case=Acc|Gender=Neut|Number=Plur\"; \"_\" if none."},"head":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Index of the word this one depends on; 0 for the root."},"deprel":{"type":"string","description":"Universal Dependencies relation to its head: nsubj, obj, amod, …"},"gloss":{"type":"string","description":"Meaning in this sentence, 1 to 4 words."},"note":{"description":"One sentence on the word's role.","type":["string","null"]},"enclitic":{"description":"Present only when an enclitic rides on the word, e.g. -que \"and\".","type":"object","properties":{"form":{"type":"string"},"gloss":{"type":"string"}},"required":["form","gloss"]}},"required":["i","form","lemma","entry","upos","feats","head","deprel","gloss","note"]},"AnalysedSentence":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"0-based sentence index in the text."},"text":{"type":"string"},"translation":{"description":"Null when the sentence has no stored analysis yet.","type":["string","null"]},"words":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Word"}},{"type":"null"}],"description":"Null when the sentence has no stored analysis yet."}},"required":["index","text","translation","words"]},"Analysis":{"type":"object","properties":{"analysed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sentences with a stored analysis."},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sentences in the text."},"license":{"type":"string","const":"CC BY-SA 4.0","description":"The analyses adapt CC BY-SA text, so they are share-alike."},"note":{"type":"string"},"sentences":{"type":"array","items":{"$ref":"#/components/schemas/AnalysedSentence"}}},"required":["analysed","total","license","note","sentences"]},"Context":{"type":"object","properties":{"machineWritten":{"type":"boolean","description":"False for the graded passages' hand-written notes."},"section":{"anyOf":[{"type":"object","properties":{"soFar":{"description":"What has happened in the work before this part.","type":["string","null"]},"here":{"description":"What happens in this part, never a translation.","type":["string","null"]},"people":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"note":{"type":"string"},"forms":{"type":"array","items":{"type":"string"},"description":"The words in the text that name them."},"wikipedia":{"description":"English Wikipedia article title, when certain.","type":["string","null"]}},"required":["name","note","forms","wikipedia"]},"description":"People, gods and places named here."},"next":{"description":"What comes next.","type":["string","null"]}},"required":["soFar","here","people","next"]},{"type":"null"}],"description":"Null until someone has opened Context for this part in the reader."},"work":{"anyOf":[{"type":"object","properties":{"intro":{"type":["string","null"]},"note":{"type":["string","null"]}},"required":["intro","note"]},{"type":"null"}],"description":"A few lines about the work."}},"required":["machineWritten","section","work"]},"Text":{"type":"object","properties":{"kind":{"type":"string","enum":["section","passage"],"description":"section: a reading section of a library work. passage: a graded passage."},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"language":{"type":"string"},"title":{"type":"string","description":"\"Aeneid 1.1-11\" for a section; the passage title for a graded passage."},"citation":{"type":"string","description":"\"Virgil, Aeneid 1.1-11\": quote this when you cite the text."},"ref":{"description":"The section's first citation, as used in its URL. Null for a graded passage.","type":["string","null"]},"level":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Graded passages: difficulty 1 to 5."},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Canonical page."},"api":{"type":"string","description":"Absolute URL."},"markdown":{"anyOf":[{"type":"string","description":"Absolute URL."},{"type":"null"}],"description":"The same text as Markdown."},"author":{"type":"object","properties":{"name":{"type":"string"},"url":{"anyOf":[{"type":"string","description":"Absolute URL."},{"type":"null"}]}},"required":["name","url"]},"work":{"type":"object","properties":{"title":{"type":"string"},"url":{"anyOf":[{"type":"string","description":"Absolute URL."},{"type":"null"}]},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]}},"required":["title","url","urn"]},"verse":{"type":"boolean"},"words":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"text":{"type":"string","description":"Plain text; verse keeps its line breaks."},"prev":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}]},"next":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}],"description":"Follow next.api to read on without searching again."},"credit":{"$ref":"#/components/schemas/Credit"},"analysis":{"description":"Only with include=analysis.","$ref":"#/components/schemas/Analysis"},"context":{"description":"Only with include=context.","$ref":"#/components/schemas/Context"}},"required":["kind","lang","language","title","citation","ref","level","urn","url","api","markdown","author","work","verse","words","text","prev","next","credit"]},"AnalysisResponse":{"type":"object","properties":{"kind":{"type":"string","enum":["section","passage"]},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"language":{"type":"string"},"citation":{"type":"string"},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."},"prev":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}]},"next":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}]},"credit":{"$ref":"#/components/schemas/Credit"},"analysed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sentences with a stored analysis."},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Sentences in the text."},"license":{"type":"string","const":"CC BY-SA 4.0","description":"The analyses adapt CC BY-SA text, so they are share-alike."},"note":{"type":"string"},"sentences":{"type":"array","items":{"$ref":"#/components/schemas/AnalysedSentence"}}},"required":["kind","lang","language","citation","urn","url","api","prev","next","credit","analysed","total","license","note","sentences"]},"ContextResponse":{"type":"object","properties":{"kind":{"type":"string","enum":["section","passage"]},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"language":{"type":"string"},"citation":{"type":"string"},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."},"prev":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}]},"next":{"anyOf":[{"$ref":"#/components/schemas/Link"},{"type":"null"}]},"credit":{"$ref":"#/components/schemas/Credit"},"machineWritten":{"type":"boolean","description":"False for the graded passages' hand-written notes."},"section":{"anyOf":[{"type":"object","properties":{"soFar":{"description":"What has happened in the work before this part.","type":["string","null"]},"here":{"description":"What happens in this part, never a translation.","type":["string","null"]},"people":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"note":{"type":"string"},"forms":{"type":"array","items":{"type":"string"},"description":"The words in the text that name them."},"wikipedia":{"description":"English Wikipedia article title, when certain.","type":["string","null"]}},"required":["name","note","forms","wikipedia"]},"description":"People, gods and places named here."},"next":{"description":"What comes next.","type":["string","null"]}},"required":["soFar","here","people","next"]},{"type":"null"}],"description":"Null until someone has opened Context for this part in the reader."},"work":{"anyOf":[{"type":"object","properties":{"intro":{"type":["string","null"]},"note":{"type":["string","null"]}},"required":["intro","note"]},{"type":"null"}],"description":"A few lines about the work."}},"required":["kind","lang","language","citation","urn","url","api","prev","next","credit","machineWritten","section","work"]},"WorkSummary":{"type":"object","properties":{"title":{"type":"string"},"nativeTitle":{"description":"The title in Latin or Greek, when it differs.","type":["string","null"]},"author":{"type":"string"},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"genre":{"type":["string","null"]},"words":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sections":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Reading sections."},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."}},"required":["title","nativeTitle","author","lang","genre","words","sections","urn","url","api"]},"AuthorSummary":{"type":"object","properties":{"name":{"type":"string"},"nativeName":{"type":["string","null"]},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"period":{"type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."}},"required":["name","nativeName","lang","period","url","api"]},"Author":{"type":"object","properties":{"name":{"type":"string"},"nativeName":{"type":["string","null"]},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"period":{"type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."},"language":{"type":"string"},"markdown":{"type":"string","description":"Absolute URL."},"works":{"type":"array","items":{"$ref":"#/components/schemas/WorkSummary"}}},"required":["name","nativeName","lang","period","url","api","language","markdown","works"]},"Work":{"type":"object","properties":{"title":{"type":"string"},"nativeTitle":{"description":"The title in Latin or Greek, when it differs.","type":["string","null"]},"author":{"type":"string"},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"genre":{"type":["string","null"]},"words":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sections":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Reading sections."},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."},"language":{"type":"string"},"form":{"description":"prose, verse or mixed.","type":["string","null"]},"meter":{"type":["string","null"]},"markdown":{"type":"string","description":"Absolute URL."},"authorUrl":{"type":"string","description":"Absolute URL."},"credit":{"anyOf":[{"$ref":"#/components/schemas/Credit"},{"type":"null"}],"description":"The default edition's credit: the text every section URL serves."},"editions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"default":{"type":"boolean"},"credit":{"$ref":"#/components/schemas/Credit"}},"required":["id","urn","default","credit"]}},"contents":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next":{"anyOf":[{"type":"string","description":"Absolute URL."},{"type":"null"}],"description":"The next page of contents."},"sections":{"type":"array","items":{"type":"object","properties":{"ref":{"type":"string"},"refEnd":{"type":"string"},"label":{"type":"string"},"words":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"url":{"type":"string","description":"Absolute URL."}},"required":["ref","refEnd","label","words","url"]}}},"required":["total","offset","limit","next","sections"]}},"required":["title","nativeTitle","author","lang","genre","words","sections","urn","url","api","language","form","meter","markdown","authorUrl","credit","editions","contents"]},"SearchResult":{"type":"object","properties":{"query":{"type":"string"},"lang":{"anyOf":[{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},{"type":"null"}]},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Matching works."},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"next":{"anyOf":[{"type":"string","description":"Absolute URL."},{"type":"null"}],"description":"The next page of works."},"topics":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"blurb":{"type":"string"},"works":{"type":"array","items":{"$ref":"#/components/schemas/WorkSummary"}}},"required":["key","label","blurb","works"]},"description":"Hand-picked works for a topic the query names (war, love, the gods, …)."},"authors":{"type":"array","items":{"$ref":"#/components/schemas/AuthorSummary"}},"works":{"type":"array","items":{"$ref":"#/components/schemas/WorkSummary"}}},"required":["query","lang","total","offset","limit","next","topics","authors","works"]},"PassageSummary":{"type":"object","properties":{"slug":{"type":"string"},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 (easiest) to 5."},"title":{"type":"string"},"citation":{"type":"string"},"verse":{"type":"boolean"},"words":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"blurb":{"type":"string"},"urn":{"description":"CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering).","type":["string","null"]},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."}},"required":["slug","lang","level","title","citation","verse","words","blurb","urn","url","api"]},"PassageList":{"type":"object","properties":{"note":{"type":"string"},"passages":{"type":"array","items":{"$ref":"#/components/schemas/PassageSummary"},"description":"The graded path, easiest first within each language."}},"required":["note","passages"]},"WordLookup":{"type":"object","properties":{"lemma":{"type":"string","description":"The headword asked for."},"lang":{"type":"string","enum":["la","grc"],"description":"Language code: la (Latin) or grc (Ancient Greek)."},"entries":{"type":"array","items":{"type":"object","properties":{"lemma":{"type":"string"},"entry":{"type":["string","null"]},"upos":{"type":"string"},"glosses":{"type":"array","items":{"type":"string"}},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["lemma","entry","upos","glosses","count"]},"description":"Each headword spelling found, with the meanings it had in context."},"occurrences":{"type":"array","items":{"type":"object","properties":{"form":{"type":"string"},"lemma":{"type":"string"},"upos":{"type":"string"},"feats":{"type":"string"},"gloss":{"type":"string"},"sentence":{"type":"string"},"translation":{"type":"string"},"citation":{"type":"string"},"url":{"type":"string","description":"Absolute URL."},"api":{"type":"string","description":"Absolute URL."},"license":{"type":"string"}},"required":["form","lemma","upos","feats","gloss","sentence","translation","citation","url","api","license"]}},"credits":{"type":"array","items":{"type":"string"},"description":"Credit lines for the editions quoted above."},"note":{"type":"string"}},"required":["lemma","lang","entries","occurrences","credits","note"]},"ApiIndex":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"docs":{"type":"string","description":"How to use the API, the MCP server and the Markdown pages, and how to credit texts."},"openapi":{"type":"string","description":"Absolute URL."},"mcp":{"type":"string","description":"MCP server, Streamable HTTP, no auth."},"endpoints":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Each endpoint and what it returns."}},"required":["name","version","docs","openapi","mcp","endpoints"]},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["bad-request","not-found","server-error"]},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]}}}}