{"openapi":"3.1.0","info":{"title":"Kahani (Story) API","version":"0.1.0","description":"A fully local reference of classic Indian folk tales: original hand-written summaries, characters and morals from the Panchatantra, Jataka Tales, Akbar-Birbal legends, Tenali Rama tales, and the Hitopadesha.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://kahani.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/kahani/docs"},"termsOfService":"https://connectorbay.com/kahani/terms"},"servers":[{"url":"https://kahani.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/kahani/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/story_info":{"post":{"operationId":"story_info","summary":"A single story's original summary, the characters involved, its moral, and which traditional collection","description":"A single story's original summary, the characters involved, its moral, and which traditional collection\n    it comes from. Use for \"tell me the story of the blue jackal\", \"what happens in the golden goose tale\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"description":"A story's title, or a distinctive part of it.","examples":["The Monkey and the Crocodile","Birbal's Khichdi"],"minLength":1,"title":"Title","type":"string"}},"required":["title"],"title":"story_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/story_search":{"post":{"operationId":"story_search","summary":"Keyword search across story titles, characters, and morals. Use for \"find stories about a crow\",","description":"Keyword search across story titles, characters, and morals. Use for \"find stories about a crow\",\n    \"which stories feature a tiger\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search across titles, characters and morals.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"story_searchArguments","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/stories_by_collection":{"post":{"operationId":"stories_by_collection","summary":"Every story from one traditional collection. Use for \"list all the Jataka tales\", \"give me Tenali Rama","description":"Every story from one traditional collection. Use for \"list all the Jataka tales\", \"give me Tenali Rama\n    stories\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection":{"description":"Panchatantra | Jataka Tales | Akbar-Birbal | Tenali Rama | Hitopadesha","title":"Collection","type":"string"}},"required":["collection"],"title":"stories_by_collectionArguments","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/stories_by_moral":{"post":{"operationId":"stories_by_moral","summary":"Stories that teach a given moral theme. Use for \"find a story about honesty\", \"which tales teach about","description":"Stories that teach a given moral theme. Use for \"find a story about honesty\", \"which tales teach about\n    greed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"moral_theme":{"description":"A theme such as honesty, greed, friendship, cleverness, patience, unity, wisdom, gratitude, humility, courage, compassion, trust, fairness, or foolishness.","title":"Moral Theme","type":"string"}},"required":["moral_theme"],"title":"stories_by_moralArguments","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_story":{"post":{"operationId":"random_story","summary":"A random story from the whole collection — good for a \"story of the day\" prompt. Use for \"tell me a","description":"A random story from the whole collection — good for a \"story of the day\" prompt. Use for \"tell me a\n    random folk tale\", \"surprise me with a story\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Optional seed for a reproducible pick.","title":"Seed"}},"title":"random_storyArguments","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/character_info":{"post":{"operationId":"character_info","summary":"Background on a recurring folk character or animal archetype — Birbal, Tenali Rama, Akbar and","description":"Background on a recurring folk character or animal archetype — Birbal, Tenali Rama, Akbar and\n    Krishnadevaraya in the tales' context, or archetypes like the jackal, lion, crow, tortoise, brahmin,\n    monkey and mongoose common in the Panchatantra and Hitopadesha. Use for \"who is Birbal\", \"what role does\n    the jackal usually play\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A recurring folk character or animal archetype.","examples":["Birbal","Tenali Rama","the jackal","the lion"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"character_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/collection_info":{"post":{"operationId":"collection_info","summary":"Brief background on a traditional collection's origin and purpose. Use for \"what is the Panchatantra\",","description":"Brief background on a traditional collection's origin and purpose. Use for \"what is the Panchatantra\",\n    \"why were the Jataka tales written\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"Panchatantra | Jataka Tales | Akbar-Birbal | Tenali Rama | Hitopadesha","title":"Name","type":"string"}},"required":["name"],"title":"collection_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/moral_glossary":{"post":{"operationId":"moral_glossary","summary":"The common moral themes this connector covers, each with a one-line explanation. Use for \"what moral","description":"The common moral themes this connector covers, each with a one-line explanation. Use for \"what moral\n    themes do you cover\", \"what does 'unity' mean in these stories\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"moral_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}},"/v1/tools/story_for_age":{"post":{"operationId":"story_for_age","summary":"Age-appropriate story suggestions based on the simplicity and gentleness of each story's content. Use","description":"Age-appropriate story suggestions based on the simplicity and gentleness of each story's content. Use\n    for \"what's a good bedtime story for a 4 year old\", \"suggest a folk tale for an older kid\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age_group":{"description":"young child | older child | any age","title":"Age Group","type":"string"}},"required":["age_group"],"title":"story_for_ageArguments","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}}}}