Skip to content
REST APIPassageDocs menu

Passage

A graded passage's text.

GET/api/v1/passages/{lang}/{slug}

Mirrors /read/{lang}/{slug}. Every sentence has a stored analysis.

Parameters

Parameters
NameDescription
langstringRequiredIn the pathLanguage as in site URLs.

One of latin, greek. Example latin.

slugstringRequiredIn the path

Example virgil-aeneid.

includestringOptionalExtra fields, comma-separated: analysis (stored word-by-word analysis), context (stored notes).

Response

200 OK with a Text object.

Response fields
NameDescription
kindstringsection: a reading section of a library work. passage: a graded passage.

One of section, passage.

langstringLanguage code: la (Latin) or grc (Ancient Greek).

One of la, grc.

languagestring
titlestring"Aeneid 1.1-11" for a section; the passage title for a graded passage.
citationstring"Virgil, Aeneid 1.1-11": quote this when you cite the text.
refstring or nullThe section's first citation, as used in its URL. Null for a graded passage.
levelinteger or nullGraded passages: difficulty 1 to 5.
urnstring or nullCTS 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).
urlstringCanonical page.
apistringAbsolute URL.
markdownstring or nullThe same text as Markdown.
authorobject
2 fields
author fields
namestring
urlstring or nullAbsolute URL.
workobject
3 fields
work fields
titlestring
urlstring or nullAbsolute URL.
urnstring or nullCTS 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).
verseboolean
wordsinteger
textstringPlain text; verse keeps its line breaks.
prevLink or null
4 fields
prev fields
citationstring"Aeneid 1.12-33"
labelstring"Book 1, lines 12-33"
urlstringAbsolute URL.
apistringThe same resource as JSON.
nextLink or nullFollow next.api to read on without searching again.
4 fields
next fields
citationstring"Aeneid 1.12-33"
labelstring"Book 1, lines 12-33"
urlstringAbsolute URL.
apistringThe same resource as JSON.
creditCredit
5 fields
credit fields
textstringCredit line for the edition: author, work, editor, source, licence and changes. Quote it when you reuse the text.
licensestringCC BY-SA 4.0, CC BY 3.0, Used with permission (The Latin Library), or a public-domain note.
licenseUrlstring or null
sourcestringWhere the edition comes from.
qualitystringocr: an unproofread scan.

One of proofread, ocr.

analysisAnalysisOptionalOnly with include=analysis.
5 fields
analysis fields
analysedintegerSentences with a stored analysis.
totalintegerSentences in the text.
licensestringThe analyses adapt CC BY-SA text, so they are share-alike.

Always CC BY-SA 4.0.

notestring
sentencesarray of AnalysedSentence
4 fields
sentences fields
indexinteger0-based sentence index in the text.
textstring
translationstring or nullNull when the sentence has no stored analysis yet.
wordsarray of Word or nullNull when the sentence has no stored analysis yet.
11 fields
words fields
iinteger1-based index of the word in its sentence.
formstringThe word as printed.
lemmastringDictionary headword; Latin with macrons, Greek polytonic.
entrystring or nullDictionary entry: principal parts, or genitive and gender.
uposstringUniversal Dependencies part of speech.
featsstringUniversal Dependencies features, e.g. "Case=Acc|Gender=Neut|Number=Plur"; "_" if none.
headintegerIndex of the word this one depends on; 0 for the root.
deprelstringUniversal Dependencies relation to its head: nsubj, obj, amod, …
glossstringMeaning in this sentence, 1 to 4 words.
notestring or nullOne sentence on the word's role.
encliticobjectOptionalPresent only when an enclitic rides on the word, e.g. -que "and".
2 fields
enclitic fields
formstring
glossstring
contextContextOptionalOnly with include=context.
3 fields
context fields
machineWrittenbooleanFalse for the graded passages' hand-written notes.
sectionobject or nullNull until someone has opened Context for this part in the reader.
4 fields
section fields
soFarstring or nullWhat has happened in the work before this part.
herestring or nullWhat happens in this part, never a translation.
peoplearray of objectPeople, gods and places named here.
4 fields
people fields
namestring
notestring
formsarray of stringThe words in the text that name them.
wikipediastring or nullEnglish Wikipedia article title, when certain.
nextstring or nullWhat comes next.
workobject or nullA few lines about the work.
2 fields
work fields
introstring or null
notestring or null

Errors

StatusWhen
400 Bad RequestA parameter is missing or invalid, or the reference isn't a text.
404 Not FoundNot in the library.
429 Too Many RequestsToo many requests from one address. Wait a minute.
500 Internal Server ErrorSomething went wrong on our side.

Error bodies are described in Caching, limits and errors.

Example request

curl "https://interlinea.aeterna-institute.org/api/v1/passages/latin/virgil-aeneid"

Example response

Response200 OK
{
  "kind": "passage",
  "lang": "la",
  "language": "Latin",
  "title": "Arms and the Man",
  "citation": "Virgil, Aeneid 1.1–11",
  "ref": null,
  "level": 4,
  "urn": "urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11",
  "url": "https://interlinea.aeterna-institute.org/read/latin/virgil-aeneid",
  "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/virgil-aeneid",
  "markdown": null,
  "author": {
    "name": "Virgil",
    "url": "https://interlinea.aeterna-institute.org/library/latin/virgil"
  },
  "work": {
    "title": "Aeneid",
    "url": "https://interlinea.aeterna-institute.org/library/latin/virgil/aeneid",
    "urn": "urn:cts:latinLit:phi0690.phi003"
  },
  "verse": true,
  "words": 73,
  "text": "Arma virumque cano, Troiae qui primus ab oris\nItaliam, fato profugus, Laviniaque venit\nlitora, multum ille et terris iactatus et alto\nvi sup…",
  "prev": {
    "citation": "Metamorphoses 1.1–9",
    "label": "Bodies Changed",
    "url": "https://interlinea.aeterna-institute.org/read/latin/ovid-metamorphoses",
    "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/ovid-metamorphoses"
  },
  "next": {
    "citation": "Odes 1.11",
    "label": "Seize the Day",
    "url": "https://interlinea.aeterna-institute.org/read/latin/horace-carpe-diem",
    "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/horace-carpe-diem"
  },
  "credit": {
    "text": "Virgil, Aeneid 1.1–11. CC BY-SA 4.0. Perseus Digital Library (Tufts University), PerseusDL/canonical-latinLit; edition: J. B. Greenough, Gin…",
    "license": "CC BY-SA 4.0",
    "licenseUrl": "https://creativecommons.org/licenses/by-sa/4.0/",
    "source": "https://scaife.perseus.org/reader/urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11/",
    "quality": "proofread"
  }
}
Cache-Control: public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800

Try it

Send a real GET from your browser and see the answer, its status and how long it took.

GET /api/v1/passages/latin/virgil-aeneid