{"openapi":"3.1.0","info":{"title":"Odia Sayings API","version":"0.1.0","description":"A fully local, hand-curated reference of 60 Odia (Oriya) proverbs and sayings, each with real Odia-script text, romanized transliteration, literal meaning, figurative meaning and a usage note, browsable by theme.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://odiasayings.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/odiasayings/docs"},"termsOfService":"https://connectorbay.com/odiasayings/terms"},"servers":[{"url":"https://odiasayings.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/odiasayings/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/saying_of_the_day":{"post":{"operationId":"saying_of_the_day","summary":"One Odia saying, the same for every caller across a given UTC day. Use for \"Odia proverb of the","description":"One Odia saying, the same for every caller across a given UTC day. Use for \"Odia proverb of the\n    day\", \"teach me a saying today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"saying_of_the_dayArguments","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/search_sayings":{"post":{"operationId":"search_sayings","summary":"Keyword search across every saying's Odia text, transliteration, literal/figurative meaning and","description":"Keyword search across every saying's Odia text, transliteration, literal/figurative meaning and\n    theme. Use for \"find an Odia saying about greed\", \"any proverb mentioning a dog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search for, in English or a romanized Odia word.","examples":["patience","greed","friend"],"minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"search_sayingsArguments","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/sayings_by_theme":{"post":{"operationId":"sayings_by_theme","summary":"Every saying filed under one theme. Use list_themes to see valid theme names. Use for \"give me all","description":"Every saying filed under one theme. Use list_themes to see valid theme names. Use for \"give me all\n    the Odia sayings about friendship\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"theme":{"description":"A theme name.","examples":["Perseverance & Patience","Money & Prosperity","Greed & Excess"],"title":"Theme","type":"string"}},"required":["theme"],"title":"sayings_by_themeArguments","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/explain_saying":{"post":{"operationId":"explain_saying","summary":"Full breakdown of one saying: its Odia script, transliteration, literal meaning, figurative meaning","description":"Full breakdown of one saying: its Odia script, transliteration, literal meaning, figurative meaning\n    and a usage note showing when an Odia speaker would actually say it. Use for \"what does this Odia\n    proverb really mean\", \"explain this saying\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"saying":{"description":"A saying's id, its Odia text, or a distinctive English phrase from it.","examples":["dhira-paani-pathara","slow water cuts stone"],"minLength":1,"title":"Saying","type":"string"}},"required":["saying"],"title":"explain_sayingArguments","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/random_saying":{"post":{"operationId":"random_saying","summary":"A genuinely random Odia saying, different on every call (unlike saying_of_the_day, which is stable","description":"A genuinely random Odia saying, different on every call (unlike saying_of_the_day, which is stable\n    for the day). Use for \"surprise me with an Odia proverb\", \"another one\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"random_sayingArguments","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/similar_sayings":{"post":{"operationId":"similar_sayings","summary":"Other sayings that share a theme with the given one. Use for \"what other Odia proverbs are like","description":"Other sayings that share a theme with the given one. Use for \"what other Odia proverbs are like\n    this one\", \"more sayings about the same idea\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"saying":{"description":"A saying's id, Odia text, or a distinctive English phrase from it.","minLength":1,"title":"Saying","type":"string"},"count":{"default":4,"description":"How many similar sayings to return.","maximum":10,"minimum":1,"title":"Count","type":"integer"}},"required":["saying"],"title":"similar_sayingsArguments","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/list_themes":{"post":{"operationId":"list_themes","summary":"Every theme with how many sayings are filed under it. Use for \"what topics of Odia proverbs do you","description":"Every theme with how many sayings are filed under it. Use for \"what topics of Odia proverbs do you\n    have\", \"list saying categories\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_themesArguments","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/glossary":{"post":{"operationId":"glossary","summary":"Definitions of terms used across this connector — prabaada (proverb), bhaabaartha (figurative","description":"Definitions of terms used across this connector — prabaada (proverb), bhaabaartha (figurative\n    meaning), dhaga dhamali (the whole proverb/riddle genre), and what 'theme' means here. Use for \"what\n    does bhaabaartha 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":"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}}}}