MCP 서버

Ayurveda MCP Server by RoxyAPI

com.roxyapi/ayurveda
헬스케어 지식 및 문서 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Provides Ayurvedic dosha, qualities, tastes, constitution, daily routine, and seasonal regimen information and calculations.

get_ayurveda_daily
Daily Ayurveda reading - Dosha clock and brahma muhurta by location API
Get one days Ayurveda reading for a place: sunrise, the brahma muhurta window, the six dosha periods cut from the actual day and night, and the season the date falls in with where each dosha stands in its yearly cycle. It composes the routine and the season routes for one location so a widget needs one call rather than two. The default conventions apply throughout and are echoed; call those two routes directly to choose a different season scheme, zodiac, hemisphere or dosha clock.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{'latitude': 51.5074, 'longitude': -0.1278}], 'required': ['latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-06-21', 'description': 'Reading date in YYYY-MM-DD format. Past and future dates are both supported, for editorial scheduling and backfill. Defaults to the current day in the timezone parameter.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 51.5074, 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees. It sets how long the day and the night actually are, which is what the dosha periods are cut from.'}, 'timezone': {'type': 'string', 'example': 'Europe/London', 'description': 'Selects which day counts as current when date is omitted, and which local day sunrise is computed for. Defaults to UTC, so the reading rolls over at 00:00 UTC. Accepts an IANA name (e.g. "Europe/London"), decimal hours (e.g. 5.5 for IST), or a fixed UTC offset (e.g. "-05:00").'}, 'longitude': {'type': 'number', 'example': -0.1278, 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees. It sets the clock time of sunrise at this place.'}}}
출력 스키마
{'type': 'object', 'required': ['date', 'sunrise', 'sunset', 'brahmaMuhurta', 'doshaPeriods', 'ritu', 'doshaCycle', 'summary', 'sources', 'conventions', 'meta'], 'properties': {'date': {'type': 'string'}, 'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'ritu': {'type': 'object', 'required': ['id', 'sanskritName', 'gloss', 'start', 'end', 'ayana', 'phase', 'strength', 'tasteIncreasing'], 'properties': {'id': {'type': 'string'}, 'end': {'type': 'string'}, 'ayana': {'type': 'string'}, 'gloss': {'type': 'string'}, 'phase': {'type': 'string'}, 'start': {'type': 'string'}, 'strength': {'type': 'string'}, 'sanskritName': {'type': 'string'}, 'tasteIncreasing': {'type': 'string'}}}, 'sunset': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}, 'summary': {'type': 'string'}, 'sunrise': {'type': 'string'}, 'doshaCycle': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'state'], 'properties': {'dosha': {'type': 'string'}, 'state': {'type': 'string'}}}}, 'conventions': {'type': 'object', 'required': ['doshaClock', 'ritucharyaScheme', 'rituZodiac', 'hemisphere'], 'properties': {'doshaClock': {'type': 'string'}, 'hemisphere': {'type': 'string'}, 'rituZodiac': {'type': 'string'}, 'ritucharyaScheme': {'type': 'string'}}}, 'doshaPeriods': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'start', 'end', 'span'], 'properties': {'end': {'type': 'string'}, 'span': {'type': 'string'}, 'dosha': {'type': 'string'}, 'start': {'type': 'string'}}}}, 'brahmaMuhurta': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}}}}}
get_ayurveda_doshas
List the three doshas - Dosha catalogue API
Return vata, pitta and kapha with the qualities, seats and five sub-doshas each carries, and the three states the seasonal cycle moves them through. Every quality is one of the twenty gunas and every state is described as a position and a quality rather than as a complaint, which is what lets the catalogue join to the tastes and qualities endpoints without a lookup table in between. Each entry carries the verse it comes from, and the second primary text is recorded where it reads the list differently.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'limit': {'type': 'integer', 'default': 3, 'example': 3, 'maximum': 3, 'minimum': 1, 'description': 'Maximum items to return per page. Range: 1-3, default 3.'}, 'offset': {'type': 'integer', 'default': 0, 'example': 0, 'minimum': 0, 'description': 'Number of items to skip for pagination. Default 0.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
출력 스키마
{'type': 'object', 'required': ['total', 'limit', 'offset', 'doshas', 'sources', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'doshas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'alsoCalled', 'element', 'modernElementPair', 'qualities', 'qualityGunas', 'seats', 'specialSeat', 'seatsVariant', 'functions', 'subDoshas', 'states', 'source'], 'properties': {'id': {'type': 'string'}, 'seats': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'states': {'type': 'object', 'required': ['balanced', 'accumulating', 'aggravated', 'settlesWith', 'source'], 'properties': {'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'balanced': {'type': 'string'}, 'aggravated': {'type': 'string'}, 'settlesWith': {'type': 'string'}, 'accumulating': {'type': 'string'}}}, 'element': {'type': 'string'}, 'functions': {'type': 'array', 'items': {'type': 'string'}}, 'qualities': {'type': 'array', 'items': {'type': 'string'}}, 'subDoshas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'seat', 'function', 'source'], 'properties': {'id': {'type': 'string'}, 'seat': {'type': 'string'}, 'moves': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'function': {'type': 'string'}, 'devanagari': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}, 'alsoCalled': {'type': 'array', 'items': {'type': 'string'}}, 'devanagari': {'type': 'string'}, 'specialSeat': {'type': 'string'}, 'qualityGunas': {'type': 'array', 'items': {'type': 'string'}}, 'sanskritName': {'type': 'string'}, 'seatsVariant': {'type': 'string'}, 'modernElementPair': {'type': 'string'}}}}, 'offset': {'type': 'number'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}}}
get_ayurveda_doshas_id
Get one dosha - Vata pitta kapha profile API
Return one dosha with its elements, qualities, seats, five sub-doshas and three states. Use it to render a dosha card or a glossary entry without pulling the whole catalogue, and read qualityGunas to join it to the twenty qualities.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{'id': 'vata'}], 'required': ['id'], 'properties': {'id': {'enum': ['vata', 'pitta', 'kapha'], 'type': 'string', 'example': 'vata', 'description': 'Dosha identifier, case-insensitive. One of vata, pitta or kapha.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
출력 스키마
{'type': 'object', 'required': ['dosha', 'sources', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'dosha': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'alsoCalled', 'element', 'modernElementPair', 'qualities', 'qualityGunas', 'seats', 'specialSeat', 'seatsVariant', 'functions', 'subDoshas', 'states', 'source'], 'properties': {'id': {'type': 'string'}, 'seats': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'states': {'type': 'object', 'required': ['balanced', 'accumulating', 'aggravated', 'settlesWith', 'source'], 'properties': {'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'balanced': {'type': 'string'}, 'aggravated': {'type': 'string'}, 'settlesWith': {'type': 'string'}, 'accumulating': {'type': 'string'}}}, 'element': {'type': 'string'}, 'functions': {'type': 'array', 'items': {'type': 'string'}}, 'qualities': {'type': 'array', 'items': {'type': 'string'}}, 'subDoshas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'seat', 'function', 'source'], 'properties': {'id': {'type': 'string'}, 'seat': {'type': 'string'}, 'moves': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'function': {'type': 'string'}, 'devanagari': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}, 'alsoCalled': {'type': 'array', 'items': {'type': 'string'}}, 'devanagari': {'type': 'string'}, 'specialSeat': {'type': 'string'}, 'qualityGunas': {'type': 'array', 'items': {'type': 'string'}}, 'sanskritName': {'type': 'string'}, 'seatsVariant': {'type': 'string'}, 'modernElementPair': {'type': 'string'}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}}}
get_ayurveda_qualities
List the twenty qualities - Ayurveda guna pairs API
Return the twenty gunas, the qualities of Ayurveda, as the ten opposed pairs the commentaries spell out, each member with the single action word attached to it, and the half-verse that states the like-increases-like rule the whole domain runs on. Each quality carries the doshas that hold it, so the pairs join straight to the dosha catalogue. One pair carries a recorded disagreement between the two commentaries, and the response states it rather than resolving it silently, because the choice decides which dosha that pair joins to.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'limit': {'type': 'integer', 'default': 10, 'example': 10, 'maximum': 10, 'minimum': 1, 'description': 'Maximum items to return per page. Range: 1-10, default 10.'}, 'offset': {'type': 'integer', 'default': 0, 'example': 0, 'minimum': 0, 'description': 'Number of items to skip for pagination. Default 0.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
출력 스키마
{'type': 'object', 'required': ['total', 'limit', 'offset', 'rule', 'pairs', 'sources', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'rule': {'type': 'string'}, 'limit': {'type': 'number'}, 'pairs': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'a', 'b'], 'properties': {'a': {'type': 'object', 'required': ['id', 'sanskritName', 'english', 'action', 'actionSanskrit', 'doshas'], 'properties': {'id': {'type': 'string'}, 'action': {'type': 'string'}, 'doshas': {'type': 'array', 'items': {'type': 'string'}}, 'english': {'type': 'string'}, 'sanskritName': {'type': 'string'}, 'actionSanskrit': {'type': 'string'}}}, 'b': {'type': 'object', 'required': ['id', 'sanskritName', 'english', 'action', 'actionSanskrit', 'doshas'], 'properties': {'id': {'type': 'string'}, 'action': {'type': 'string'}, 'doshas': {'type': 'array', 'items': {'type': 'string'}}, 'english': {'type': 'string'}, 'sanskritName': {'type': 'string'}, 'actionSanskrit': {'type': 'string'}}}, 'note': {'type': 'string'}, 'number': {'type': 'number'}}}}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}}}
get_ayurveda_tastes
List the six tastes - Ayurveda rasa and dosha matrix API
Return the six rasas, the tastes of Ayurveda, with the complete eighteen-cell matrix of which taste lowers and raises which dosha, in both directions. The order is the one the root verse gives, which is also the order of strength it states, and it puts bitter before pungent where most modern lists reverse them. The matrix is returned on each taste and again as a per-dosha index, so a caller can read it either way without deriving one from the other.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{}], 'properties': {'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'limit': {'type': 'integer', 'default': 6, 'example': 6, 'maximum': 6, 'minimum': 1, 'description': 'Maximum items to return per page. Range: 1-6, default 6.'}, 'offset': {'type': 'integer', 'default': 0, 'example': 0, 'minimum': 0, 'description': 'Number of items to skip for pagination. Default 0.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}}}
출력 스키마
{'type': 'object', 'required': ['total', 'limit', 'offset', 'strengthOrder', 'rasas', 'matrix', 'sources', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'limit': {'type': 'number'}, 'rasas': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'textForm', 'english', 'elements', 'decreases', 'increases'], 'properties': {'id': {'type': 'string'}, 'english': {'type': 'string'}, 'elements': {'type': 'array', 'items': {'type': 'string'}}, 'textForm': {'type': 'string'}, 'decreases': {'type': 'array', 'items': {'type': 'string'}}, 'increases': {'type': 'array', 'items': {'type': 'string'}}, 'devanagari': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}, 'total': {'type': 'number'}, 'matrix': {'type': 'object', 'additionalProperties': {'type': 'object', 'required': ['decreasedBy', 'increasedBy'], 'properties': {'decreasedBy': {'type': 'array', 'items': {'type': 'string'}}, 'increasedBy': {'type': 'array', 'items': {'type': 'string'}}}}}, 'offset': {'type': 'number'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}, 'strengthOrder': {'type': 'array', 'items': {'type': 'string'}}}}
post_ayurveda_constitution
Ayurvedic constitution from a birth chart - Dosha profile API
Read the Ayurvedic constitution from a sidereal birth chart and return the vata, pitta and kapha shares with a verse behind every factor. Three factors are scored, each one carrying a classical rule that it shows the native humour: the rising sign, the sign the Moon occupies, and the strongest graha by shadbala. The composite that blends them is a RoxyAPI convention rather than a classical one, so its version and its weights ship inside the response, and every response states that this is general wellness and cultural interest only.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{'date': '1990-07-04', 'time': '10:12:00', 'latitude': 28.6139, 'longitude': 77.209}], 'required': ['date', 'time', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '1990-07-04', 'description': 'Birth date in YYYY-MM-DD format. It sets the sidereal positions the whole reading is built from, so an approximate date gives an approximate constitution.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'time': {'type': 'string', 'format': 'time', 'example': '10:12:00', 'description': 'Birth time in 24-hour HH:MM:SS format. The rising sign turns roughly every two hours and carries the heaviest weight of the three factors, so time is the input a reading is most sensitive to.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'ayanamsa': {'enum': ['kp-newcomb', 'kp-old', 'lahiri', 'raman', 'custom'], 'type': 'string', 'default': 'lahiri', 'example': 'lahiri', 'description': 'Sidereal frame the chart is cast in. "lahiri" is the traditional Vedic standard used by most software and is the default. "raman" sits about 1.45 degrees below it. "kp-newcomb" and "kp-old" are the two Krishnamurti Paddhati frames. "custom" takes your own value in degrees via ayanamsaValue. The frame rotates the whole zodiac, so a graha within 1.45 degrees of a boundary can change rashi when you switch, which moves both sign factors of the reading.'}, 'latitude': {'type': 'number', 'example': 28.6139, 'maximum': 90, 'minimum': -90, 'description': 'Birth latitude in decimal degrees. It sets the local sidereal time behind the rising sign, and it feeds the strength of each graha through the sunrise at that place.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 5.5, 'example': 5.5, 'description': 'Timezone as an IANA name such as "Asia/Kolkata", or as decimal hours from UTC such as 5.5. An IANA name is resolved to the offset in force on the birth date, so a summer-time birth is placed correctly. Defaults to 5.5.'}, 'longitude': {'type': 'number', 'example': 77.209, 'maximum': 180, 'minimum': -180, 'description': 'Birth longitude in decimal degrees. It sets the local sidereal time behind the rising sign, together with the latitude.'}, 'ayanamsaValue': {'type': 'number', 'example': 24, 'description': 'Custom sidereal frame value in degrees. Required when ayanamsa is "custom" and ignored otherwise. Use it to reconcile exactly against a specific reference program.'}, 'signDoshaScheme': {'enum': ['satyacharya', 'bphs'], 'type': 'string', 'default': 'satyacharya', 'example': 'satyacharya', 'description': 'Which classical sign table the rising sign and the Moon sign are read through. "satyacharya" is the twelve-sign extract appended to Brihat Jataka 18.20, carried in two independent public-domain translations that agree on all twelve rows, and is the default. "bphs" is the Brihat Parasara Hora Sastra rule by elemental triplicity. The two agree exactly on three signs of twelve, overlap in part on seven, and share no humour at all on Scorpio or Sagittarius, so the choice can change the reading outright and is echoed in the response.'}}}
출력 스키마
{'type': 'object', 'required': ['frame', 'lagnaSign', 'moonSign', 'factors', 'composite', 'strengthRanking', 'planetDoshas', 'summary', 'conventions', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'frame': {'type': 'object', 'required': ['ayanamsa', 'ayanamsaDegrees'], 'properties': {'ayanamsa': {'type': 'string'}, 'ayanamsaDegrees': {'type': 'number'}}}, 'factors': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'input', 'doshas', 'weight', 'source'], 'properties': {'id': {'type': 'string'}, 'input': {'type': 'string'}, 'doshas': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'weight': {'type': 'number'}}}}, 'summary': {'type': 'string'}, 'moonSign': {'type': 'string'}, 'composite': {'type': 'object', 'required': ['vata', 'pitta', 'kapha', 'dominant', 'secondary', 'type', 'convention', 'weighting'], 'properties': {'type': {'type': 'string'}, 'vata': {'type': 'number'}, 'kapha': {'type': 'number'}, 'pitta': {'type': 'number'}, 'dominant': {'type': 'string'}, 'secondary': {'type': 'string'}, 'weighting': {'type': 'object', 'required': ['lagnaSign', 'moonSign', 'strongestPlanet', 'strongPlanetThreshold', 'dualTypeMargin'], 'properties': {'moonSign': {'type': 'number'}, 'lagnaSign': {'type': 'number'}, 'dualTypeMargin': {'type': 'number'}, 'strongestPlanet': {'type': 'number'}, 'strongPlanetThreshold': {'type': 'number'}}}, 'convention': {'type': 'string'}}}, 'lagnaSign': {'type': 'string'}, 'conventions': {'type': 'object', 'required': ['signDoshaScheme', 'ayanamsa'], 'properties': {'ayanamsa': {'type': 'string'}, 'signDoshaScheme': {'type': 'string'}}}, 'planetDoshas': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'sanskritName', 'doshas', 'dhatu', 'dhatuSanskrit', 'doshaSource', 'dhatuSource'], 'properties': {'dhatu': {'type': 'string'}, 'graha': {'type': 'string'}, 'doshas': {'type': 'array', 'items': {'type': 'string'}}, 'dhatuSource': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'doshaSource': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'sanskritName': {'type': 'string'}, 'dhatuSanskrit': {'type': 'string'}}}}, 'strengthRanking': {'type': 'array', 'items': {'type': 'object', 'required': ['graha', 'totalVirupas', 'rank', 'strong'], 'properties': {'rank': {'type': 'number'}, 'graha': {'type': 'string'}, 'strong': {'type': 'boolean'}, 'totalVirupas': {'type': 'number'}}}}}}
post_ayurveda_dinacharya
Dinacharya daily routine - Brahma muhurta and dosha clock API
Compute the dinacharya daily routine for one date and one place: sunrise, sunset, the brahma muhurta window, and the six dosha periods of the day and the night. The default division cuts the actual day and the actual night into thirds, which is what the frame chapter states, and the modern clock grid is returned alongside it under its own label so a caller can show either. The brahma muhurta is a fixed window of 96 to 48 minutes before sunrise rather than a share of the night, which is the reading the classical commentary settles on.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{'date': '2026-06-21', 'latitude': 51.5074, 'longitude': -0.1278}], 'required': ['date', 'latitude', 'longitude'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-06-21', 'description': 'The local calendar date, in YYYY-MM-DD format. Sunrise and sunset are computed for this date at the given place, and the whole routine follows from them, so the answer changes through the year at any latitude away from the equator.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'latitude': {'type': 'number', 'example': 51.5074, 'maximum': 90, 'minimum': -90, 'description': 'Latitude in decimal degrees. It sets how long the day and the night actually are, which is the whole difference between this and a printed timetable: at 51 north in June the day runs about sixteen and a half hours and its thirds are five and a half hours each.'}, 'timezone': {'anyOf': [{'type': 'number', 'maximum': 14, 'minimum': -14}, {'type': 'string'}], 'default': 0, 'example': 'Europe/London', 'description': 'Timezone as an IANA name such as "Europe/London", or as decimal hours from UTC such as 5.5. An IANA name is resolved to the offset in force on the requested date, and on the clock-hour grid at the local hour each block opens, so on a daylight-saving change every block keeps its printed hour and one that falls in the skipped hour moves forward past it. It decides which local day is meant and, on the clock-hour grid, where the blocks fall. Defaults to 0.'}, 'longitude': {'type': 'number', 'example': -0.1278, 'maximum': 180, 'minimum': -180, 'description': 'Longitude in decimal degrees. It sets the clock time of sunrise at this place.'}, 'doshaClock': {'enum': ['sunrise-anchored', 'clock-hours'], 'type': 'string', 'default': 'sunrise-anchored', 'example': 'sunrise-anchored', 'description': 'How the six dosha periods are cut. "sunrise-anchored" divides the actual day and the actual night at this place into thirds, which is the division the frame chapter states, and is the default. "clock-hours" is the modern grid of six four-hour blocks from six in the morning; no classical text assigns clock hours, and the grid is only exact at an equinox near the equator. Both sets are returned whichever is chosen, so a caller can show one and reconcile against the other.'}}}
출력 스키마
{'type': 'object', 'required': ['date', 'sunrise', 'sunset', 'nextSunrise', 'brahmaMuhurta', 'doshaPeriods', 'alternatePeriods', 'routine', 'summary', 'sources', 'conventions', 'meta'], 'properties': {'date': {'type': 'string'}, 'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'sunset': {'type': 'string'}, 'routine': {'type': 'array', 'items': {'type': 'object', 'required': ['order', 'id', 'sanskritName', 'guidance', 'timing', 'source'], 'properties': {'id': {'type': 'string'}, 'order': {'type': 'number'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'timing': {'type': 'string'}, 'guidance': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}, 'summary': {'type': 'string'}, 'sunrise': {'type': 'string'}, 'conventions': {'type': 'object', 'required': ['doshaClock'], 'properties': {'doshaClock': {'type': 'string'}}}, 'nextSunrise': {'type': 'string'}, 'doshaPeriods': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'start', 'end', 'span'], 'properties': {'end': {'type': 'string'}, 'span': {'type': 'string'}, 'dosha': {'type': 'string'}, 'start': {'type': 'string'}, 'third': {'type': 'number'}}}}, 'brahmaMuhurta': {'type': 'object', 'required': ['start', 'end', 'muhurtaMinutes', 'muhurtasPerAhoratra', 'source'], 'properties': {'end': {'type': 'string'}, 'start': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'muhurtaMinutes': {'type': 'number'}, 'muhurtasPerAhoratra': {'type': 'number'}}}, 'alternatePeriods': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'start', 'end', 'span'], 'properties': {'end': {'type': 'string'}, 'span': {'type': 'string'}, 'dosha': {'type': 'string'}, 'start': {'type': 'string'}, 'third': {'type': 'number'}}}}}}
post_ayurveda_ritucharya
Ayurveda seasonal regimen - Ritucharya and ritu resolution API
Resolve the ritucharya, the Ayurvedic season, for a date from the real solar ingress instants and return the regimen the primary text gives for it. The response carries the season with its exact opening and closing instants, the half of the year the sun is in, where each dosha stands in the seasonal cycle, the taste that grows across the season, and the behaviour items the chapter states. Season boundaries are measured in the tropical zodiac by default, which is what published almanacs use, and the sidereal reading is available as a convention and runs about 24 days later.
읽기 전용
입력 스키마
{'type': 'object', 'examples': [{'date': '2026-03-01'}], 'required': ['date'], 'properties': {'date': {'type': 'string', 'format': 'date', 'example': '2026-03-01', 'description': 'The date to resolve, in YYYY-MM-DD format. The season is read at midday UTC on this date, because a season boundary is an instant and a calendar day has to be reduced to one; on a day that carries a boundary, the half the midday falls in is the answer. Within about two months of either end of the supported span, a date whose season opens or closes outside that span answers 400.'}, 'lang': {'enum': ['en', 'tr', 'de', 'es', 'hi', 'pt', 'fr', 'ru', 'zh-Hans', 'zh-Hant'], 'type': 'string', 'default': 'en', 'example': 'en', 'description': 'Response language (BCP 47). Supported: en, tr, de, es, hi, pt, fr, ru, zh-Hans, zh-Hant. Defaults to en. Coverage varies by domain, and a field with no translation in the requested language returns English.'}, 'compact': {'type': 'boolean', 'default': False, 'description': 'Set true for the same data in a compact shape: arrays of same-shaped objects arrive columnar as {"__cols":[names],"__rows":[[values]]}. Lossless, typically 40 to 52 percent fewer tokens.'}, 'hemisphere': {'enum': ['northern', 'southern'], 'type': 'string', 'default': 'northern', 'example': 'northern', 'description': 'Which half of the world the season names are stated for. Defaults to "northern", which is the half the primary text describes. It is NEVER inferred from a latitude: a silent flip would change the answer without the caller asking, and no classical text handles the southern case at all. Passing "southern" rotates the six season names by three places, following a modern almanac rather than a verse, and the response says so and states what was not rotated with them.'}, 'rituZodiac': {'enum': ['sayana', 'nirayana'], 'type': 'string', 'default': 'sayana', 'example': 'sayana', 'description': 'Which zodiac the solar-month boundaries are measured in. "sayana" is the tropical reading, which is what published almanacs use for seasons and is the default. "nirayana" is the sidereal reading in the Lahiri frame, which runs about 24 days later. The gap is the size of the ayanamsa, so near a boundary the two answer with different seasons for the same date, which is why the value is echoed in every response.'}, 'ritucharyaScheme': {'enum': ['sutrasthana-6', 'vimana-8'], 'type': 'string', 'default': 'sutrasthana-6', 'example': 'sutrasthana-6', 'description': 'Which six-season division the year is cut into. "sutrasthana-6" is the standard set of sisira, vasanta, grisma, varsa, sarad and hemanta, and is the default. "vimana-8" is the alternate division in which three seasons of extreme character alternate with three of moderate character and pravrt, the season of the first rains, replaces sisira. The alternate is not a relabelling: five of the six boundaries move, and because its verse gives no solar-month boundaries the month allocation is a RoxyAPI convention, stated in the response.'}}}
출력 스키마
{'type': 'object', 'required': ['date', 'ritu', 'ayana', 'phase', 'strength', 'tasteIncreasing', 'doshaCycle', 'regimen', 'summary', 'sources', 'conventions', 'meta'], 'properties': {'date': {'type': 'string'}, 'meta': {'type': 'object', 'required': ['disclaimer'], 'properties': {'disclaimer': {'type': 'string'}}}, 'ritu': {'type': 'object', 'required': ['id', 'sanskritName', 'devanagari', 'gloss', 'classicalRitu', 'start', 'end', 'solarMonths'], 'properties': {'id': {'type': 'string'}, 'end': {'type': 'string'}, 'gloss': {'type': 'string'}, 'start': {'type': 'string'}, 'devanagari': {'type': 'string'}, 'solarMonths': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'id', 'sanskritName'], 'properties': {'id': {'type': 'string'}, 'index': {'type': 'number'}, 'sanskritName': {'type': 'string'}}}}, 'sanskritName': {'type': 'string'}, 'classicalRitu': {'type': 'string'}}}, 'ayana': {'type': 'object', 'required': ['id', 'source'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}}, 'phase': {'type': 'object', 'required': ['id', 'tastes', 'source'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'tastes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sanskritName', 'english'], 'properties': {'id': {'type': 'string'}, 'english': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}}}, 'regimen': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'guidance', 'source'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'guidance': {'type': 'string'}}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}, 'summary': {'type': 'string'}, 'strength': {'type': 'object', 'required': ['level', 'source'], 'properties': {'level': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}}}, 'doshaCycle': {'type': 'array', 'items': {'type': 'object', 'required': ['dosha', 'state', 'meaning'], 'properties': {'note': {'type': 'string'}, 'dosha': {'type': 'string'}, 'state': {'type': 'string'}, 'meaning': {'type': 'string'}}}}, 'conventions': {'type': 'object', 'required': ['ritucharyaScheme', 'rituZodiac', 'hemisphere'], 'properties': {'hemisphere': {'type': 'string'}, 'rituZodiac': {'type': 'string'}, 'ritucharyaScheme': {'type': 'string'}}}, 'tasteIncreasing': {'type': 'object', 'required': ['id', 'sanskritName', 'english', 'source'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'object', 'required': ['text', 'chapter', 'verse', 'translation', 'year', 'publicDomain'], 'properties': {'note': {'type': 'string'}, 'text': {'type': 'string'}, 'year': {'type': ['number', 'null']}, 'verse': {'type': 'string'}, 'chapter': {'type': 'string'}, 'translation': {'type': ['string', 'null']}, 'publicDomain': {'type': 'boolean'}}}, 'english': {'type': 'string'}, 'sanskritName': {'type': 'string'}}}}}
변경됨
post_ayurveda_ritucharya
2026년 10월 1일 2:54 AM
변경됨
post_ayurveda_dinacharya
2026년 10월 1일 2:54 AM
변경됨
get_ayurveda_qualities
2026년 9월 25일 3:03 AM
변경됨
get_ayurveda_tastes
2026년 9월 25일 3:03 AM
변경됨
get_ayurveda_doshas
2026년 9월 25일 3:03 AM
변경됨
get_ayurveda_daily
2026년 9월 25일 3:03 AM
변경됨
get_ayurveda_qualities
2026년 9월 21일 3:01 AM
변경됨
get_ayurveda_tastes
2026년 9월 21일 3:01 AM
변경됨
get_ayurveda_doshas_id
2026년 9월 21일 3:01 AM
변경됨
get_ayurveda_doshas
2026년 9월 21일 3:01 AM
변경됨
get_ayurveda_daily
2026년 9월 21일 3:01 AM
변경됨
post_ayurveda_ritucharya
2026년 9월 21일 3:01 AM
변경됨
post_ayurveda_dinacharya
2026년 9월 21일 3:01 AM
변경됨
post_ayurveda_constitution
2026년 9월 21일 3:01 AM
추가됨
get_ayurveda_qualities
2026년 9월 17일 12:37 PM
추가됨
get_ayurveda_tastes
2026년 9월 17일 12:37 PM
추가됨
get_ayurveda_doshas_id
2026년 9월 17일 12:37 PM
추가됨
get_ayurveda_doshas
2026년 9월 17일 12:37 PM
추가됨
get_ayurveda_daily
2026년 9월 17일 12:37 PM
추가됨
post_ayurveda_ritucharya
2026년 9월 17일 12:37 PM
추가됨
post_ayurveda_dinacharya
2026년 9월 17일 12:37 PM
추가됨
post_ayurveda_constitution
2026년 9월 17일 12:37 PM