{"openapi":"3.1.0","info":{"title":"Lipi API","version":"0.1.0","description":"A fully local, hand-curated pan-India script reference spanning Hindi, Bengali, Marathi, Telugu, Tamil, Gujarati, Urdu, Kannada, Odia, Malayalam, Punjabi and Assamese: script profiles, full alphabet charts with transliteration, Brahmic-vs-Perso-Arabic classification, native numeral glyphs, a side-by-side script comparison, and a transliteration-scheme explainer.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://lipi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/lipi/docs"},"termsOfService":"https://connectorbay.com/lipi/terms"},"servers":[{"url":"https://lipi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/lipi/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/script_info":{"post":{"operationId":"script_info","summary":"One language's script profile: script name, script family (Brahmic or Perso-Arabic), writing","description":"One language's script profile: script name, script family (Brahmic or Perso-Arabic), writing\n    direction, letter type, a distinguishing visual/structural feature, and a brief region note. Use for\n    \"what script does Odia use\", \"is Gujarati's script related to Hindi's\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"A language name.","examples":["Hindi","Tamil","Urdu","Assamese"],"minLength":1,"title":"Language","type":"string"}},"required":["language"],"title":"script_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/alphabet_chart":{"post":{"operationId":"alphabet_chart","summary":"Full vowel and consonant (or, for Urdu, letter) inventory for one language's script, each with its","description":"Full vowel and consonant (or, for Urdu, letter) inventory for one language's script, each with its\n    romanized transliteration. Use for \"show me the Devanagari vowels\", \"what are the Tamil consonants\",\n    \"list the Urdu alphabet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"A language name.","examples":["Bengali","Kannada","Urdu"],"minLength":1,"title":"Language","type":"string"}},"required":["language"],"title":"alphabet_chartArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/script_family":{"post":{"operationId":"script_family","summary":"Classifies all 12 covered languages into Brahmic-derived scripts (11 of them) vs. the one","description":"Classifies all 12 covered languages into Brahmic-derived scripts (11 of them) vs. the one\n    Perso-Arabic-derived script (Urdu), and explains what those families mean. Use for \"which of these\n    scripts come from the same family\", \"is Urdu's script different from the others\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"script_familyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/numeral_glyphs":{"post":{"operationId":"numeral_glyphs","summary":"A language's native numeral digit glyphs (0-9), plus a note on how native digits are actually used","description":"A language's native numeral digit glyphs (0-9), plus a note on how native digits are actually used\n    today compared to the Hindu-Arabic digits (0-9) common in most running text. Use for \"what do Bengali\n    numerals look like\", \"does Tamil have its own digit shapes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"language":{"description":"A language name.","examples":["Hindi","Tamil","Urdu"],"minLength":1,"title":"Language","type":"string"}},"required":["language"],"title":"numeral_glyphsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/compare_scripts":{"post":{"operationId":"compare_scripts","summary":"Shows one chosen word or number written in all 12 covered scripts side by side, each with native","description":"Shows one chosen word or number written in all 12 covered scripts side by side, each with native\n    script, transliteration, and (implicitly) its meaning — every entry individually verified per language.\n    Use compare_scripts to see available concepts if the given one isn't found. Use for \"show me 'crore' in\n    every script\", \"how do you write 'five' across all 12 languages\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"concept":{"description":"A word or number to compare across all 12 scripts.","examples":["one","hundred","thousand","lakh (100,000)","crore (10,000,000)","india (bharat)"],"minLength":1,"title":"Concept","type":"string"}},"required":["concept"],"title":"compare_scriptsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/transliteration_scheme_explainer":{"post":{"operationId":"transliteration_scheme_explainer","summary":"Plain-language explanation of practical/informal romanization (how most people actually spell Indic","description":"Plain-language explanation of practical/informal romanization (how most people actually spell Indic\n    words in Latin letters day to day) versus formal academic transliteration schemes like IAST and\n    ISO 15919. Use for \"what's the difference between IAST and just spelling it out\", \"why do I see so many\n    diacritics in academic transliterations\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"transliteration_scheme_explainerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/language_list":{"post":{"operationId":"language_list","summary":"Every one of the 12 covered languages with its script name and script family. Use for \"which","description":"Every one of the 12 covered languages with its script name and script family. Use for \"which\n    languages does this cover\", \"list every script family here\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"language_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/lipi_glossary":{"post":{"operationId":"lipi_glossary","summary":"Definitions of script and linguistics terms used throughout this reference — abugida, abjad, matra,","description":"Definitions of script and linguistics terms used throughout this reference — abugida, abjad, matra,\n    virama, conjunct consonant, shirorekha, akshara, Nastaliq, Brahmi script, IAST, ISO 15919, anusvara,\n    diacritic, schwa syncope. Use for \"what's a matra\", \"what does abugida mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"lipi_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}