{"openapi":"3.1.0","info":{"title":"Livonian dictionary access","version":"1.1.0"},"paths":{"/api/health":{"get":{"tags":["livonian"],"summary":"Liveness probe","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Health Api Health Get"}}}}}}},"/api":{"get":{"tags":["livonian"],"summary":"API usage","operationId":"index_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Index Api Get"}}}}}}},"/api/search":{"get":{"tags":["livonian"],"summary":"Search the dictionary","operationId":"search_api_search_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":120,"description":"Word or phrase.","title":"Query"},"description":"Word or phrase."},{"name":"search_language","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SearchLanguage","description":"Query language: eng | liv | lat | est.","default":"eng"},"description":"Query language: eng | liv | lat | est."},{"name":"include_forms","in":"query","required":false,"schema":{"type":"boolean","description":"Attach each match's full inflection table inline (one call, no follow-up). Bounded by the per-search cap.","default":false,"title":"Include Forms"},"description":"Attach each match's full inflection table inline (one call, no follow-up). Bounded by the per-search cap."},{"name":"max_forms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":50,"minimum":0},{"type":"null"}],"description":"Cap the number of inline tables this request.","title":"Max Forms"},"description":"Cap the number of inline tables this request."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/romanize":{"get":{"tags":["livonian"],"summary":"Romanize Livonian to clean ASCII","operationId":"romanize_api_romanize_get","parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":4000,"description":"Livonian text to romanize.","title":"Text"},"description":"Livonian text to romanize."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Romanization"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/inflections":{"get":{"tags":["livonian"],"summary":"Inflection/conjugation table","operationId":"inflections_api_inflections_get","parameters":[{"name":"vards_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d+$","description":"Word id from a handle.","title":"Vards Id"},"description":"Word id from a handle."},{"name":"word_class","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":8,"pattern":"^[a-z]+$","description":"Word-class code, e.g. s, vi, vt.","title":"Word Class"},"description":"Word-class code, e.g. s, vi, vt."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormsTable"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"FormsTable":{"properties":{"vards_id":{"type":"string","title":"Vards Id"},"word_class":{"type":"string","title":"Word Class"},"found":{"type":"boolean","title":"Found","description":"False when the word/id has no paradigm."},"rows":{"items":{"items":{"type":"string"},"type":"array"},"type":"array","title":"Rows","description":"Table rows; the first row is the header. Empty when not found."},"source":{"type":"string","title":"Source","default":"Ernštreits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & Vāvere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)"}},"type":"object","required":["vards_id","word_class","found"],"title":"FormsTable","description":"A declension/conjugation table for one word."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InflectionHandle":{"properties":{"vards_id":{"type":"string","title":"Vards Id","description":"Numeric word id used by the forms endpoint."},"word_class":{"type":"string","title":"Word Class","description":"Word-class code, e.g. 's', 'vi', 'vt', 'adj'."},"context":{"type":"string","title":"Context","description":"Nearby headword / entry text.","default":""},"pos_hint":{"type":"string","title":"Pos Hint","description":"Part-of-speech hint near the link.","default":""},"forms":{"anyOf":[{"$ref":"#/components/schemas/FormsTable"},{"type":"null"}],"description":"The full inflection table, populated when a search is asked to include forms. None when not requested or beyond the cap."}},"type":"object","required":["vards_id","word_class"],"title":"InflectionHandle","description":"A reliable, structured anchor for fetching a full paradigm. Feed\n``vards_id`` + ``word_class`` to ``get_inflections`` — or ask ``search`` to\ninclude the table inline (``forms``)."},"Romanization":{"properties":{"original":{"type":"string","title":"Original","description":"The Livonian text as given."},"text":{"type":"string","title":"Text","description":"The romanized ASCII output."}},"type":"object","required":["original","text"],"title":"Romanization","description":"Livonian text reduced to clean, pronounceable ASCII (no diacritics or\ncapitals; the broken tone becomes a hyphen) for an English-trained downstream."},"SearchLanguage":{"type":"string","enum":["liv","lat","est","eng"],"title":"SearchLanguage","description":"Which language the query word is matched against. Headwords come back in\nLivonian and glosses in English either way; this only selects the language the\nquery term is in. Codes are the site's own."},"SearchResult":{"properties":{"query":{"type":"string","title":"Query"},"language":{"$ref":"#/components/schemas/SearchLanguage"},"found":{"type":"boolean","title":"Found","description":"False when nothing matched."},"handles":{"items":{"$ref":"#/components/schemas/InflectionHandle"},"type":"array","title":"Handles"},"entries_text":{"type":"string","title":"Entries Text","description":"Cleaned dictionary text: headwords, {phonetic}, parts of speech, glosses and example sentences.","default":""},"forms_truncated":{"type":"integer","title":"Forms Truncated","description":"How many handles did NOT get an inline table because the per-search cap was reached. Refine the query or call get_inflections.","default":0},"source":{"type":"string","title":"Source","default":"Ernštreits, Valts (ed. in chief), Viitso, Tiit-Rein, Vāvere, Signis, Damberg, Pētõr, Kurpniece, Milda, Balodis, Uldis, Tuisk, Tuuli, Kūla, Gita, Tomingas, Marili, Soosaar Sven-Erik, Sedláčková, Anna & Jurgenovskis, Toms. 2024. Livonian lexicographic database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)"}},"type":"object","required":["query","language","found"],"title":"SearchResult","description":"The result of a dictionary search."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}