Skip to content
REST APIAuthorDocs menu

Author

An author and their works.

GET/api/v1/library/{lang}/{author}

Mirrors the author page /library/{lang}/{author}.

Parameters

Parameters
NameDescription
langstringRequiredIn the pathLanguage as in site URLs.

One of latin, greek. Example latin.

authorstringRequiredIn the pathAuthor slug, as in the site URL.

Example virgil.

Response

200 OK with a Author object.

Response fields
NameDescription
namestring
nativeNamestring or null
langstringLanguage code: la (Latin) or grc (Ancient Greek).

One of la, grc.

periodstring or null
urlstringAbsolute URL.
apistringAbsolute URL.
languagestring
markdownstringAbsolute URL.
worksarray of WorkSummary
10 fields
works fields
titlestring
nativeTitlestring or nullThe title in Latin or Greek, when it differs.
authorstring
langstringLanguage code: la (Latin) or grc (Ancient Greek).

One of la, grc.

genrestring or null
wordsinteger
sectionsintegerReading sections.
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).
urlstringAbsolute URL.
apistringAbsolute URL.

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/library/latin/virgil"

Example response

Response200 OK
{
  "name": "Virgil",
  "nativeName": null,
  "lang": "la",
  "period": "late-republic-augustan",
  "url": "https://interlinea.aeterna-institute.org/library/latin/virgil",
  "api": "https://interlinea.aeterna-institute.org/api/v1/library/latin/virgil",
  "language": "Latin",
  "markdown": "https://interlinea.aeterna-institute.org/library/latin/virgil.md",
  "works": [
    {
      "title": "Aeneid",
      "nativeTitle": "Aeneis",
      "author": "Virgil",
      "lang": "la",
      "genre": "epic",
      "words": 63347,
      "sections": 223,
      "urn": "urn:cts:latinLit:phi0690.phi003",
      "url": "https://interlinea.aeterna-institute.org/library/latin/virgil/aeneid",
      "api": "https://interlinea.aeterna-institute.org/api/v1/library/latin/virgil/aeneid"
    },
    {
      "title": "Eclogues",
      "nativeTitle": "Eclogae",
      "author": "Virgil",
      "lang": "la",
      "genre": "epic",
      "words": 5615,
      "sections": 21,
      "urn": "urn:cts:latinLit:phi0690.phi001",
      "url": "https://interlinea.aeterna-institute.org/library/latin/virgil/eclogues",
      "api": "https://interlinea.aeterna-institute.org/api/v1/library/latin/virgil/eclogues"
    },
    {
      "title": "Georgicon",
      "nativeTitle": null,
      "author": "Virgil",
      "lang": "la",
      "genre": "epic",
      "words": 14177,
      "sections": 51,
      "urn": null,
      "url": "https://interlinea.aeterna-institute.org/library/latin/virgil/georgicon",
      "api": "https://interlinea.aeterna-institute.org/api/v1/library/latin/virgil/georgicon"
    },
    // 1 more
  ]
}
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/library/latin/virgil