{"openapi":"3.1.0","info":{"title":"Desi Life API","version":"0.1.0","description":"Everyday Indian context for AI agents: cricket, panchang and muhurat, Indian-language translation, Indian food nutrition and Indian units.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://desi-life.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/desi-life/docs"},"termsOfService":"https://connectorbay.com/desi-life/terms"},"servers":[{"url":"https://desi-life.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/desi-life/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/cricket_live_scores":{"post":{"operationId":"cricket_live_scores","summary":"Live cricket scores for matches in progress, plus recently finished results.","description":"Live cricket scores for matches in progress, plus recently finished results.\n    Use for 'what's the score', 'is India playing right now', 'did CSK win'. Read-only.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by team, e.g. 'India', 'IND', 'CSK'. Optional.","title":"Team"},"series":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter by series/tournament name, e.g. 'IPL', 'World Cup'. Optional.","title":"Series"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"}},"title":"cricket_live_scoresArguments","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/cricket_schedule":{"post":{"operationId":"cricket_schedule","summary":"Upcoming cricket fixtures with start times converted to the user's timezone.","description":"Upcoming cricket fixtures with start times converted to the user's timezone.\n    Use for 'when does India play next', 'IPL schedule this week', or to set reminders.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"team":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Team filter, e.g. 'India'. Optional.","title":"Team"},"series":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Series filter, e.g. 'T20 World Cup'. Optional.","title":"Series"},"limit":{"default":15,"description":"Max fixtures to return.","maximum":50,"minimum":1,"title":"Limit","type":"integer"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"}},"title":"cricket_scheduleArguments","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/cricket_scorecard":{"post":{"operationId":"cricket_scorecard","summary":"Full batting and bowling scorecard for one match (by id), with toss and result.","description":"Full batting and bowling scorecard for one match (by id), with toss and result.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"match_id":{"description":"Match id from cricket_live_scores or cricket_schedule.","title":"Match Id","type":"string"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"required":["match_id"],"title":"cricket_scorecardArguments","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/cricket_series_search":{"post":{"operationId":"cricket_series_search","summary":"Find a series/tournament (dates, match counts, formats). Follow with cricket_schedule for fixtures.","description":"Find a series/tournament (dates, match counts, formats). Follow with cricket_schedule for fixtures.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Series or tournament name to look up, e.g. 'IPL 2027', 'Asia Cup'.","title":"Query","type":"string"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"required":["query"],"title":"cricket_series_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/panchang_today":{"post":{"operationId":"panchang_today","summary":"Daily Hindu panchang for a date and place: tithi (with end time), nakshatra, yoga, karana,","description":"Daily Hindu panchang for a date and place: tithi (with end time), nakshatra, yoga, karana,\n    sunrise/sunset, lunar month (amanta & purnimanta), Rahu Kaal, Yamaganda, Gulika, Abhijit muhurat,\n    and day/night choghadiya. Computed for the user's location — pass `city` for anyone outside India.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Date as YYYY-MM-DD. Defaults to today in the resolved timezone.","title":"Date"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"},"latitude":{"anyOf":[{"maximum":90,"minimum":-90,"type":"number"},{"type":"null"}],"default":null,"description":"Latitude in decimal degrees (optional; prefer `city`).","title":"Latitude"},"longitude":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Longitude in decimal degrees (optional; prefer `city`).","title":"Longitude"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"title":"panchang_todayArguments","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/panchang_festivals":{"post":{"operationId":"panchang_festivals","summary":"Dates of major Hindu, Sikh, Jain and Buddhist festivals for a year (Diwali, Holi, Navratri,","description":"Dates of major Hindu, Sikh, Jain and Buddhist festivals for a year (Diwali, Holi, Navratri,\n    Ganesh Chaturthi, Raksha Bandhan, Makar Sankranti, Guru Nanak Jayanti, and ~30 more), computed by\n    tithi rules for the user's location. Use for 'when is Diwali', 'festivals this month', reminders.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"anyOf":[{"maximum":2100,"minimum":1900,"type":"integer"},{"type":"null"}],"default":null,"description":"Gregorian year, e.g. 2026. Defaults to the current year.","title":"Year"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional festival name filter, e.g. 'Diwali', 'Navratri', 'Sankranti'.","title":"Query"},"upcoming_only":{"default":false,"description":"If true, only festivals from today onward (default true when no year given).","title":"Upcoming Only","type":"boolean"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"},"latitude":{"anyOf":[{"maximum":90,"minimum":-90,"type":"number"},{"type":"null"}],"default":null,"description":"Latitude in decimal degrees (optional; prefer `city`).","title":"Latitude"},"longitude":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Longitude in decimal degrees (optional; prefer `city`).","title":"Longitude"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"title":"panchang_festivalsArguments","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/panchang_muhurat":{"post":{"operationId":"panchang_muhurat","summary":"Auspicious dates and time windows (choghadiya + Abhijit, avoiding Rahu Kaal, Rikta tithis and","description":"Auspicious dates and time windows (choghadiya + Abhijit, avoiding Rahu Kaal, Rikta tithis and\n    unfavourable nakshatras) for an activity such as signing a lease, buying a car or gold, griha\n    pravesh, travel or starting a business. Returns suitable days with windows in local time and\n    unsuitable days with reasons. Guidance only; for marriage recommend confirming with a priest.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"activity":{"description":"One of: general, marriage, griha_pravesh, vehicle, property, signing, travel, business, naming, education, gold.","title":"Activity","type":"string"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Date as YYYY-MM-DD. Defaults to today in the resolved timezone.","title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"YYYY-MM-DD. Defaults to 30 days after start_date. Max 45-day range.","title":"End Date"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"},"latitude":{"anyOf":[{"maximum":90,"minimum":-90,"type":"number"},{"type":"null"}],"default":null,"description":"Latitude in decimal degrees (optional; prefer `city`).","title":"Latitude"},"longitude":{"anyOf":[{"maximum":180,"minimum":-180,"type":"number"},{"type":"null"}],"default":null,"description":"Longitude in decimal degrees (optional; prefer `city`).","title":"Longitude"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"required":["activity"],"title":"panchang_muhuratArguments","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/hindu_calendar_convert":{"post":{"operationId":"hindu_calendar_convert","summary":"Convert a Gregorian date to the Hindu calendar: tithi and paksha, amanta lunar month, Vikram Samvat","description":"Convert a Gregorian date to the Hindu calendar: tithi and paksha, amanta lunar month, Vikram Samvat\n    (Chaitradi and Kartikadi/Gujarati), Shaka Samvat (Indian national calendar) and Kali Yuga year.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Date as YYYY-MM-DD. Defaults to today in the resolved timezone.","title":"Date"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"City name, e.g. 'Pune', 'San Jose', 'Toronto'. Resolved from a bundled gazetteer of Indian and diaspora cities.","title":"City"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone like 'America/Los_Angeles' or shorthand like 'PST', 'IST'. Overrides the city's timezone.","title":"Timezone"}},"title":"hindu_calendar_convertArguments","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/translate_text":{"post":{"operationId":"translate_text","summary":"Translate between English and 22 scheduled Indian languages (Hindi, Marathi, Bengali, Tamil, Telugu,","description":"Translate between English and 22 scheduled Indian languages (Hindi, Marathi, Bengali, Tamil, Telugu,\n    Kannada, Malayalam, Gujarati, Punjabi, Odia, Assamese, Urdu, …) via Bhashini, India's national\n    translation service. Use when the user wants a message written for family, or an Indian-language text explained.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"text":{"description":"Text to translate (up to ~2,000 characters).","maxLength":4000,"title":"Text","type":"string"},"target_language":{"description":"Target language code or name: hi, mr, bn, ta, te, kn, ml, gu, pa, or, as, ur, ne, sa, kok, mai, en, etc.","title":"Target Language","type":"string"},"source_language":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Source language code/name. Auto-detected if omitted.","title":"Source Language"}},"required":["text","target_language"],"title":"translate_textArguments","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/transliterate_text":{"post":{"operationId":"transliterate_text","summary":"Convert romanised Indian-language text into native script (e.g. 'namaste' -> 'नमस्ते'). Use when the","description":"Convert romanised Indian-language text into native script (e.g. 'namaste' -> 'नमस्ते'). Use when the\n    user types Hinglish/Tanglish and wants it in Devanagari, Tamil script, etc.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"text":{"description":"Romanised text, e.g. 'namaste, kaise ho'.","maxLength":4000,"title":"Text","type":"string"},"target_language":{"description":"Language whose native script to produce: hi, mr, bn, ta, te, kn, ml, gu, pa, etc.","title":"Target Language","type":"string"}},"required":["text","target_language"],"title":"transliterate_textArguments","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/detect_language":{"post":{"operationId":"detect_language","summary":"Identify which Indian language and script a text is written in (Devanagari Hindi vs Marathi vs Nepali,","description":"Identify which Indian language and script a text is written in (Devanagari Hindi vs Marathi vs Nepali,\n    Bengali vs Assamese, Tamil, Telugu, Kannada, Malayalam, Gujarati, Gurmukhi Punjabi, Odia, Urdu). Local, no network.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"text":{"description":"Text whose language/script to identify.","maxLength":4000,"title":"Text","type":"string"}},"required":["text"],"title":"detect_languageArguments","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/nutrition_lookup":{"post":{"operationId":"nutrition_lookup","summary":"Calories, protein, carbs, fat and fibre for an Indian dish per standard serving (roti, idli, biryani,","description":"Calories, protein, carbs, fat and fibre for an Indian dish per standard serving (roti, idli, biryani,\n    paneer butter masala, samosa, chai, sweets…). Values derived from IFCT 2017 (ICMR-NIN). Approximate.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"food":{"description":"Indian dish or ingredient, e.g. 'masala dosa', 'dal makhani', 'roti', 'gulab jamun'.","title":"Food","type":"string"},"quantity":{"default":1,"description":"Number of standard servings (e.g. 2 for two rotis).","exclusiveMinimum":0,"maximum":50,"title":"Quantity","type":"number"}},"required":["food"],"title":"nutrition_lookupArguments","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/nutrition_estimate_meal":{"post":{"operationId":"nutrition_estimate_meal","summary":"Estimate total calories and macros for a described Indian meal. Parses quantities ('2 rotis', 'half plate","description":"Estimate total calories and macros for a described Indian meal. Parses quantities ('2 rotis', 'half plate\n    biryani', 'small bowl of dal') and returns per-item and total nutrition plus anything it couldn't match.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"meal":{"description":"Free-text meal, e.g. '2 rotis, a bowl of dal, some rice and 1 gulab jamun'.","maxLength":1000,"title":"Meal","type":"string"}},"required":["meal"],"title":"nutrition_estimate_mealArguments","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/nutrition_foods_list":{"post":{"operationId":"nutrition_foods_list","summary":"List the Indian foods available in the nutrition table (optionally by category), with standard serving and calories.","description":"List the Indian foods available in the nutrition table (optionally by category), with standard serving and calories.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional: breads, rice, dals, curries, south, snacks, meals, breakfast, dairy, drinks, sweets, fruit, salads, sides, fats.","title":"Category"}},"title":"nutrition_foods_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/indian_units_convert":{"post":{"operationId":"indian_units_convert","summary":"Convert Indian counting units (lakh, crore, arab) and traditional measures (tola, seer, maund, bigha,","description":"Convert Indian counting units (lakh, crore, arab) and traditional measures (tola, seer, maund, bigha,\n    katha, guntha, cent, ground, gaj, kos) to/from metric and US units, and format numbers Indian-style (12,34,567).","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"expression":{"description":"'<number> <unit> to <unit>', e.g. '2.5 crore to million', '10 tola to grams', '1 bigha to sqft', '1500 sqft to gaj'.","title":"Expression","type":"string"}},"required":["expression"],"title":"indian_units_convertArguments","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}}}}