{"components":{"schemas":{},"securitySchemes":{"ApiKeyAuth":{"description":"Optional. A bearer API key lifts the compute rate limit for a trusted caller. Anonymous callers may still compute at a lower per-IP limit.","scheme":"bearer","type":"http"}}},"info":{"description":"Compute a real, deterministic sidereal (Vedic/Jyotish) birth chart with the Swiss Ephemeris (DE441, Lahiri ayanamsa) and read it section by section. The engine only computes; interpretation is left to the caller. Typical flow: (1) POST /api/v1/chart with the birth date, time and place to get a chart_id and the list of available sections; (2) GET the specific sections you need (e.g. lagna, planets, houses, vimshottari_dasha, shadbala) and interpret them. Never invent planetary positions \u2014 always read them from a computed section.","title":"Eternal Evals \u2014 Vedic Astrology Engine","version":"v1"},"openapi":"3.1.0","paths":{"/api/v1/chart":{"post":{"description":"Compute a full sidereal birth chart from birth details. Returns a chart_id plus ~70 section names (not the full data) to read afterwards. Give place as a name (geocoded) or pass lat/lon. Omit tz_offset to auto-resolve the correct historical UTC offset.","operationId":"computeChart","requestBody":{"content":{"application/json":{"schema":{"properties":{"date":{"description":"Birth date, \"YYYY-MM-DD\".","example":"1990-07-07","type":"string"},"lat":{"description":"Latitude (optional if place given).","type":"number"},"lon":{"description":"Longitude (optional if place given).","type":"number"},"name":{"description":"Person label (optional).","type":"string"},"place":{"description":"Birth place name; geocoded if lat/lon omitted.","example":"Panipat, India","type":"string"},"time":{"description":"Birth time, 24h \"HH:MM\" local.","example":"05:00","type":"string"},"tz_offset":{"description":"UTC offset in hours. Omit to auto-resolve.","type":"number"}},"required":["date","time"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"birth":{"type":"object"},"chart_id":{"type":"string"},"name":{"type":"string"},"section_count":{"type":"integer"},"sections":{"description":"Available section names to read next.","items":{"type":"string"},"type":"array"},"summary":{"type":"string"}},"type":"object"}}},"description":"Chart computed."},"400":{"description":"Invalid birth details or coordinates."},"429":{"description":"Rate limit exceeded."}},"summary":"Compute a Vedic birth chart","x-openai-isConsequential":false}},"/api/v1/chart/{chart_id}/section/{section_path}":{"get":{"description":"Read one section, or a nested value via a dot-path (e.g. \"shadbala\", \"houses.10\", \"planets.Saturn\"). Oversized sections return a shape summary \u2014 request a narrower dot-path from the keys it shows. Good starts: lagna, planets, houses, vimshottari_dasha, shadbala, yogas.","operationId":"readSection","parameters":[{"in":"path","name":"chart_id","required":true,"schema":{"type":"string"}},{"description":"Section name or dot-path, e.g. \"shadbala\" or \"houses.10\".","in":"path","name":"section_path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Section data (or a shape summary if oversized)."},"404":{"description":"Chart or section not found."}},"summary":"Read one chart section","x-openai-isConsequential":false}},"/api/v1/chart/{chart_id}/sections":{"get":{"description":"List every readable section of a computed chart, each with a short description.","operationId":"listSections","parameters":[{"in":"path","name":"chart_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Section catalogue."},"404":{"description":"Chart not found."}},"summary":"List a chart's sections","x-openai-isConsequential":false}}},"security":[{"ApiKeyAuth":[]}],"servers":[{"url":"https://eternalevals.com"}]}
