{"openapi":"3.1.0","info":{"title":"Astro AI API","description":"Astro AI native /v1 API. Local development is open by default; set ASTRO_AI_API_KEYS to require Authorization: Bearer or x-api-key authentication.","version":"0.1.0"},"paths":{"/v1/charts":{"post":{"summary":"Create Chart","operationId":"post_charts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChartResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ChartResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Charts"],"x-astro-ai-surface":"Charts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ChartResponse"}},"/v1/charts/divisions/{division}":{"post":{"summary":"Create Divisional Chart","operationId":"post_charts_divisions_by_division","parameters":[{"name":"division","in":"path","required":true,"schema":{"type":"integer","title":"Division"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DivisionalChartResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DivisionalChartResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Charts"],"x-astro-ai-surface":"Charts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DivisionalChartResponse"}},"/v1/panchang/day":{"post":{"summary":"Panchang Day","operationId":"post_panchang_day","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PanchangResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Panchang"],"x-astro-ai-surface":"Panchang","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PanchangResponse"}},"/v1/muhurta/windows":{"post":{"summary":"Muhurta Windows Route","operationId":"post_muhurta_windows","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuhurtaWindowsResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MuhurtaWindowsResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Muhurta"],"x-astro-ai-surface":"Muhurta","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MuhurtaWindowsResponse"}},"/v1/dashas/vimshottari":{"post":{"summary":"Vimshottari Dasha","operationId":"post_dashas_vimshottari","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VimshottariResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Dashas"],"x-astro-ai-surface":"Dashas","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariResponse"}},"/v1/dashas/vimshottari/timeline":{"post":{"summary":"Vimshottari Timeline","operationId":"post_dashas_vimshottari_timeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashaTimelineRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"levels":2,"scan_years":10}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VimshottariTimelineResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariTimelineResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Dashas"],"x-astro-ai-surface":"Dashas","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariTimelineResponse"}},"/v1/dashas/vimshottari/active":{"post":{"summary":"Active Vimshottari Dasha","operationId":"post_dashas_vimshottari_active","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashaActiveRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"check_time":"2026-05-22T12:00:00+00:00","levels":2}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VimshottariActiveResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariActiveResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Dashas"],"x-astro-ai-surface":"Dashas","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariActiveResponse"}},"/v1/dashas/chara/active":{"post":{"summary":"Active Chara Dasha","operationId":"post_dashas_chara_active","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharaDashaActiveRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"check_time":"2026-05-22T12:00:00+00:00","levels":2}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CharaDashaActiveResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CharaDashaActiveResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Dashas"],"x-astro-ai-surface":"Dashas","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CharaDashaActiveResponse"}},"/v1/life-timeline":{"post":{"summary":"Life Timeline Route","operationId":"post_life_timeline","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifeTimelineRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"time_preset":"age18to21","dasha_levels":2,"include_ashtakavarga":true,"include_event_windows":true,"event_tags":["Travel","Building"],"event_precision_hours":168,"event_limit":8}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifeTimelineResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/LifeTimelineResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Life Timeline"],"x-astro-ai-surface":"Life Timeline","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/LifeTimelineResponse"}},"/v1/reports/chart":{"post":{"summary":"Chart Report Route","operationId":"post_reports_chart","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChartReportRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"include_sections":["chart_orientation","timing_context","strength_context"],"detail_level":"brief","include_source_payloads":false}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChartReportResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ChartReportResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Reports"],"x-astro-ai-surface":"Reports","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ChartReportResponse"}},"/v1/good-time-finder":{"post":{"summary":"Good Time Finder Route","operationId":"post_good_time_finder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoodTimeFinderRequest"},"example":{"start":{"year":1998,"month":5,"date":20,"hours":8,"minutes":0,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"end":{"year":1998,"month":5,"date":20,"hours":20,"minutes":0,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"task":"business launch","preferred_window_minutes":60,"top_k":5,"include_classical_citations":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoodTimeFinderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/GoodTimeFinderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Good Time Finder"],"x-astro-ai-surface":"Good Time Finder","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/GoodTimeFinderResponse"}},"/v1/birth-time-finder":{"post":{"summary":"Birth Time Finder Route","operationId":"post_birth_time_finder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeFinderRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"target_ascendant":"Virgo","target_house":1,"precision_minutes":30,"top_k":5,"include_evidence_scans":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeFinderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeFinderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Birth Time Finder"],"x-astro-ai-surface":"Birth Time Finder","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeFinderResponse"}},"/v1/timezones/offset":{"post":{"summary":"Timezone Offset Route","operationId":"post_timezones_offset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimezoneOffsetInput"},"example":{"year":2026,"month":5,"date":22,"hours":12,"minutes":0,"latitude":13.0827,"longitude":80.2707}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimezoneOffsetResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TimezoneOffsetResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Geo & Time"],"x-astro-ai-surface":"Geo & Time","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TimezoneOffsetResponse"}},"/v1/geo/resolve":{"post":{"summary":"Geo Resolve","operationId":"post_geo_resolve","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoResolveInput"},"example":{"latitude":13.0827,"longitude":80.2707}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoResolveResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/GeoResolveResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Geo & Time"],"x-astro-ai-surface":"Geo & Time","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/GeoResolveResponse"}},"/v1/geo/search":{"post":{"summary":"Geo Search","operationId":"post_geo_search","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoSearchInput"},"example":{"address":"Chennai, India","limit":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoSearchResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/GeoSearchResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Geo & Time"],"x-astro-ai-surface":"Geo & Time","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/GeoSearchResponse"}},"/v1/geo/ip":{"post":{"summary":"Geo Ip","operationId":"post_geo_ip","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpGeoResolveInput"},"example":{"ip_address":"8.8.8.8"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpGeoResolveResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/IpGeoResolveResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Geo & Time"],"x-astro-ai-surface":"Geo & Time","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/IpGeoResolveResponse"}},"/v1/geo/standard-time-now":{"post":{"summary":"Geo Standard Time Now","operationId":"post_geo_standard_time_now","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardTimeAtLocationInput"},"example":{"location_name":"Chennai, India"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardTimeAtLocationResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/StandardTimeAtLocationResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Geo & Time"],"x-astro-ai-surface":"Geo & Time","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/StandardTimeAtLocationResponse"}},"/v1/search/calculators":{"post":{"summary":"Search Calculators Route","operationId":"post_search_calculators","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"},"example":{"query":"moon nakshatra","limit":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Search"],"x-astro-ai-surface":"Search","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}},"/v1/search/vedastro":{"post":{"summary":"Search Vedastro Reference Route","operationId":"post_search_vedastro","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"},"example":{"query":"Chapter10Predictions","limit":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Search"],"x-astro-ai-surface":"Search","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}},"/v1/search/docs":{"post":{"summary":"Search Docs Route","operationId":"post_search_docs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"},"example":{"query":"typed calculator registry","limit":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResultsResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Search"],"x-astro-ai-surface":"Search","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"}},"/v1/search/context":{"post":{"summary":"Search Context Route","operationId":"post_search_context","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"},"example":{"query":"travel event","limit":3}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AstrologyContextSearchResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AstrologyContextSearchResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Search"],"x-astro-ai-surface":"Search","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AstrologyContextSearchResponse"}},"/v1/classical-texts":{"get":{"summary":"Classical Text Catalog Route","operationId":"get_classical_texts","responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextCatalogResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextCatalogResponse"}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Classical Texts"],"x-astro-ai-surface":"Classical Texts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextCatalogResponse"}},"/v1/classical-texts/{text_id}":{"get":{"summary":"Classical Text Detail Route","operationId":"get_classical_texts_by_text_id","parameters":[{"name":"text_id","in":"path","required":true,"schema":{"type":"string","title":"Text Id"}},{"name":"include_passages","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Passages"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextDetailResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextDetailResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Classical Texts"],"x-astro-ai-surface":"Classical Texts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextDetailResponse"}},"/v1/classical-texts/{text_id}/chapters":{"get":{"summary":"Classical Text Chapters Route","operationId":"get_classical_texts_by_text_id_chapters","parameters":[{"name":"text_id","in":"path","required":true,"schema":{"type":"string","title":"Text Id"}},{"name":"include_passages","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Passages"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextChaptersResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextChaptersResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Classical Texts"],"x-astro-ai-surface":"Classical Texts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextChaptersResponse"}},"/v1/classical-texts/search":{"post":{"summary":"Classical Text Search Route","operationId":"post_classical_texts_search","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextSearchRequest"},"example":{"query":"muhurta tithi nakshatra good time","limit":5,"topics":["muhurta"]}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextSearchResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextSearchResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Classical Texts"],"x-astro-ai-surface":"Classical Texts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextSearchResponse"}},"/v1/classical-texts/answer":{"post":{"summary":"Classical Text Answer Route","operationId":"post_classical_texts_answer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextAnswerRequest"},"example":{"query":"How should Good Time Finder use panchang factors?","max_citations":4}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassicalTextAnswerResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextAnswerResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Classical Texts"],"x-astro-ai-surface":"Classical Texts","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextAnswerResponse"}},"/v1/teacher/answer":{"post":{"summary":"Teacher Answer Route","operationId":"post_teacher_answer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherAnswerRequest"},"example":{"question":"How should I understand my Moon nakshatra and current timing?","birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"max_citations":4,"topics":["chart","dashas"],"include_chart_context":true,"include_classical_context":true,"detail_level":"brief"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherAnswerResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TeacherAnswerResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Teacher"],"x-astro-ai-surface":"Teacher","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TeacherAnswerResponse"}},"/v1/teacher/lesson-plan":{"post":{"summary":"Teacher Lesson Plan Route","operationId":"post_teacher_lesson_plan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherLessonPlanRequest"},"example":{"topic":"Moon nakshatra and current timing","birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"lesson_count":4,"max_citations":4,"topics":["chart","dashas"],"goal":"understand_chart"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherLessonPlanResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TeacherLessonPlanResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Teacher"],"x-astro-ai-surface":"Teacher","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TeacherLessonPlanResponse"}},"/v1/rectification/rising-sign":{"post":{"summary":"Rising Sign Rectification Route","operationId":"post_rectification_rising_sign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RisingSignRectificationRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"target_ascendant":"Virgo","precision_minutes":60}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RisingSignRectificationResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/RisingSignRectificationResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rectification"],"x-astro-ai-surface":"Rectification","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/RisingSignRectificationResponse"}},"/v1/rectification/house-strength":{"post":{"summary":"House Strength Rectification Route","operationId":"post_rectification_house_strength","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HouseStrengthRectificationRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"target_house":1,"precision_minutes":120}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HouseStrengthRectificationResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/HouseStrengthRectificationResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rectification"],"x-astro-ai-surface":"Rectification","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/HouseStrengthRectificationResponse"}},"/v1/rectification/yoni-animal":{"post":{"summary":"Birth Time By Animal Rectification Route","operationId":"post_rectification_yoni_animal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeByAnimalRequest"},"example":{"possible_birth_time":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"precision_hours":6,"target_animal":"Horse"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/YoniAnimalRectificationResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/YoniAnimalRectificationResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rectification"],"x-astro-ai-surface":"Rectification","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/YoniAnimalRectificationResponse"}},"/v1/autofill/birth-location":{"post":{"summary":"Autofill Birth Location","operationId":"post_autofill_birth_location","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthLocationAutoFillRequest"},"example":{"address":"Chennai, India","limit":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthLocationAutofillResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BirthLocationAutofillResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Autofill"],"x-astro-ai-surface":"Autofill","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BirthLocationAutofillResponse"}},"/v1/autofill/birth-time":{"post":{"summary":"Autofill Birth Time","operationId":"post_autofill_birth_time","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeAutoFillRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"target_ascendant":"Virgo","precision_minutes":60,"top_k":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeAutofillResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeAutofillResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Autofill"],"x-astro-ai-surface":"Autofill","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeAutofillResponse"}},"/v1/autofill/birth-time-location":{"post":{"summary":"Autofill Birth Time Location","operationId":"post_autofill_birth_time_location","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeLocationAutoFillRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"address":"Chennai, India","target_ascendant":"Virgo","precision_minutes":60,"top_k":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthTimeLocationAutofillResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeLocationAutofillResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Autofill"],"x-astro-ai-surface":"Autofill","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeLocationAutofillResponse"}},"/v1/autofill/marriage-partner-name":{"post":{"summary":"Autofill Marriage Partner Name","operationId":"post_autofill_marriage_partner_name","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriagePartnerNameAutoFillRequest"},"example":{"description":"marriage partner name","number_of_names":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriagePartnerNameAutofillResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MarriagePartnerNameAutofillResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Autofill"],"x-astro-ai-surface":"Autofill","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MarriagePartnerNameAutofillResponse"}},"/v1/autofill/marriage-tags":{"post":{"summary":"Autofill Marriage Tags","operationId":"post_autofill_marriage_tags","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriageTagsAutoFillRequest"},"example":{"male":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"female":{"year":1998,"month":6,"date":18,"hours":9,"minutes":10,"seconds":0,"latitude":12.9716,"longitude":77.5946,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"limit":12}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarriageTagsAutofillResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MarriageTagsAutofillResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Autofill"],"x-astro-ai-surface":"Autofill","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MarriageTagsAutofillResponse"}},"/v1/compatibility/ashtakoot":{"post":{"summary":"Compatibility Ashtakoot","operationId":"post_compatibility_ashtakoot","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AshtakootRequest"},"example":{"male":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"female":{"year":1998,"month":6,"date":18,"hours":9,"minutes":10,"seconds":0,"latitude":12.9716,"longitude":77.5946,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AshtakootReportResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AshtakootReportResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Compatibility"],"x-astro-ai-surface":"Compatibility","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AshtakootReportResponse"}},"/v1/compatibility/match-chat":{"post":{"summary":"Compatibility Match Chat","operationId":"post_compatibility_match_chat","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchChatRequest"},"example":{"male":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"female":{"year":1998,"month":6,"date":18,"hours":9,"minutes":10,"seconds":0,"latitude":12.9716,"longitude":77.5946,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"user_question":"Which compatibility factors need attention?","include_facts":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchChatProductResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MatchChatProductResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Compatibility"],"x-astro-ai-surface":"Compatibility","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MatchChatProductResponse"}},"/v1/external/bazi/horoscope-predictions":{"post":{"summary":"External Bazi Horoscope Predictions","operationId":"post_external_bazi_horoscope_predictions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziHoroscopePredictionsRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"sort_by_weight":false}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziProviderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BaziProviderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["External Providers"],"x-astro-ai-surface":"External Providers","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BaziProviderResponse"}},"/v1/external/bazi/match-report":{"post":{"summary":"External Bazi Match Report","operationId":"post_external_bazi_match_report","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziMatchReportRequest"},"example":{"male":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"female":{"year":1998,"month":6,"date":18,"hours":9,"minutes":10,"seconds":0,"latitude":12.9716,"longitude":77.5946,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaziProviderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/BaziProviderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["External Providers"],"x-astro-ai-surface":"External Providers","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/BaziProviderResponse"}},"/v1/external/vedastro/chapter-predictions":{"post":{"summary":"External Vedastro Chapter Predictions","operationId":"post_external_vedastro_chapter_predictions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VedAstroChapterPredictionOracleRequest"},"example":{"vedastro_name":"Chapter10Predictions","upstream_payload":{"time":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}},"include_provenance":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VedAstroChapterPredictionOracleResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroChapterPredictionOracleResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["External Providers"],"x-astro-ai-surface":"External Providers","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroChapterPredictionOracleResponse"}},"/v1/strength/shadbala":{"post":{"summary":"Strength Shadbala","operationId":"post_strength_shadbala","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShadbalaReportRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"planet":"Sun","include_detail":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShadbalaReportResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ShadbalaReportResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Strength"],"x-astro-ai-surface":"Strength","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ShadbalaReportResponse"}},"/v1/ashtakavarga":{"post":{"summary":"Ashtakavarga Report","operationId":"post_ashtakavarga","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AshtakavargaReportRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"include_reductions":true,"include_life_map":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AshtakavargaReportResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AshtakavargaReportResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Ashtakavarga"],"x-astro-ai-surface":"Ashtakavarga","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AshtakavargaReportResponse"}},"/v1/time-ranges/resolve":{"post":{"summary":"Resolve Time Range","operationId":"post_time_ranges_resolve","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangePresetRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"preset":"age1to3"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangeResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Time Ranges"],"x-astro-ai-surface":"Time Ranges","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeResponse"}},"/v1/time-ranges/days":{"post":{"summary":"Days Between Time Range","operationId":"post_time_ranges_days","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangePresetRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"preset":"3weeks"}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeRangeDaysResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeDaysResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Time Ranges"],"x-astro-ai-surface":"Time Ranges","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeDaysResponse"}},"/v1/time-ranges/csv":{"post":{"summary":"Time List Csv","operationId":"post_time_ranges_csv","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateTimeListRequest"},"example":{"start":{"year":1998,"month":5,"date":20,"hours":8,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"end":{"year":1998,"month":5,"date":20,"hours":18,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"hours_between":2}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeListCsvResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/TimeListCsvResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Time Ranges"],"x-astro-ai-surface":"Time Ranges","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/TimeListCsvResponse"}},"/v1/names/generate":{"post":{"summary":"Generate Names","operationId":"post_names_generate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameGenerationRequest"},"example":{"description":"traditional Tamil name with a calm devotional tone","number_of_names":5}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NameGenerationResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/NameGenerationResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Names"],"x-astro-ai-surface":"Names","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/NameGenerationResponse"}},"/v1/render/chart":{"post":{"summary":"Render Chart","operationId":"post_render_chart","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChartSvgRenderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ChartSvgRenderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rendering"],"x-astro-ai-surface":"Rendering","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ChartSvgRenderResponse"}},"/v1/render/kundali":{"post":{"summary":"Render Kundali","operationId":"post_render_kundali","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRenderRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"style":"south_indian","division":1}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRenderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/KundaliRenderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rendering"],"x-astro-ai-surface":"Rendering","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/KundaliRenderResponse"}},"/v1/render/sky-chart":{"post":{"summary":"Render Sky Chart","operationId":"post_render_sky_chart","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkyChartRenderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SkyChartRenderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Rendering"],"x-astro-ai-surface":"Rendering","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SkyChartRenderResponse"}},"/v1/readings/facts":{"post":{"summary":"Reading Facts","operationId":"post_readings_facts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadingFactsResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReadingFactsResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Readings"],"x-astro-ai-surface":"Readings","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReadingFactsResponse"}},"/v1/readings/summary":{"post":{"summary":"Reading Summary","operationId":"post_readings_summary","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadingSummaryResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReadingSummaryResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Readings"],"x-astro-ai-surface":"Readings","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReadingSummaryResponse"}},"/v1/people":{"post":{"summary":"Create Person Route","operationId":"post_people","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonCreateRequest"},"example":{"name":"Example Native","birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"tags":["example","client"],"notes":"Created from the API reference example."}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"},"get":{"summary":"List People Route","operationId":"get_people","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonListResponse"}},"/v1/workbench/dashboard":{"get":{"summary":"Get Workbench Dashboard Route","operationId":"get_workbench_dashboard","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":10,"title":"Limit"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkbenchDashboardResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/WorkbenchDashboardResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/WorkbenchDashboardResponse"}},"/v1/hermes/astro/setup":{"get":{"summary":"Get Hermes Astro Setup Route","operationId":"get_hermes_astro_setup","parameters":[{"name":"astro_base_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Astro Base Url"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HermesAstroProfileSetupResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/HermesAstroProfileSetupResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Hermes Astro"],"x-astro-ai-surface":"Hermes Astro","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/HermesAstroProfileSetupResponse"}},"/v1/hermes/astro/chat":{"post":{"summary":"Create Hermes Astro Chat Route","operationId":"post_hermes_astro_chat","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AstroChatRequest"},"example":{"message":"Explain the chart using source-backed components.","person_id":"person_example","client_session_id":"session_example","mode":"reading","include_visual_context":true}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AstroChatResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AstroChatResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Hermes Astro"],"x-astro-ai-surface":"Hermes Astro","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AstroChatResponse"}},"/v1/people/{person_id}":{"get":{"summary":"Get Person Route","operationId":"get_people_by_person_id","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"},"patch":{"summary":"Update Person Route","operationId":"patch_people_by_person_id","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonUpdateRequest"},"example":{"name":"Updated Example Native","tags":["example","updated"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"},"delete":{"summary":"Delete Person Route","operationId":"delete_people_by_person_id","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/people/{person_id}/context":{"get":{"summary":"Get Person Context Route","operationId":"get_people_by_person_id_context","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonContextResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonContextResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonContextResponse"}},"/v1/people/{person_id}/client-brief":{"get":{"summary":"Get Person Client Brief Route","operationId":"get_people_by_person_id_client_brief","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonClientBriefResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonClientBriefResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonClientBriefResponse"}},"/v1/people/{person_id}/consultation-packet":{"get":{"summary":"Get Person Consultation Packet Route","operationId":"get_people_by_person_id_consultation_packet","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonConsultationPacketResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonConsultationPacketResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonConsultationPacketResponse"}},"/v1/people/{person_id}/timeline":{"get":{"summary":"Get Person Timeline Route","operationId":"get_people_by_person_id_timeline","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"time_preset","in":"query","required":false,"schema":{"type":"string","default":"age18to21","title":"Time Preset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonTimelineResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonTimelineResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonTimelineResponse"}},"/v1/people/{person_id}/journal-review":{"get":{"summary":"Get Person Journal Review Route","operationId":"get_people_by_person_id_journal_review","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"time_preset","in":"query","required":false,"schema":{"type":"string","default":"age18to21","title":"Time Preset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"event_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Tag"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonJournalReviewResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalReviewResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalReviewResponse"}},"/v1/people/{person_id}/journal-questionnaire":{"get":{"summary":"Get Person Journal Questionnaire Route","operationId":"get_people_by_person_id_journal_questionnaire","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"string","title":"Person Id"}},{"name":"time_preset","in":"query","required":false,"schema":{"type":"string","default":"age18to21","title":"Time Preset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"event_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Tag"}},{"name":"include_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonJournalQuestionnaireResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalQuestionnaireResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalQuestionnaireResponse"}},"/v1/calculation-runs":{"post":{"summary":"Create Calculation Run Route","operationId":"post_calculation_runs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationRunCreateRequest"},"example":{"person_id":"person_example","calculation":"reading_summary","title":"Initial fact-traced reading"}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationRunResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunResponse"},"get":{"summary":"List Calculation Runs Route","operationId":"get_calculation_runs","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationRunListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunListResponse"}},"/v1/calculation-runs/{run_id}":{"get":{"summary":"Get Calculation Run Route","operationId":"get_calculation_runs_by_run_id","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationRunResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunResponse"}},"/v1/library-items":{"post":{"summary":"Create Library Item Route","operationId":"post_library_items","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryItemCreateRequest"},"example":{"kind":"note","title":"Saved onboarding note","payload":{"summary":"Keep this with the client profile."},"tags":["onboarding"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryItemResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemResponse"},"get":{"summary":"List Library Items Route","operationId":"get_library_items","parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["chart_report","client_brief","consultation_packet","life_timeline","journal_review","journal_questionnaire","match_report","good_time_window","birth_time_candidate","teacher_answer","teacher_lesson_plan","note"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryItemListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemListResponse"}},"/v1/library-items/{item_id}":{"get":{"summary":"Get Library Item Route","operationId":"get_library_items_by_item_id","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LibraryItemResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemResponse"},"delete":{"summary":"Delete Library Item Route","operationId":"delete_library_items_by_item_id","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/questionnaire-responses":{"post":{"summary":"Create Questionnaire Response Route","operationId":"post_questionnaire_responses","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionnaireResponseCreateRequest"},"example":{"person_id":"person_example","title":"Answered birth-time review questionnaire","source_library_item_id":"item_questionnaire_example","time_preset":"age18to21","event_tag":"relocation","answers":[{"question_id":"target_signal","answer":"target_ascendant","confidence":"high"},{"question_id":"target_ascendant_value","answer":"Virgo","confidence":"medium"},{"question_id":"birth_time_uncertainty","answer":"within 30 minutes","confidence":"medium"}]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionnaireResponseResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseResponse"},"get":{"summary":"List Questionnaire Responses Route","operationId":"get_questionnaire_responses","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionnaireResponseListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseListResponse"}},"/v1/questionnaire-responses/{response_id}":{"get":{"summary":"Get Questionnaire Response Route","operationId":"get_questionnaire_responses_by_response_id","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionnaireResponseResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseResponse"},"delete":{"summary":"Delete Questionnaire Response Route","operationId":"delete_questionnaire_responses_by_response_id","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/questionnaire-responses/{response_id}/birth-time-review":{"get":{"summary":"Get Questionnaire Birth Time Review Route","operationId":"get_questionnaire_responses_by_response_id_birth_time_review","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}},{"name":"precision_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":240,"minimum":5,"default":30,"title":"Precision Minutes"}},{"name":"top_k","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Top K"}},{"name":"include_evidence_scans","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Evidence Scans"}},{"name":"include_source_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Source Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionnaireBirthTimeReviewResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireBirthTimeReviewResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireBirthTimeReviewResponse"}},"/v1/journal-events":{"post":{"summary":"Create Journal Event Route","operationId":"post_journal_events","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventCreateRequest"},"example":{"person_id":"person_example","title":"Moved to a new city","happened_at":"2026-05-31T09:00:00+05:30","event_tags":["relocation","career"],"notes":"Useful context for timeline and rectification review."}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"},"get":{"summary":"List Journal Events Route","operationId":"get_journal_events","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"event_tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Tag"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventListResponse"}},"/v1/journal-events/{event_id}":{"get":{"summary":"Get Journal Event Route","operationId":"get_journal_events_by_event_id","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"},"patch":{"summary":"Update Journal Event Route","operationId":"patch_journal_events_by_event_id","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventUpdateRequest"},"example":{"event_id":"event_example"}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEventResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"},"delete":{"summary":"Delete Journal Event Route","operationId":"delete_journal_events_by_event_id","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/reminders":{"post":{"summary":"Create Reminder Route","operationId":"post_reminders","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderCreateRequest"},"example":{"title":"Review journal follow-up","due_at":"2026-06-07T09:00:00+05:30","person_id":"person_example","kind":"journal_review","source_type":"journal_event","source_id":"event_example","tags":["follow-up","journal"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"},"get":{"summary":"List Reminders Route","operationId":"get_reminders","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderListResponse"}},"/v1/reminders/{reminder_id}":{"get":{"summary":"Get Reminder Route","operationId":"get_reminders_by_reminder_id","parameters":[{"name":"reminder_id","in":"path","required":true,"schema":{"type":"string","title":"Reminder Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"},"patch":{"summary":"Update Reminder Route","operationId":"patch_reminders_by_reminder_id","parameters":[{"name":"reminder_id","in":"path","required":true,"schema":{"type":"string","title":"Reminder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderUpdateRequest"},"example":{"reminder_id":"reminder_example"}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"},"delete":{"summary":"Delete Reminder Route","operationId":"delete_reminders_by_reminder_id","parameters":[{"name":"reminder_id","in":"path","required":true,"schema":{"type":"string","title":"Reminder Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/client-sessions":{"post":{"summary":"Create Client Session Route","operationId":"post_client_sessions","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionCreateRequest"},"example":{"title":"Moon nakshatra onboarding","person_id":"person_...","mode":"teacher","initial_message":"Help me understand my Moon nakshatra and current timing.","tags":["workbench","teacher"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"},"get":{"summary":"List Client Sessions Route","operationId":"get_client_sessions","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionListResponse"}},"/v1/client-sessions/{session_id}":{"get":{"summary":"Get Client Session Route","operationId":"get_client_sessions_by_session_id","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"},"patch":{"summary":"Update Client Session Route","operationId":"patch_client_sessions_by_session_id","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionUpdateRequest"},"example":{"input":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"},"delete":{"summary":"Delete Client Session Route","operationId":"delete_client_sessions_by_session_id","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/client-sessions/{session_id}/messages":{"post":{"summary":"Add Client Session Message Route","operationId":"post_client_sessions_by_session_id_messages","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionMessageCreateRequest"},"example":{"role":"assistant","content":"Saved the Teacher lesson plan and linked it to this session.","source_type":"library_item","source_id":"item_..."}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSessionMessageResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionMessageResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionMessageResponse"}},"/v1/attachments":{"post":{"summary":"Create Attachment Route","operationId":"post_attachments","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentCreateRequest"},"example":{"title":"Client intake notes","kind":"document","person_id":"person_...","source_type":"client_session","source_id":"session_...","file_name":"intake-notes.pdf","media_type":"application/pdf","summary":"Client supplied context for later journal and Teacher workflows.","tags":["intake","source"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"},"get":{"summary":"List Attachments Route","operationId":"get_attachments","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["document","image","audio","video","url","note","transcript","other"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"source_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["person","client_session","client_session_message","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"],"type":"string"},{"type":"null"}],"title":"Source Type"}},{"name":"source_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentListResponse"}},"/v1/attachments/{attachment_id}":{"get":{"summary":"Get Attachment Route","operationId":"get_attachments_by_attachment_id","parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"},"patch":{"summary":"Update Attachment Route","operationId":"patch_attachments_by_attachment_id","parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentUpdateRequest"},"example":{"title":"Updated intake notes","summary":"Reviewed client supplied context.","tags":["intake","reviewed"]}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"},"delete":{"summary":"Delete Attachment Route","operationId":"delete_attachments_by_attachment_id","parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/match-runs":{"post":{"summary":"Create Match Run Route","operationId":"post_match_runs","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRunCreateRequest"},"example":{"male_person_id":"person_male_example","female_person_id":"person_female_example","title":"Compatibility review","user_question":"Which compatibility facts need attention?","include_facts":true}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRunResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunResponse"},"get":{"summary":"List Match Runs Route","operationId":"get_match_runs","parameters":[{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRunListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunListResponse"}},"/v1/match-runs/{match_id}":{"get":{"summary":"Get Match Run Route","operationId":"get_match_runs_by_match_id","parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRunResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunResponse"},"delete":{"summary":"Delete Match Run Route","operationId":"delete_match_runs_by_match_id","parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedObjectResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"}},"/v1/match-runs/{match_id}/report":{"get":{"summary":"Get Match Run Report Route","operationId":"get_match_runs_by_match_id_report","parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}},{"name":"include_source_payloads","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Source Payloads"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRunReportResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunReportResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Product State"],"x-astro-ai-surface":"Product State","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunReportResponse"}},"/v1/predictions/provenance":{"get":{"summary":"Prediction Provenance","operationId":"get_predictions_provenance","parameters":[{"name":"vedastro_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vedastro Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"include_corpus_summary","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Corpus Summary"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionProvenanceCatalogResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PredictionProvenanceCatalogResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Predictions"],"x-astro-ai-surface":"Predictions","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PredictionProvenanceCatalogResponse"}},"/v1/predictions/gate":{"post":{"summary":"Prediction Gate","operationId":"post_predictions_gate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionGateRequest"},"example":{"vedastro_name":"Chapter10Predictions","input":{"time":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}},"include_corpus_summary":false}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionExecutionGateResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/PredictionExecutionGateResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Predictions"],"x-astro-ai-surface":"Predictions","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/PredictionExecutionGateResponse"}},"/v1/predictions/horoscope-matches":{"post":{"summary":"Prediction Horoscope Matches","operationId":"post_predictions_horoscope_matches","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoroscopePredictionMatchesRequest"},"example":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}},"native_sex":"male","include_inactive_supported":false,"limit":25}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoroscopePredictionFactMatchesResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/HoroscopePredictionFactMatchesResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Predictions"],"x-astro-ai-surface":"Predictions","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/HoroscopePredictionFactMatchesResponse"}},"/v1/safety/rejections":{"get":{"summary":"Safety Rejections","operationId":"get_safety_rejections","parameters":[{"name":"clone_decision","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clone Decision"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VedAstroRejectionCatalogResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroRejectionCatalogResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Safety"],"x-astro-ai-surface":"Safety","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroRejectionCatalogResponse"}},"/v1/calculation-sets":{"get":{"summary":"List Calculation Sets","operationId":"get_calculation_sets","parameters":[{"name":"include_calculator_metadata","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Calculator Metadata"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationSetListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetListResponse"}},"/v1/calculation-sets/{set_id}":{"get":{"summary":"Get Calculation Set","operationId":"get_calculation_sets_by_set_id","parameters":[{"name":"set_id","in":"path","required":true,"schema":{"type":"string","title":"Set Id"}},{"name":"include_calculator_metadata","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Calculator Metadata"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationSetResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetResponse"}},"/v1/coverage/vedastro":{"get":{"summary":"Vedastro Coverage","operationId":"get_coverage_vedastro","parameters":[{"name":"implemented_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Implemented Only"}},{"name":"clone_decision","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clone Decision"}},{"name":"parity_state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parity State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":652,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VedAstroCoverageResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroCoverageResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Coverage"],"x-astro-ai-surface":"Coverage","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroCoverageResponse"}},"/v1/schemas":{"get":{"summary":"Schemas","operationId":"get_schemas","responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaCatalogResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SchemaCatalogResponse"}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SchemaCatalogResponse"}},"/v1/schemas/{schema_ref}":{"get":{"summary":"Schema","operationId":"get_schemas_by_schema_ref","parameters":[{"name":"schema_ref","in":"path","required":true,"schema":{"type":"string","title":"Schema Ref"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaDetailResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/SchemaDetailResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/SchemaDetailResponse"}},"/v1/calculation-sets/{set_id}:run":{"post":{"summary":"Run Calculation Set","operationId":"post_calculation_sets_by_set_id_run","parameters":[{"name":"set_id","in":"path","required":true,"schema":{"type":"string","title":"Set Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BirthInput"},"example":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationSetRunResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetRunResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetRunResponse"}},"/v1/calculators":{"get":{"summary":"Calculators","operationId":"get_calculators","parameters":[{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"}},{"name":"stability","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stability"}},{"name":"accuracy_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accuracy Status"}},{"name":"input_schema_ref","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Schema Ref"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","pattern":"^(asc|desc)$","default":"asc","title":"Order"}},{"name":"include_internal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Internal"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":250,"title":"Limit"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Return rows after this calculator id.","title":"After"},"description":"Return rows after this calculator id."}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorListResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorListResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorListResponse"}},"/v1/calculators/{calculator_id}/example":{"get":{"summary":"Calculator Example","operationId":"get_calculators_by_calculator_id_example","parameters":[{"name":"calculator_id","in":"path","required":true,"schema":{"type":"string","title":"Calculator Id"}},{"name":"include_internal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Internal"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorRunExampleResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorRunExampleResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorRunExampleResponse"}},"/v1/calculators/{calculator_id}":{"get":{"summary":"Calculator","operationId":"get_calculators_by_calculator_id","parameters":[{"name":"calculator_id","in":"path","required":true,"schema":{"type":"string","title":"Calculator Id"}},{"name":"include_internal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Internal"}}],"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorMetadataSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorMetadata"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorMetadata"}},"/v1/calculators/{calculator_id}:run":{"post":{"summary":"Run Calculator","operationId":"post_calculators_by_calculator_id_run","parameters":[{"name":"calculator_id","in":"path","required":true,"schema":{"type":"string","title":"Calculator Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorRunRequest"},"example":{"input":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}}}}}},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}]}},"/v1/calculators:batch":{"post":{"summary":"Run Calculator Batch","operationId":"post_calculators_batch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorBatchRequest"},"example":{"input":{"birth":{"year":1998,"month":5,"date":20,"hours":14,"minutes":25,"seconds":0,"latitude":13.0827,"longitude":80.2707,"timezone":5.5,"config":{"ayanamsa":"lahiri","observation_point":"topocentric"}}},"calculations":[{"id":"julian-day","calculator":"time.julian_day"},{"id":"planets","calculator":"chart.planets"}]}}},"required":true},"responses":{"200":{"description":"Successful Astro AI envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorBatchResponseSuccessEnvelope"},"example":{"data":{"object":"example"},"meta":{"request_id":"req_example","calculator_version":"current registry version","input":{"normalized":"request"},"warnings":[]}},"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorBatchResponse"}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"API key required or invalid when ASTRO_AI_API_KEYS is configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"unauthorized","message":"valid API key required","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}},"429":{"description":"Rate limit exceeded when ASTRO_AI_RATE_LIMIT_PER_MINUTE is configured.","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Configured request limit."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests left in this window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Unix epoch reset time."},"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until the client should retry."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"example":{"error":{"code":"rate_limit_exceeded","message":"rate limit exceeded","details":[],"request_id":"req_example"},"meta":{"request_id":"req_example","calculator_version":"2026-05-23","input":{},"warnings":[]}}}}}},"tags":["Calculator Registry"],"x-astro-ai-surface":"Calculator Registry","security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorBatchResponse"}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}}},"components":{"schemas":{"AshtakavargaReportRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"include_reductions":{"type":"boolean","title":"Include Reductions","default":true},"include_life_map":{"type":"boolean","title":"Include Life Map","default":true}},"additionalProperties":false,"type":"object","required":["birth"],"title":"AshtakavargaReportRequest"},"AshtakootRequest":{"properties":{"male":{"$ref":"#/components/schemas/BirthInput"},"female":{"$ref":"#/components/schemas/BirthInput"}},"additionalProperties":false,"type":"object","required":["male","female"],"title":"AshtakootRequest"},"AstroChatRequest":{"properties":{"message":{"type":"string","title":"Message"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"client_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Session Id"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"mode":{"type":"string","enum":["reading","teacher","good_time","birth_time","match","workbench","general"],"title":"Mode","default":"general"},"include_visual_context":{"type":"boolean","title":"Include Visual Context","default":true},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["message"],"title":"AstroChatRequest"},"AttachmentCreateRequest":{"properties":{"title":{"type":"string","title":"Title"},"kind":{"type":"string","enum":["document","image","audio","video","url","note","transcript","other"],"title":"Kind","default":"document"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"source_type":{"anyOf":[{"type":"string","enum":["person","client_session","client_session_message","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"]},{"type":"null"}],"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uri"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Type"},"size_bytes":{"anyOf":[{"type":"integer","maximum":500000000.0,"minimum":0.0},{"type":"null"}],"title":"Size Bytes"},"checksum_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checksum Sha256"},"content_text":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Content Text"},"summary":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Summary"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tags"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["title"],"title":"AttachmentCreateRequest"},"AttachmentUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"kind":{"anyOf":[{"type":"string","enum":["document","image","audio","video","url","note","transcript","other"]},{"type":"null"}],"title":"Kind"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"source_type":{"anyOf":[{"type":"string","enum":["person","client_session","client_session_message","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"]},{"type":"null"}],"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uri"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Type"},"size_bytes":{"anyOf":[{"type":"integer","maximum":500000000.0,"minimum":0.0},{"type":"null"}],"title":"Size Bytes"},"checksum_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checksum Sha256"},"content_text":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Content Text"},"summary":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Summary"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Tags"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"additionalProperties":false,"type":"object","title":"AttachmentUpdateRequest"},"BaziHoroscopePredictionsRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"sort_by_weight":{"type":"boolean","title":"Sort By Weight","default":true}},"additionalProperties":false,"type":"object","required":["birth"],"title":"BaziHoroscopePredictionsRequest"},"BaziMatchReportRequest":{"properties":{"male":{"$ref":"#/components/schemas/BirthInput"},"female":{"$ref":"#/components/schemas/BirthInput"}},"additionalProperties":false,"type":"object","required":["male","female"],"title":"BaziMatchReportRequest"},"BirthInput":{"properties":{"year":{"type":"integer","maximum":9999.0,"minimum":1.0,"title":"Year"},"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month"},"date":{"type":"integer","maximum":31.0,"minimum":1.0,"title":"Date"},"hours":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Hours"},"minutes":{"type":"integer","maximum":59.0,"minimum":0.0,"title":"Minutes"},"seconds":{"type":"integer","maximum":59.0,"minimum":0.0,"title":"Seconds","default":0},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"timezone":{"type":"number","maximum":14.0,"minimum":-14.0,"title":"Timezone","description":"Offset from UTC in decimal hours."},"config":{"$ref":"#/components/schemas/CalculationConfig"}},"additionalProperties":false,"type":"object","required":["year","month","date","hours","minutes","latitude","longitude","timezone"],"title":"BirthInput"},"BirthLocationAutoFillRequest":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"limit":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Limit","default":5}},"additionalProperties":false,"type":"object","title":"BirthLocationAutoFillRequest"},"BirthTimeAutoFillRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"target_ascendant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Ascendant"},"target_house":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Target House"},"target_animal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Animal"},"precision_minutes":{"type":"integer","maximum":240.0,"minimum":5.0,"title":"Precision Minutes","default":60},"top_k":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Top K","default":5}},"additionalProperties":false,"type":"object","required":["birth"],"title":"BirthTimeAutoFillRequest"},"BirthTimeByAnimalRequest":{"properties":{"possible_birth_time":{"$ref":"#/components/schemas/BirthInput"},"precision_hours":{"type":"number","maximum":6.0,"minimum":0.016666666666666666,"title":"Precision Hours","default":1.0},"target_animal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Animal"}},"additionalProperties":false,"type":"object","required":["possible_birth_time"],"title":"BirthTimeByAnimalRequest"},"BirthTimeFinderRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"target_ascendant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Ascendant"},"target_house":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Target House"},"target_animal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Animal"},"precision_minutes":{"type":"integer","maximum":240.0,"minimum":5.0,"title":"Precision Minutes","default":30},"top_k":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Top K","default":5},"include_evidence_scans":{"type":"boolean","title":"Include Evidence Scans","default":true}},"additionalProperties":false,"type":"object","required":["birth"],"title":"BirthTimeFinderRequest"},"BirthTimeLocationAutoFillRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"},"target_ascendant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Ascendant"},"target_house":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Target House"},"target_animal":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Animal"},"precision_minutes":{"type":"integer","maximum":240.0,"minimum":5.0,"title":"Precision Minutes","default":60},"top_k":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Top K","default":5},"location_limit":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Location Limit","default":5}},"additionalProperties":false,"type":"object","required":["birth"],"title":"BirthTimeLocationAutoFillRequest"},"CalculationConfig":{"properties":{"ayanamsa":{"type":"string","const":"lahiri","title":"Ayanamsa","default":"lahiri"},"observation_point":{"type":"string","enum":["geocentric","topocentric"],"title":"Observation Point","default":"topocentric"},"house_system":{"type":"string","const":"placidus","title":"House System","default":"placidus"}},"additionalProperties":false,"type":"object","title":"CalculationConfig"},"CalculationRunCreateRequest":{"properties":{"calculation":{"type":"string","enum":["chart","panchang_day","reading_facts","reading_summary","chart_report","good_time_finder","birth_time_finder"],"title":"Calculation"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"birth":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["calculation"],"title":"CalculationRunCreateRequest"},"CalculatorBatchItem":{"properties":{"id":{"type":"string","title":"Id"},"calculator":{"type":"string","title":"Calculator"},"input":{"additionalProperties":true,"type":"object","title":"Input"},"options":{"additionalProperties":true,"type":"object","title":"Options"}},"additionalProperties":false,"type":"object","required":["id","calculator"],"title":"CalculatorBatchItem"},"CalculatorBatchRequest":{"properties":{"input":{"additionalProperties":true,"type":"object","title":"Input"},"calculations":{"items":{"$ref":"#/components/schemas/CalculatorBatchItem"},"type":"array","maxItems":100,"minItems":1,"title":"Calculations"}},"additionalProperties":false,"type":"object","required":["calculations"],"title":"CalculatorBatchRequest"},"CalculatorRunRequest":{"properties":{"input":{"additionalProperties":true,"type":"object","title":"Input"},"options":{"additionalProperties":true,"type":"object","title":"Options"}},"additionalProperties":false,"type":"object","required":["input"],"title":"CalculatorRunRequest"},"CharaDashaActiveRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"check_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Check Time"},"levels":{"type":"integer","maximum":2.0,"minimum":1.0,"title":"Levels","default":2}},"additionalProperties":false,"type":"object","required":["birth"],"title":"CharaDashaActiveRequest"},"ChartReportRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"include_sections":{"items":{"type":"string","enum":["chart_orientation","timing_context","strength_context"]},"type":"array","maxItems":3,"minItems":1,"title":"Include Sections"},"detail_level":{"type":"string","enum":["brief","detailed"],"title":"Detail Level","default":"brief"},"include_source_payloads":{"type":"boolean","title":"Include Source Payloads","default":false}},"additionalProperties":false,"type":"object","required":["birth"],"title":"ChartReportRequest"},"ClassicalTextAnswerRequest":{"properties":{"query":{"type":"string","title":"Query"},"max_citations":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Max Citations","default":5},"text_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Text Ids"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"}},"additionalProperties":false,"type":"object","required":["query"],"title":"ClassicalTextAnswerRequest"},"ClassicalTextSearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"limit":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Limit","default":10},"text_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Text Ids"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"include_passage_text":{"type":"boolean","title":"Include Passage Text","default":true}},"additionalProperties":false,"type":"object","required":["query"],"title":"ClassicalTextSearchRequest"},"ClientSessionCreateRequest":{"properties":{"title":{"type":"string","title":"Title"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"mode":{"type":"string","enum":["onboarding","report","good_time","teacher","journal","match","birth_time","general"],"title":"Mode","default":"general"},"initial_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Initial Message"},"linked_library_item_ids":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Linked Library Item Ids"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tags"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["title"],"title":"ClientSessionCreateRequest"},"ClientSessionMessageCreateRequest":{"properties":{"role":{"type":"string","enum":["user","assistant","system","tool"],"title":"Role","default":"user"},"content":{"type":"string","title":"Content"},"source_type":{"anyOf":[{"type":"string","enum":["person","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"]},{"type":"null"}],"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["content"],"title":"ClientSessionMessageCreateRequest"},"ClientSessionUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"status":{"anyOf":[{"type":"string","enum":["open","archived"]},{"type":"null"}],"title":"Status"},"mode":{"anyOf":[{"type":"string","enum":["onboarding","report","good_time","teacher","journal","match","birth_time","general"]},{"type":"null"}],"title":"Mode"},"linked_library_item_ids":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Linked Library Item Ids"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Tags"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"additionalProperties":false,"type":"object","title":"ClientSessionUpdateRequest"},"DashaActiveRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"check_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Check Time"},"levels":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Levels","default":1}},"additionalProperties":false,"type":"object","required":["birth"],"title":"DashaActiveRequest"},"DashaTimelineRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"},"levels":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Levels","default":1},"scan_years":{"type":"integer","maximum":150.0,"minimum":1.0,"title":"Scan Years","default":120}},"additionalProperties":false,"type":"object","required":["birth"],"title":"DashaTimelineRequest"},"GenerateTimeListRequest":{"properties":{"start":{"$ref":"#/components/schemas/BirthInput"},"end":{"$ref":"#/components/schemas/BirthInput"},"hours_between":{"type":"number","maximum":8784.0,"minimum":0.016666666666666666,"title":"Hours Between"}},"additionalProperties":false,"type":"object","required":["start","end","hours_between"],"title":"GenerateTimeListRequest"},"GeoResolveInput":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude"}},"additionalProperties":false,"type":"object","title":"GeoResolveInput"},"GeoSearchInput":{"properties":{"address":{"type":"string","title":"Address"},"limit":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Limit","default":5}},"additionalProperties":false,"type":"object","required":["address"],"title":"GeoSearchInput"},"GoodTimeFinderRequest":{"properties":{"start":{"$ref":"#/components/schemas/BirthInput"},"end":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"task":{"type":"string","title":"Task","default":"general"},"preferred_window_minutes":{"type":"integer","maximum":240.0,"minimum":15.0,"title":"Preferred Window Minutes","default":60},"top_k":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Top K","default":5},"include_classical_citations":{"type":"boolean","title":"Include Classical Citations","default":true}},"additionalProperties":false,"type":"object","required":["start"],"title":"GoodTimeFinderRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HoroscopePredictionMatchesRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"native_sex":{"anyOf":[{"type":"string","enum":["male","female"]},{"type":"null"}],"title":"Native Sex"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"prediction_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Prediction Names"},"include_inactive_supported":{"type":"boolean","title":"Include Inactive Supported","default":false},"include_unsupported":{"type":"boolean","title":"Include Unsupported","default":false},"limit":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limit","default":50}},"additionalProperties":false,"type":"object","required":["birth"],"title":"HoroscopePredictionMatchesRequest"},"HouseStrengthRectificationRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"target_house":{"anyOf":[{"type":"integer","maximum":12.0,"minimum":1.0},{"type":"null"}],"title":"Target House"},"precision_minutes":{"type":"integer","maximum":240.0,"minimum":5.0,"title":"Precision Minutes","default":30}},"additionalProperties":false,"type":"object","required":["birth"],"title":"HouseStrengthRectificationRequest"},"IpGeoResolveInput":{"properties":{"ip_address":{"type":"string","title":"Ip Address"}},"additionalProperties":false,"type":"object","required":["ip_address"],"title":"IpGeoResolveInput"},"JournalEventCreateRequest":{"properties":{"person_id":{"type":"string","title":"Person Id"},"title":{"type":"string","title":"Title"},"happened_at":{"type":"string","title":"Happened At"},"event_tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Event Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"source_library_item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Library Item Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["person_id","title","happened_at"],"title":"JournalEventCreateRequest"},"JournalEventUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"happened_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Happened At"},"event_tags":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Event Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"source_library_item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Library Item Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"additionalProperties":false,"type":"object","title":"JournalEventUpdateRequest"},"KundaliRenderRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"style":{"type":"string","enum":["south_indian","north_indian"],"title":"Style","default":"south_indian"},"division":{"type":"integer","maximum":60.0,"minimum":1.0,"title":"Division","default":1}},"additionalProperties":false,"type":"object","required":["birth"],"title":"KundaliRenderRequest"},"LibraryItemCreateRequest":{"properties":{"kind":{"type":"string","enum":["chart_report","client_brief","consultation_packet","life_timeline","journal_review","journal_questionnaire","match_report","good_time_window","birth_time_candidate","teacher_answer","teacher_lesson_plan","note"],"title":"Kind"},"title":{"type":"string","title":"Title"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Id"},"starts_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ends At"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["kind","title"],"title":"LibraryItemCreateRequest"},"LifeTimelineRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"time_preset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Preset","description":"VedAstro-style preset such as age18to21, 3years, 1990-2000, or fulllife. Ignored when start/end are supplied.","default":"age18to21"},"start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"},"dasha_levels":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Dasha Levels","default":2},"scan_years":{"type":"integer","maximum":150.0,"minimum":1.0,"title":"Scan Years","default":80},"include_ashtakavarga":{"type":"boolean","title":"Include Ashtakavarga","default":true},"include_event_windows":{"type":"boolean","title":"Include Event Windows","default":true},"event_tags":{"items":{"type":"string"},"type":"array","maxItems":8,"title":"Event Tags"},"event_names":{"items":{"type":"string"},"type":"array","maxItems":12,"title":"Event Names"},"event_precision_hours":{"type":"number","maximum":720.0,"minimum":1.0,"title":"Event Precision Hours","default":168.0},"event_limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Event Limit","default":10}},"additionalProperties":false,"type":"object","required":["birth"],"title":"LifeTimelineRequest"},"MarriagePartnerNameAutoFillRequest":{"properties":{"description":{"type":"string","title":"Description","default":"marriage partner name"},"number_of_names":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Number Of Names","default":10},"exclude_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"},{"type":"null"}],"title":"Exclude Names"},"target_name_number":{"anyOf":[{"type":"integer","maximum":108.0,"minimum":1.0},{"type":"null"}],"title":"Target Name Number"}},"additionalProperties":false,"type":"object","title":"MarriagePartnerNameAutoFillRequest"},"MarriageTagsAutoFillRequest":{"properties":{"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"male":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"female":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"limit":{"type":"integer","maximum":30.0,"minimum":1.0,"title":"Limit","default":12}},"additionalProperties":false,"type":"object","title":"MarriageTagsAutoFillRequest"},"MatchChatRequest":{"properties":{"male":{"$ref":"#/components/schemas/BirthInput"},"female":{"$ref":"#/components/schemas/BirthInput"},"user_question":{"type":"string","title":"User Question"},"chat_session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chat Session"},"include_facts":{"type":"boolean","title":"Include Facts","default":true}},"additionalProperties":false,"type":"object","required":["male","female","user_question"],"title":"MatchChatRequest"},"MatchRunCreateRequest":{"properties":{"male_person_id":{"type":"string","title":"Male Person Id"},"female_person_id":{"type":"string","title":"Female Person Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"user_question":{"type":"string","title":"User Question","default":"Which compatibility facts need attention?"},"include_facts":{"type":"boolean","title":"Include Facts","default":true},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["male_person_id","female_person_id"],"title":"MatchRunCreateRequest"},"NameGenerationRequest":{"properties":{"description":{"type":"string","title":"Description"},"number_of_names":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Number Of Names","default":10},"exclude_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"string"},{"type":"null"}],"title":"Exclude Names"},"target_name_number":{"anyOf":[{"type":"integer","maximum":108.0,"minimum":1.0},{"type":"null"}],"title":"Target Name Number"}},"additionalProperties":false,"type":"object","required":["description"],"title":"NameGenerationRequest"},"PersonCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"birth":{"$ref":"#/components/schemas/BirthInput"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["name","birth"],"title":"PersonCreateRequest"},"PersonUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"birth":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"additionalProperties":false,"type":"object","title":"PersonUpdateRequest"},"PredictionGateRequest":{"properties":{"vedastro_name":{"type":"string","title":"Vedastro Name"},"input":{"additionalProperties":true,"type":"object","title":"Input"},"include_corpus_summary":{"type":"boolean","title":"Include Corpus Summary","default":false}},"additionalProperties":false,"type":"object","required":["vedastro_name"],"title":"PredictionGateRequest"},"QuestionnaireAnswerInput":{"properties":{"question_id":{"type":"string","title":"Question Id"},"answer":{"title":"Answer"},"confidence":{"type":"string","enum":["low","medium","high"],"title":"Confidence","default":"medium"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"additionalProperties":false,"type":"object","required":["question_id","answer"],"title":"QuestionnaireAnswerInput"},"QuestionnaireResponseCreateRequest":{"properties":{"person_id":{"type":"string","title":"Person Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"source_library_item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Library Item Id"},"time_preset":{"type":"string","title":"Time Preset","default":"age18to21"},"event_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Tag"},"status":{"type":"string","enum":["draft","submitted","reviewed"],"title":"Status","default":"submitted"},"answers":{"items":{"$ref":"#/components/schemas/QuestionnaireAnswerInput"},"type":"array","maxItems":200,"minItems":1,"title":"Answers"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["person_id","answers"],"title":"QuestionnaireResponseCreateRequest"},"ReminderCreateRequest":{"properties":{"title":{"type":"string","title":"Title"},"due_at":{"type":"string","title":"Due At"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"kind":{"type":"string","enum":["follow_up","journal_review","good_time_window","birth_time_review","match_review","teacher_follow_up","custom"],"title":"Kind","default":"follow_up"},"status":{"type":"string","enum":["open","done","cancelled"],"title":"Status","default":"open"},"source_type":{"anyOf":[{"type":"string","enum":["person","journal_event","library_item","match_run","calculation_run","custom"]},{"type":"null"}],"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"additionalProperties":false,"type":"object","required":["title","due_at"],"title":"ReminderCreateRequest"},"ReminderUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"due_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due At"},"kind":{"anyOf":[{"type":"string","enum":["follow_up","journal_review","good_time_window","birth_time_review","match_review","teacher_follow_up","custom"]},{"type":"null"}],"title":"Kind"},"status":{"anyOf":[{"type":"string","enum":["open","done","cancelled"]},{"type":"null"}],"title":"Status"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"additionalProperties":false,"type":"object","title":"ReminderUpdateRequest"},"RisingSignRectificationRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"target_ascendant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Ascendant"},"precision_minutes":{"type":"integer","maximum":240.0,"minimum":5.0,"title":"Precision Minutes","default":30}},"additionalProperties":false,"type":"object","required":["birth"],"title":"RisingSignRectificationRequest"},"SearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"limit":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Limit","default":10},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"}},"additionalProperties":false,"type":"object","required":["query"],"title":"SearchRequest"},"ShadbalaReportRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"planet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Planet"},"include_detail":{"type":"boolean","title":"Include Detail","default":true}},"additionalProperties":false,"type":"object","required":["birth"],"title":"ShadbalaReportRequest"},"StandardTimeAtLocationInput":{"properties":{"location_name":{"type":"string","title":"Location Name"}},"additionalProperties":false,"type":"object","required":["location_name"],"title":"StandardTimeAtLocationInput"},"TeacherAnswerRequest":{"properties":{"question":{"type":"string","title":"Question"},"birth":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"max_citations":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Max Citations","default":5},"text_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Text Ids"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"include_chart_context":{"type":"boolean","title":"Include Chart Context","default":true},"include_classical_context":{"type":"boolean","title":"Include Classical Context","default":true},"detail_level":{"type":"string","enum":["brief","detailed"],"title":"Detail Level","default":"brief"}},"additionalProperties":false,"type":"object","required":["question"],"title":"TeacherAnswerRequest"},"TeacherLessonPlanRequest":{"properties":{"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic"},"birth":{"anyOf":[{"$ref":"#/components/schemas/BirthInput"},{"type":"null"}]},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Id"},"lesson_count":{"type":"integer","maximum":8.0,"minimum":1.0,"title":"Lesson Count","default":4},"max_citations":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Max Citations","default":5},"text_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Text Ids"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"include_chart_context":{"type":"boolean","title":"Include Chart Context","default":true},"include_classical_context":{"type":"boolean","title":"Include Classical Context","default":true},"detail_level":{"type":"string","enum":["brief","detailed"],"title":"Detail Level","default":"brief"},"goal":{"type":"string","enum":["learn_concept","understand_chart","prepare_reading","follow_up"],"title":"Goal","default":"learn_concept"}},"additionalProperties":false,"type":"object","title":"TeacherLessonPlanRequest"},"TimeRangePresetRequest":{"properties":{"birth":{"$ref":"#/components/schemas/BirthInput"},"preset":{"type":"string","title":"Preset"},"output_timezone":{"anyOf":[{"type":"number","maximum":14.0,"minimum":-14.0},{"type":"null"}],"title":"Output Timezone"}},"additionalProperties":false,"type":"object","required":["birth","preset"],"title":"TimeRangePresetRequest"},"TimezoneOffsetInput":{"properties":{"year":{"type":"integer","maximum":9999.0,"minimum":1.0,"title":"Year"},"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month"},"date":{"type":"integer","maximum":31.0,"minimum":1.0,"title":"Date"},"hours":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Hours","default":12},"minutes":{"type":"integer","maximum":59.0,"minimum":0.0,"title":"Minutes","default":0},"seconds":{"type":"integer","maximum":59.0,"minimum":0.0,"title":"Seconds","default":0},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"}},"additionalProperties":false,"type":"object","required":["year","month","date","latitude","longitude"],"title":"TimezoneOffsetInput"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VedAstroChapterPredictionOracleRequest":{"properties":{"vedastro_name":{"type":"string","title":"Vedastro Name"},"upstream_payload":{"additionalProperties":true,"type":"object","title":"Upstream Payload"},"include_provenance":{"type":"boolean","title":"Include Provenance","default":true}},"additionalProperties":false,"type":"object","required":["vedastro_name"],"title":"VedAstroChapterPredictionOracleRequest"},"ResponseMeta":{"additionalProperties":false,"properties":{"request_id":{"title":"Request Id","type":"string"},"calculator_version":{"title":"Calculator Version","type":"string"},"input":{"additionalProperties":true,"title":"Input","type":"object"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Usage"},"registry":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Registry"}},"required":["request_id","calculator_version","input"],"title":"ResponseMeta","type":"object"},"SuccessEnvelope":{"additionalProperties":false,"properties":{"data":{"title":"Data"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"required":["data","meta"],"title":"SuccessEnvelope","type":"object"},"ErrorEnvelope":{"additionalProperties":false,"properties":{"error":{"additionalProperties":true,"title":"Error","type":"object"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"required":["error","meta"],"title":"ErrorEnvelope","type":"object"},"PlanetPoint":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"longitude":{"title":"Longitude","type":"number"},"sign":{"title":"Sign","type":"string"},"sign_index":{"title":"Sign Index","type":"integer"},"degree_in_sign":{"title":"Degree In Sign","type":"number"},"nakshatra":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Nakshatra"},"nakshatra_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Nakshatra Index"}},"required":["name","longitude","sign","sign_index","degree_in_sign"],"title":"PlanetPoint","type":"object"},"ChartResponse":{"additionalProperties":false,"properties":{"object":{"const":"chart","default":"chart","title":"Object","type":"string"},"ayanamsa":{"const":"lahiri","default":"lahiri","title":"Ayanamsa","type":"string"},"observation_point":{"title":"Observation Point","type":"string"},"julian_day_ut":{"title":"Julian Day Ut","type":"number"},"ascendant":{"$ref":"#/components/schemas/PlanetPoint"},"planets":{"items":{"$ref":"#/components/schemas/PlanetPoint"},"title":"Planets","type":"array"},"houses":{"items":{"additionalProperties":true,"type":"object"},"title":"Houses","type":"array"}},"required":["observation_point","julian_day_ut","ascendant","planets","houses"],"title":"ChartResponse","type":"object"},"DivisionalChartResponse":{"additionalProperties":false,"properties":{"object":{"const":"divisional_chart","default":"divisional_chart","title":"Object","type":"string"},"division":{"title":"Division","type":"integer"},"name":{"title":"Name","type":"string"},"ayanamsa":{"const":"lahiri","default":"lahiri","title":"Ayanamsa","type":"string"},"observation_point":{"title":"Observation Point","type":"string"},"ascendant":{"$ref":"#/components/schemas/PlanetPoint"},"planets":{"items":{"$ref":"#/components/schemas/PlanetPoint"},"title":"Planets","type":"array"},"houses":{"items":{"additionalProperties":true,"type":"object"},"title":"Houses","type":"array"}},"required":["division","name","observation_point","ascendant","planets"],"title":"DivisionalChartResponse","type":"object"},"PanchangResponse":{"additionalProperties":false,"properties":{"object":{"const":"panchang_day","default":"panchang_day","title":"Object","type":"string"},"weekday":{"title":"Weekday","type":"string"},"weekday_lord":{"title":"Weekday Lord","type":"string"},"tithi":{"additionalProperties":true,"title":"Tithi","type":"object"},"nakshatra":{"additionalProperties":true,"title":"Nakshatra","type":"object"},"yoga":{"additionalProperties":true,"title":"Yoga","type":"object"},"karana":{"additionalProperties":true,"title":"Karana","type":"object"},"sunrise":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Sunrise"},"sunset":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Sunset"}},"required":["weekday","weekday_lord","tithi","nakshatra","yoga","karana"],"title":"PanchangResponse","type":"object"},"HoraWindow":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"category":{"const":"hora","default":"hora","title":"Category","type":"string"},"quality":{"const":"neutral","default":"neutral","title":"Quality","type":"string"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"duration_minutes":{"title":"Duration Minutes","type":"number"},"lord":{"title":"Lord","type":"string"},"hora":{"maximum":24,"minimum":1,"title":"Hora","type":"integer"}},"required":["name","start","end","duration_minutes","lord","hora"],"title":"HoraWindow","type":"object"},"MuhurtaWindow":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"category":{"title":"Category","type":"string"},"quality":{"enum":["avoid","caution","favorable","neutral"],"title":"Quality","type":"string"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"duration_minutes":{"title":"Duration Minutes","type":"number"}},"required":["name","category","quality","start","end","duration_minutes"],"title":"MuhurtaWindow","type":"object"},"MuhurtaWindowsResponse":{"additionalProperties":false,"properties":{"object":{"const":"muhurta_windows","default":"muhurta_windows","title":"Object","type":"string"},"date":{"title":"Date","type":"string"},"weekday":{"title":"Weekday","type":"string"},"sunrise":{"title":"Sunrise","type":"string"},"sunset":{"title":"Sunset","type":"string"},"daylight_duration_hours":{"title":"Daylight Duration Hours","type":"number"},"windows":{"items":{"$ref":"#/components/schemas/MuhurtaWindow"},"title":"Windows","type":"array"},"hora":{"items":{"$ref":"#/components/schemas/HoraWindow"},"title":"Hora","type":"array"}},"required":["date","weekday","sunrise","sunset","daylight_duration_hours","windows","hora"],"title":"MuhurtaWindowsResponse","type":"object"},"DashaPeriod":{"additionalProperties":false,"properties":{"lord":{"title":"Lord","type":"string"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"years":{"title":"Years","type":"integer"},"is_birth_balance":{"default":false,"title":"Is Birth Balance","type":"boolean"}},"required":["lord","start","end","years"],"title":"DashaPeriod","type":"object"},"VimshottariResponse":{"additionalProperties":false,"properties":{"object":{"const":"vimshottari_dasha","default":"vimshottari_dasha","title":"Object","type":"string"},"birth_nakshatra":{"title":"Birth Nakshatra","type":"string"},"birth_nakshatra_index":{"title":"Birth Nakshatra Index","type":"integer"},"starting_lord":{"title":"Starting Lord","type":"string"},"elapsed_fraction_of_starting_nakshatra":{"title":"Elapsed Fraction Of Starting Nakshatra","type":"number"},"remaining_fraction_of_starting_nakshatra":{"title":"Remaining Fraction Of Starting Nakshatra","type":"number"},"periods":{"items":{"$ref":"#/components/schemas/DashaPeriod"},"title":"Periods","type":"array"}},"required":["birth_nakshatra","birth_nakshatra_index","starting_lord","elapsed_fraction_of_starting_nakshatra","remaining_fraction_of_starting_nakshatra","periods"],"title":"VimshottariResponse","type":"object"},"DashaTimelinePeriod":{"additionalProperties":false,"properties":{"level":{"title":"Level","type":"integer"},"lord":{"title":"Lord","type":"string"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"years":{"title":"Years","type":"number"},"path":{"items":{"type":"string"},"title":"Path","type":"array"},"is_birth_balance":{"default":false,"title":"Is Birth Balance","type":"boolean"}},"required":["level","lord","start","end","years","path"],"title":"DashaTimelinePeriod","type":"object"},"VimshottariTimelineResponse":{"additionalProperties":false,"properties":{"object":{"const":"vimshottari_timeline","default":"vimshottari_timeline","title":"Object","type":"string"},"birth_nakshatra":{"title":"Birth Nakshatra","type":"string"},"birth_nakshatra_index":{"title":"Birth Nakshatra Index","type":"integer"},"starting_lord":{"title":"Starting Lord","type":"string"},"levels":{"title":"Levels","type":"integer"},"range_start":{"title":"Range Start","type":"string"},"range_end":{"title":"Range End","type":"string"},"periods":{"items":{"$ref":"#/components/schemas/DashaTimelinePeriod"},"title":"Periods","type":"array"}},"required":["birth_nakshatra","birth_nakshatra_index","starting_lord","levels","range_start","range_end","periods"],"title":"VimshottariTimelineResponse","type":"object"},"VimshottariActiveResponse":{"additionalProperties":false,"properties":{"object":{"const":"vimshottari_active","default":"vimshottari_active","title":"Object","type":"string"},"check_time":{"title":"Check Time","type":"string"},"levels":{"title":"Levels","type":"integer"},"active_periods":{"items":{"$ref":"#/components/schemas/DashaTimelinePeriod"},"title":"Active Periods","type":"array"}},"required":["check_time","levels","active_periods"],"title":"VimshottariActiveResponse","type":"object"},"CharaDashaPeriod":{"additionalProperties":false,"properties":{"level":{"title":"Level","type":"integer"},"sign":{"title":"Sign","type":"string"},"sign_index":{"title":"Sign Index","type":"integer"},"lord":{"title":"Lord","type":"string"},"lord_sign":{"title":"Lord Sign","type":"string"},"lord_sign_index":{"title":"Lord Sign Index","type":"integer"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"years":{"title":"Years","type":"number"},"direction":{"enum":["forward","reverse"],"title":"Direction","type":"string"},"path":{"items":{"type":"string"},"title":"Path","type":"array"},"cycle":{"title":"Cycle","type":"integer"},"sequence_index":{"title":"Sequence Index","type":"integer"},"duration_basis":{"title":"Duration Basis","type":"string"}},"required":["level","sign","sign_index","lord","lord_sign","lord_sign_index","start","end","years","direction","path","cycle","sequence_index","duration_basis"],"title":"CharaDashaPeriod","type":"object"},"CharaDashaActiveResponse":{"additionalProperties":false,"properties":{"object":{"const":"chara_dasha_active","default":"chara_dasha_active","title":"Object","type":"string"},"check_time":{"title":"Check Time","type":"string"},"levels":{"title":"Levels","type":"integer"},"birth_ascendant":{"additionalProperties":true,"title":"Birth Ascendant","type":"object"},"direction":{"enum":["forward","reverse"],"title":"Direction","type":"string"},"basis":{"title":"Basis","type":"string"},"active_periods":{"items":{"$ref":"#/components/schemas/CharaDashaPeriod"},"title":"Active Periods","type":"array"},"major_periods":{"items":{"$ref":"#/components/schemas/CharaDashaPeriod"},"title":"Major Periods","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["check_time","levels","birth_ascendant","direction","basis","active_periods","major_periods","notes"],"title":"CharaDashaActiveResponse","type":"object"},"LifeTimelineResponse":{"additionalProperties":false,"properties":{"object":{"const":"life_timeline","default":"life_timeline","title":"Object","type":"string"},"birth_time":{"title":"Birth Time","type":"string"},"range":{"additionalProperties":true,"title":"Range","type":"object"},"dasha":{"additionalProperties":true,"title":"Dasha","type":"object"},"event_evidence":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Event Evidence"},"ashtakavarga_life_map":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Ashtakavarga Life Map"},"sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Sections","type":"array"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["birth_time","range","dasha","sections","source_calculator_ids","cost_units","safety","notes"],"title":"LifeTimelineResponse","type":"object"},"ChartReportResponse":{"additionalProperties":false,"properties":{"object":{"const":"chart_report","default":"chart_report","title":"Object","type":"string"},"report_id":{"title":"Report Id","type":"string"},"generation_mode":{"const":"deterministic_source_backed","default":"deterministic_source_backed","title":"Generation Mode","type":"string"},"birth_time":{"title":"Birth Time","type":"string"},"calculation_set_id":{"title":"Calculation Set Id","type":"string"},"detail_level":{"enum":["brief","detailed"],"title":"Detail Level","type":"string"},"sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Sections","type":"array"},"facts":{"items":{"additionalProperties":true,"type":"object"},"title":"Facts","type":"array"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_fact_count":{"title":"Source Fact Count","type":"integer"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"},"source_payloads":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Source Payloads"}},"required":["report_id","birth_time","calculation_set_id","detail_level","sections","facts","source_calculator_ids","source_fact_count","cost_units","safety","notes"],"title":"ChartReportResponse","type":"object"},"GoodTimeFinderResponse":{"additionalProperties":false,"properties":{"object":{"const":"good_time_finder","default":"good_time_finder","title":"Object","type":"string"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"mode":{"const":"guided_evidence_ranking","default":"guided_evidence_ranking","title":"Mode","type":"string"},"task":{"title":"Task","type":"string"},"task_policy":{"additionalProperties":true,"title":"Task Policy","type":"object"},"range":{"additionalProperties":true,"title":"Range","type":"object"},"sample_count":{"title":"Sample Count","type":"integer"},"top_k":{"title":"Top K","type":"integer"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"rejected_windows":{"items":{"additionalProperties":true,"type":"object"},"title":"Rejected Windows","type":"array"},"panchang_summary":{"items":{"additionalProperties":true,"type":"object"},"title":"Panchang Summary","type":"array"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"scoring_policy":{"additionalProperties":true,"title":"Scoring Policy","type":"object"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_paths":{"items":{"type":"string"},"title":"Source Paths","type":"array"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_names","task","task_policy","range","sample_count","top_k","candidates","rejected_windows","panchang_summary","citations","scoring_policy","source_calculator_ids","source_paths","cost_units","safety","notes"],"title":"GoodTimeFinderResponse","type":"object"},"BirthTimeFinderResponse":{"additionalProperties":false,"properties":{"object":{"const":"birth_time_finder","default":"birth_time_finder","title":"Object","type":"string"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"mode":{"const":"uncertainty_banded_evidence_scan","default":"uncertainty_banded_evidence_scan","title":"Mode","type":"string"},"date":{"title":"Date","type":"string"},"location":{"additionalProperties":true,"title":"Location","type":"object"},"criteria":{"additionalProperties":true,"title":"Criteria","type":"object"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"sample_count":{"title":"Sample Count","type":"integer"},"top_k":{"title":"Top K","type":"integer"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"uncertainty_bands":{"items":{"additionalProperties":true,"type":"object"},"title":"Uncertainty Bands","type":"array"},"evidence_scans":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Evidence Scans"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_paths":{"items":{"type":"string"},"title":"Source Paths","type":"array"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_names","date","location","criteria","precision_minutes","sample_count","top_k","candidates","uncertainty_bands","source_calculator_ids","source_paths","cost_units","safety","notes"],"title":"BirthTimeFinderResponse","type":"object"},"TimezoneOffsetResponse":{"additionalProperties":false,"properties":{"object":{"const":"timezone_offset","default":"timezone_offset","title":"Object","type":"string"},"timezone_id":{"title":"Timezone Id","type":"string"},"utc_offset_minutes":{"title":"Utc Offset Minutes","type":"integer"},"utc_offset_hours":{"title":"Utc Offset Hours","type":"number"},"is_dst":{"title":"Is Dst","type":"boolean"}},"required":["timezone_id","utc_offset_minutes","utc_offset_hours","is_dst"],"title":"TimezoneOffsetResponse","type":"object"},"GeoResolveResponse":{"additionalProperties":false,"properties":{"object":{"const":"geo_location","default":"geo_location","title":"Object","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"timezone_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Timezone Id"},"precision":{"default":"coordinates","enum":["coordinates","address"],"title":"Precision","type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Name"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Address"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Provider"}},"required":["latitude","longitude"],"title":"GeoResolveResponse","type":"object"},"GeoSearchResponse":{"additionalProperties":false,"properties":{"object":{"const":"geo_location_search","default":"geo_location_search","title":"Object","type":"string"},"query":{"title":"Query","type":"string"},"provider":{"title":"Provider","type":"string"},"results":{"items":{"$ref":"#/components/schemas/GeoResolveResponse"},"title":"Results","type":"array"}},"required":["query","provider","results"],"title":"GeoSearchResponse","type":"object"},"IpGeoResolveResponse":{"additionalProperties":false,"properties":{"object":{"const":"ip_geo_location","default":"ip_geo_location","title":"Object","type":"string"},"ip_address":{"title":"Ip Address","type":"string"},"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"timezone_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Timezone Id"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"City"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Region"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Country"},"provider":{"title":"Provider","type":"string"}},"required":["ip_address","latitude","longitude","provider"],"title":"IpGeoResolveResponse","type":"object"},"StandardTimeAtLocationResponse":{"additionalProperties":false,"properties":{"object":{"const":"standard_time_at_location","default":"standard_time_at_location","title":"Object","type":"string"},"location_name":{"title":"Location Name","type":"string"},"local_time":{"title":"Local Time","type":"string"},"utc_time":{"title":"Utc Time","type":"string"},"timezone_id":{"title":"Timezone Id","type":"string"},"utc_offset_minutes":{"title":"Utc Offset Minutes","type":"integer"},"utc_offset_hours":{"title":"Utc Offset Hours","type":"number"},"is_dst":{"title":"Is Dst","type":"boolean"},"geo_location":{"$ref":"#/components/schemas/GeoResolveResponse"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Provider"}},"required":["location_name","local_time","utc_time","timezone_id","utc_offset_minutes","utc_offset_hours","is_dst","geo_location"],"title":"StandardTimeAtLocationResponse","type":"object"},"CalculationSetResponse":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"object":{"const":"calculation_set","default":"calculation_set","title":"Object","type":"string"},"description":{"title":"Description","type":"string"},"stability":{"enum":["beta","experimental"],"title":"Stability","type":"string"},"calculators":{"items":{"type":"string"},"title":"Calculators","type":"array"},"calculator_count":{"title":"Calculator Count","type":"integer"},"cost_units":{"title":"Cost Units","type":"integer"},"calculator_metadata":{"anyOf":[{"items":{"$ref":"#/components/schemas/CalculatorMetadata"},"type":"array"},{"type":"null"}],"default":null,"title":"Calculator Metadata"}},"required":["id","description","stability","calculators","calculator_count","cost_units"],"title":"CalculationSetResponse","type":"object"},"CalculatorMetadata":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"object":{"const":"calculator","default":"calculator","title":"Object","type":"string"},"display_name":{"title":"Display Name","type":"string"},"group":{"title":"Group","type":"string"},"description":{"title":"Description","type":"string"},"input_schema_ref":{"title":"Input Schema Ref","type":"string"},"output_schema_ref":{"title":"Output Schema Ref","type":"string"},"supported_subjects":{"items":{"type":"string"},"title":"Supported Subjects","type":"array"},"supports_batch":{"title":"Supports Batch","type":"boolean"},"cache_policy":{"title":"Cache Policy","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"stability":{"enum":["stable","beta","experimental","internal","deprecated"],"title":"Stability","type":"string"},"accuracy_status":{"enum":["validated","provisional","compatibility-only","research","rejected"],"title":"Accuracy Status","type":"string"},"compatibility_status":{"enum":["native","vedastro-mapped","freeastro-compat","internal"],"title":"Compatibility Status","type":"string"},"version":{"title":"Version","type":"string"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"deprecated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Deprecated At"},"replacement_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Replacement Id"}},"required":["id","display_name","group","description","input_schema_ref","output_schema_ref","supported_subjects","supports_batch","cache_policy","cost_units","stability","accuracy_status","compatibility_status","version"],"title":"CalculatorMetadata","type":"object"},"CalculationSetListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CalculationSetResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Total Count"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Limit"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","first_id","last_id"],"title":"CalculationSetListResponse","type":"object"},"CalculatorRegistryFingerprint":{"additionalProperties":false,"properties":{"object":{"const":"calculator_registry_fingerprint","default":"calculator_registry_fingerprint","title":"Object","type":"string"},"version":{"title":"Version","type":"string"},"hash":{"title":"Hash","type":"string"},"hash_algorithm":{"const":"sha256","default":"sha256","title":"Hash Algorithm","type":"string"},"scope":{"enum":["public_calculators","all_calculators"],"title":"Scope","type":"string"},"calculator_count":{"title":"Calculator Count","type":"integer"}},"required":["version","hash","scope","calculator_count"],"title":"CalculatorRegistryFingerprint","type":"object"},"CalculatorListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CalculatorMetadata"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Total Count"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Limit"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"},"registry":{"$ref":"#/components/schemas/CalculatorRegistryFingerprint"}},"required":["data","first_id","last_id","registry"],"title":"CalculatorListResponse","type":"object"},"CalculatorRunExampleResponse":{"additionalProperties":false,"properties":{"object":{"const":"calculator_run_example","default":"calculator_run_example","title":"Object","type":"string"},"calculator_id":{"title":"Calculator Id","type":"string"},"request":{"additionalProperties":true,"title":"Request","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"},"input_schema_ref":{"title":"Input Schema Ref","type":"string"},"output_schema_ref":{"title":"Output Schema Ref","type":"string"},"stability":{"enum":["stable","beta","experimental","internal","deprecated"],"title":"Stability","type":"string"},"accuracy_status":{"enum":["validated","provisional","compatibility-only","research","rejected"],"title":"Accuracy Status","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"}},"required":["calculator_id","request","input_schema_ref","output_schema_ref","stability","accuracy_status","cost_units"],"title":"CalculatorRunExampleResponse","type":"object"},"SchemaCatalogRow":{"additionalProperties":false,"properties":{"ref":{"title":"Ref","type":"string"},"name":{"title":"Name","type":"string"},"status":{"enum":["strict","documented","loose"],"title":"Status","type":"string"},"input_calculator_count":{"title":"Input Calculator Count","type":"integer"},"output_calculator_count":{"title":"Output Calculator Count","type":"integer"},"endpoint":{"title":"Endpoint","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["ref","name","status","input_calculator_count","output_calculator_count","endpoint"],"title":"SchemaCatalogRow","type":"object"},"SchemaCatalogResponse":{"additionalProperties":false,"properties":{"object":{"const":"schema_catalog","default":"schema_catalog","title":"Object","type":"string"},"total_schemas":{"title":"Total Schemas","type":"integer"},"by_status":{"additionalProperties":{"type":"integer"},"title":"By Status","type":"object"},"schemas":{"items":{"$ref":"#/components/schemas/SchemaCatalogRow"},"title":"Schemas","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["total_schemas","by_status","schemas"],"title":"SchemaCatalogResponse","type":"object"},"SchemaUsage":{"additionalProperties":false,"properties":{"input_calculators":{"items":{"type":"string"},"title":"Input Calculators","type":"array"},"output_calculators":{"items":{"type":"string"},"title":"Output Calculators","type":"array"},"input_calculator_count":{"title":"Input Calculator Count","type":"integer"},"output_calculator_count":{"title":"Output Calculator Count","type":"integer"}},"required":["input_calculators","output_calculators","input_calculator_count","output_calculator_count"],"title":"SchemaUsage","type":"object"},"SchemaDetailResponse":{"additionalProperties":false,"properties":{"object":{"const":"schema","default":"schema","title":"Object","type":"string"},"ref":{"title":"Ref","type":"string"},"name":{"title":"Name","type":"string"},"status":{"enum":["strict","documented","loose"],"title":"Status","type":"string"},"json_schema":{"additionalProperties":true,"title":"Json Schema","type":"object"},"used_by":{"$ref":"#/components/schemas/SchemaUsage"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["ref","name","status","json_schema","used_by"],"title":"SchemaDetailResponse","type":"object"},"VedAstroCoverageParameter":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"type":{"title":"Type","type":"string"},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Default"},"description":{"title":"Description","type":"string"}},"required":["name","type","description"],"title":"VedAstroCoverageParameter","type":"object"},"VedAstroCoverageRow":{"additionalProperties":false,"properties":{"vedastro_name":{"title":"Vedastro Name","type":"string"},"signature":{"title":"Signature","type":"string"},"category":{"title":"Category","type":"string"},"astro_ai_track":{"title":"Astro Ai Track","type":"string"},"implementation_status":{"enum":["implemented","not_implemented","partial"],"title":"Implementation Status","type":"string"},"clone_decision":{"enum":["implemented","do_not_clone_internal","do_not_clone_sensitive_prediction","validation_gated_prediction_engine","partial_source_backed_subset"],"title":"Clone Decision","type":"string"},"parity_state":{"enum":["implemented","rejected","gated","partial","open","deferred"],"title":"Parity State","type":"string"},"decision_reason":{"title":"Decision Reason","type":"string"},"recommended_action":{"title":"Recommended Action","type":"string"},"astro_ai_calculator_ids":{"items":{"type":"string"},"title":"Astro Ai Calculator Ids","type":"array"},"astro_ai_product_paths":{"items":{"type":"string"},"title":"Astro Ai Product Paths","type":"array"},"astro_ai_boundary_paths":{"items":{"type":"string"},"title":"Astro Ai Boundary Paths","type":"array"},"parameters":{"items":{"$ref":"#/components/schemas/VedAstroCoverageParameter"},"title":"Parameters","type":"array"},"source_path":{"title":"Source Path","type":"string"}},"required":["vedastro_name","signature","category","astro_ai_track","implementation_status","clone_decision","parity_state","decision_reason","recommended_action","astro_ai_calculator_ids","astro_ai_product_paths","astro_ai_boundary_paths","parameters","source_path"],"title":"VedAstroCoverageRow","type":"object"},"VedAstroCoverageResponse":{"additionalProperties":false,"properties":{"object":{"const":"vedastro_coverage","default":"vedastro_coverage","title":"Object","type":"string"},"total_rows":{"title":"Total Rows","type":"integer"},"implemented_rows":{"title":"Implemented Rows","type":"integer"},"partial_rows":{"title":"Partial Rows","type":"integer"},"not_implemented_rows":{"title":"Not Implemented Rows","type":"integer"},"not_fully_implemented_rows":{"title":"Not Fully Implemented Rows","type":"integer"},"open_direct_clone_candidate_rows":{"title":"Open Direct Clone Candidate Rows","type":"integer"},"coverage_percent":{"title":"Coverage Percent","type":"number"},"decision_coverage_percent":{"title":"Decision Coverage Percent","type":"number"},"by_clone_decision":{"additionalProperties":{"type":"integer"},"title":"By Clone Decision","type":"object"},"by_parity_state":{"additionalProperties":{"type":"integer"},"title":"By Parity State","type":"object"},"remaining_by_clone_decision":{"additionalProperties":{"type":"integer"},"title":"Remaining By Clone Decision","type":"object"},"remaining_by_parity_state":{"additionalProperties":{"type":"integer"},"title":"Remaining By Parity State","type":"object"},"implemented_by_category":{"additionalProperties":{"type":"integer"},"title":"Implemented By Category","type":"object"},"implemented_by_track":{"additionalProperties":{"type":"integer"},"title":"Implemented By Track","type":"object"},"data":{"items":{"$ref":"#/components/schemas/VedAstroCoverageRow"},"title":"Data","type":"array"},"has_more":{"title":"Has More","type":"boolean"}},"required":["total_rows","implemented_rows","partial_rows","not_implemented_rows","not_fully_implemented_rows","open_direct_clone_candidate_rows","coverage_percent","decision_coverage_percent","by_clone_decision","by_parity_state","remaining_by_clone_decision","remaining_by_parity_state","implemented_by_category","implemented_by_track","data","has_more"],"title":"VedAstroCoverageResponse","type":"object"},"VedAstroRejectionCatalogFilters":{"additionalProperties":false,"properties":{"clone_decision":{"anyOf":[{"enum":["do_not_clone_internal","do_not_clone_sensitive_prediction"],"type":"string"},{"type":"null"}],"default":null,"title":"Clone Decision"},"limit":{"title":"Limit","type":"integer"}},"required":["limit"],"title":"VedAstroRejectionCatalogFilters","type":"object"},"VedAstroRejectionRow":{"additionalProperties":false,"properties":{"object":{"const":"vedastro_rejection_row","default":"vedastro_rejection_row","title":"Object","type":"string"},"vedastro_name":{"title":"Vedastro Name","type":"string"},"signature":{"title":"Signature","type":"string"},"category":{"title":"Category","type":"string"},"astro_ai_track":{"title":"Astro Ai Track","type":"string"},"clone_decision":{"enum":["do_not_clone_internal","do_not_clone_sensitive_prediction"],"title":"Clone Decision","type":"string"},"rejection_class":{"enum":["internal_or_no_product_value","sensitive_prediction"],"title":"Rejection Class","type":"string"},"execution_enabled":{"const":false,"default":false,"title":"Execution Enabled","type":"boolean"},"calculator_exposure":{"const":"none","default":"none","title":"Calculator Exposure","type":"string"},"safety_reason":{"title":"Safety Reason","type":"string"},"allowed_alternatives":{"items":{"type":"string"},"title":"Allowed Alternatives","type":"array"},"parameters":{"items":{"$ref":"#/components/schemas/VedAstroCoverageParameter"},"title":"Parameters","type":"array"},"source_path":{"title":"Source Path","type":"string"},"source_audit":{"$ref":"#/components/schemas/VedAstroRejectionSourceAudit"},"decision_reason":{"title":"Decision Reason","type":"string"},"recommended_action":{"title":"Recommended Action","type":"string"}},"required":["vedastro_name","signature","category","astro_ai_track","clone_decision","rejection_class","safety_reason","allowed_alternatives","parameters","source_path","source_audit","decision_reason","recommended_action"],"title":"VedAstroRejectionRow","type":"object"},"VedAstroRejectionSourceAudit":{"additionalProperties":false,"properties":{"object":{"const":"vedastro_rejection_source_audit","default":"vedastro_rejection_source_audit","title":"Object","type":"string"},"inventory_source_path_present":{"title":"Inventory Source Path Present","type":"boolean"},"inventory_source_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Inventory Source Path"},"source_status":{"enum":["inventory_source_path_available","no_inventory_source_path"],"title":"Source Status","type":"string"},"porting_policy":{"const":"non_executable_rejection_catalog_only","default":"non_executable_rejection_catalog_only","title":"Porting Policy","type":"string"},"evidence":{"items":{"type":"string"},"title":"Evidence","type":"array"}},"required":["inventory_source_path_present","source_status","evidence"],"title":"VedAstroRejectionSourceAudit","type":"object"},"VedAstroRejectionCatalogResponse":{"additionalProperties":false,"properties":{"object":{"const":"vedastro_rejection_catalog","default":"vedastro_rejection_catalog","title":"Object","type":"string"},"execution_enabled":{"const":false,"default":false,"title":"Execution Enabled","type":"boolean"},"calculator_exposure":{"const":"none","default":"none","title":"Calculator Exposure","type":"string"},"total_rejected_rows":{"title":"Total Rejected Rows","type":"integer"},"returned_rows":{"title":"Returned Rows","type":"integer"},"by_clone_decision":{"additionalProperties":{"type":"integer"},"title":"By Clone Decision","type":"object"},"filters":{"$ref":"#/components/schemas/VedAstroRejectionCatalogFilters"},"rows":{"items":{"$ref":"#/components/schemas/VedAstroRejectionRow"},"title":"Rows","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["total_rejected_rows","returned_rows","by_clone_decision","filters","rows","notes"],"title":"VedAstroRejectionCatalogResponse","type":"object"},"EventPredictionCorpus":{"additionalProperties":false,"properties":{"object":{"const":"event_prediction_corpus","default":"event_prediction_corpus","title":"Object","type":"string"},"available":{"title":"Available","type":"boolean"},"source_path":{"title":"Source Path","type":"string"},"row_count":{"title":"Row Count","type":"integer"},"basis":{"title":"Basis","type":"string"}},"required":["available","source_path","row_count","basis"],"title":"EventPredictionCorpus","type":"object"},"HoroscopePredictionCorpus":{"additionalProperties":false,"properties":{"object":{"const":"horoscope_prediction_corpus","default":"horoscope_prediction_corpus","title":"Object","type":"string"},"available":{"title":"Available","type":"boolean"},"source_path":{"title":"Source Path","type":"string"},"source_vedastro_path":{"title":"Source Vedastro Path","type":"string"},"row_count":{"title":"Row Count","type":"integer"},"supported_rows":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Supported Rows"},"unsupported_rows":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Unsupported Rows"},"by_supported_rule_type":{"additionalProperties":{"type":"integer"},"title":"By Supported Rule Type","type":"object"},"by_unsupported_decision":{"additionalProperties":{"type":"integer"},"title":"By Unsupported Decision","type":"object"},"by_nature":{"additionalProperties":{"type":"integer"},"title":"By Nature","type":"object"},"by_tag":{"additionalProperties":{"type":"integer"},"title":"By Tag","type":"object"},"sample_names":{"items":{"type":"string"},"title":"Sample Names","type":"array"}},"required":["available","source_path","source_vedastro_path","row_count"],"title":"HoroscopePredictionCorpus","type":"object"},"PredictionCorpusCatalog":{"additionalProperties":false,"properties":{"horoscope_data":{"$ref":"#/components/schemas/HoroscopePredictionCorpus"},"event_data":{"$ref":"#/components/schemas/EventPredictionCorpus"}},"required":["horoscope_data","event_data"],"title":"PredictionCorpusCatalog","type":"object"},"PredictionProvenanceFilters":{"additionalProperties":false,"properties":{"vedastro_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Vedastro Name"},"limit":{"title":"Limit","type":"integer"},"include_corpus_summary":{"title":"Include Corpus Summary","type":"boolean"}},"required":["limit","include_corpus_summary"],"title":"PredictionProvenanceFilters","type":"object"},"PredictionProvenanceRow":{"additionalProperties":false,"properties":{"object":{"const":"prediction_provenance_row","default":"prediction_provenance_row","title":"Object","type":"string"},"vedastro_name":{"title":"Vedastro Name","type":"string"},"signature":{"title":"Signature","type":"string"},"category":{"title":"Category","type":"string"},"astro_ai_track":{"title":"Astro Ai Track","type":"string"},"clone_decision":{"enum":["validation_gated_prediction_engine","partial_source_backed_subset"],"title":"Clone Decision","type":"string"},"parity_state":{"enum":["gated","partial"],"title":"Parity State","type":"string"},"implementation_status":{"enum":["not_implemented","partial"],"title":"Implementation Status","type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/VedAstroCoverageParameter"},"title":"Parameters","type":"array"},"execution_enabled":{"const":false,"default":false,"title":"Execution Enabled","type":"boolean"},"prose_enabled":{"const":false,"default":false,"title":"Prose Enabled","type":"boolean"},"exposure":{"const":"provenance_only","default":"provenance_only","title":"Exposure","type":"string"},"provenance_artifacts":{"items":{"$ref":"#/components/schemas/PredictionSourceArtifact"},"title":"Provenance Artifacts","type":"array"},"source_audit":{"$ref":"#/components/schemas/PredictionSourceAudit"},"gates_required":{"items":{"type":"string"},"title":"Gates Required","type":"array"},"native_subset_enabled":{"anyOf":[{"const":true,"type":"boolean"},{"type":"null"}],"default":null,"title":"Native Subset Enabled"},"native_subset_calculator_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Native Subset Calculator Ids"},"native_subset_product_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Native Subset Product Paths"},"native_subset_scope":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Native Subset Scope"}},"required":["vedastro_name","signature","category","astro_ai_track","clone_decision","parity_state","implementation_status","parameters","provenance_artifacts","source_audit","gates_required"],"title":"PredictionProvenanceRow","type":"object"},"PredictionSourceArtifact":{"additionalProperties":false,"properties":{"path":{"title":"Path","type":"string"},"available":{"title":"Available","type":"boolean"},"basis":{"title":"Basis","type":"string"}},"required":["path","available","basis"],"title":"PredictionSourceArtifact","type":"object"},"PredictionSourceAudit":{"additionalProperties":false,"properties":{"object":{"const":"prediction_source_audit","default":"prediction_source_audit","title":"Object","type":"string"},"inventory_source_path_present":{"title":"Inventory Source Path Present","type":"boolean"},"inventory_source_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Inventory Source Path"},"source_status":{"title":"Source Status","type":"string"},"live_metadata_status":{"title":"Live Metadata Status","type":"string"},"local_artifacts":{"items":{"$ref":"#/components/schemas/PredictionSourceArtifact"},"title":"Local Artifacts","type":"array"},"evidence":{"items":{"type":"string"},"title":"Evidence","type":"array"}},"required":["inventory_source_path_present","source_status","live_metadata_status","local_artifacts","evidence"],"title":"PredictionSourceAudit","type":"object"},"PredictionProvenanceCatalogResponse":{"additionalProperties":false,"properties":{"object":{"const":"prediction_provenance_catalog","default":"prediction_provenance_catalog","title":"Object","type":"string"},"gate":{"const":"validation_gated_prediction_engine","default":"validation_gated_prediction_engine","title":"Gate","type":"string"},"execution_enabled":{"const":false,"default":false,"title":"Execution Enabled","type":"boolean"},"prose_enabled":{"const":false,"default":false,"title":"Prose Enabled","type":"boolean"},"total_gated_rows":{"title":"Total Gated Rows","type":"integer"},"fully_unimplemented_gated_rows":{"title":"Fully Unimplemented Gated Rows","type":"integer"},"returned_rows":{"title":"Returned Rows","type":"integer"},"filters":{"$ref":"#/components/schemas/PredictionProvenanceFilters"},"rows":{"items":{"$ref":"#/components/schemas/PredictionProvenanceRow"},"title":"Rows","type":"array"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"},"corpus":{"anyOf":[{"$ref":"#/components/schemas/PredictionCorpusCatalog"},{"type":"null"}],"default":null}},"required":["total_gated_rows","fully_unimplemented_gated_rows","returned_rows","filters","rows","source_vedastro_names","notes"],"title":"PredictionProvenanceCatalogResponse","type":"object"},"PredictionExecutionGateResponse":{"additionalProperties":false,"properties":{"object":{"const":"prediction_execution_gate","default":"prediction_execution_gate","title":"Object","type":"string"},"vedastro_name":{"title":"Vedastro Name","type":"string"},"signature":{"title":"Signature","type":"string"},"execution_enabled":{"const":false,"default":false,"title":"Execution Enabled","type":"boolean"},"prose_enabled":{"const":false,"default":false,"title":"Prose Enabled","type":"boolean"},"exposure":{"const":"explicit_gate_only","default":"explicit_gate_only","title":"Exposure","type":"string"},"normalized_input":{"additionalProperties":true,"title":"Normalized Input","type":"object"},"expected_parameters":{"items":{"$ref":"#/components/schemas/VedAstroCoverageParameter"},"title":"Expected Parameters","type":"array"},"provenance":{"$ref":"#/components/schemas/PredictionProvenanceRow"},"corpus":{"anyOf":[{"$ref":"#/components/schemas/PredictionCorpusCatalog"},{"type":"null"}],"default":null},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["vedastro_name","signature","normalized_input","expected_parameters","provenance","notes"],"title":"PredictionExecutionGateResponse","type":"object"},"HoroscopePredictionChartContext":{"additionalProperties":false,"properties":{"ayanamsa":{"title":"Ayanamsa","type":"string"},"observation_point":{"title":"Observation Point","type":"string"},"julian_day_ut":{"title":"Julian Day Ut","type":"number"},"ascendant":{"$ref":"#/components/schemas/PlanetPoint"}},"required":["ayanamsa","observation_point","julian_day_ut","ascendant"],"title":"HoroscopePredictionChartContext","type":"object"},"HoroscopePredictionEvidence":{"additionalProperties":false,"properties":{"field":{"title":"Field","type":"string"},"actual":{"title":"Actual"},"expected":{"title":"Expected"},"matched":{"title":"Matched","type":"boolean"},"condition":{"anyOf":[{},{"type":"null"}],"default":null,"title":"Condition"}},"required":["field","actual","expected","matched"],"title":"HoroscopePredictionEvidence","type":"object"},"HoroscopePredictionFactRow":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"formatted_name":{"title":"Formatted Name","type":"string"},"nature":{"anyOf":[{"enum":["Good","Bad","Neutral"],"type":"string"},{"type":"string"}],"title":"Nature"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"source_path":{"title":"Source Path","type":"string"},"source_description_available":{"title":"Source Description Available","type":"boolean"},"unsupported_decision":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Unsupported Decision"},"unsupported_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Unsupported Reason"},"prose_included":{"const":false,"default":false,"title":"Prose Included","type":"boolean"},"support_status":{"enum":["supported","unsupported"],"title":"Support Status","type":"string"},"rule_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Rule Type"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Active"},"source_fields":{"items":{"type":"string"},"title":"Source Fields","type":"array"},"evidence":{"items":{"$ref":"#/components/schemas/HoroscopePredictionEvidence"},"title":"Evidence","type":"array"}},"required":["name","formatted_name","nature","tags","source_path","source_description_available","support_status","source_fields","evidence"],"title":"HoroscopePredictionFactRow","type":"object"},"HoroscopePredictionMatchFilters":{"additionalProperties":false,"properties":{"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"prediction_names":{"items":{"type":"string"},"title":"Prediction Names","type":"array"},"native_sex":{"anyOf":[{"enum":["male","female"],"type":"string"},{"type":"null"}],"default":null,"title":"Native Sex"},"include_inactive_supported":{"title":"Include Inactive Supported","type":"boolean"},"include_unsupported":{"title":"Include Unsupported","type":"boolean"},"limit":{"title":"Limit","type":"integer"}},"required":["tags","prediction_names","include_inactive_supported","include_unsupported","limit"],"title":"HoroscopePredictionMatchFilters","type":"object"},"HoroscopePredictionSupportSummary":{"additionalProperties":false,"properties":{"candidate_rows":{"title":"Candidate Rows","type":"integer"},"supported_rows":{"title":"Supported Rows","type":"integer"},"unsupported_rows":{"title":"Unsupported Rows","type":"integer"},"active_supported_rows":{"title":"Active Supported Rows","type":"integer"},"supported_rule_types":{"additionalProperties":{"type":"integer"},"title":"Supported Rule Types","type":"object"}},"required":["candidate_rows","supported_rows","unsupported_rows","active_supported_rows","supported_rule_types"],"title":"HoroscopePredictionSupportSummary","type":"object"},"HoroscopePredictionFactMatchesResponse":{"additionalProperties":false,"properties":{"object":{"const":"horoscope_prediction_fact_matches","default":"horoscope_prediction_fact_matches","title":"Object","type":"string"},"source_vedastro_name":{"const":"HoroscopePredictions","default":"HoroscopePredictions","title":"Source Vedastro Name","type":"string"},"execution_mode":{"const":"bounded_fact_selector","default":"bounded_fact_selector","title":"Execution Mode","type":"string"},"execution_enabled":{"const":true,"default":true,"title":"Execution Enabled","type":"boolean"},"prose_enabled":{"const":false,"default":false,"title":"Prose Enabled","type":"boolean"},"birth_time":{"title":"Birth Time","type":"string"},"filters":{"$ref":"#/components/schemas/HoroscopePredictionMatchFilters"},"corpus":{"$ref":"#/components/schemas/HoroscopePredictionCorpus"},"support":{"$ref":"#/components/schemas/HoroscopePredictionSupportSummary"},"chart_context":{"$ref":"#/components/schemas/HoroscopePredictionChartContext"},"predictions":{"items":{"$ref":"#/components/schemas/HoroscopePredictionFactRow"},"title":"Predictions","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["birth_time","filters","corpus","support","chart_context","predictions","notes"],"title":"HoroscopePredictionFactMatchesResponse","type":"object"},"SearchResultsResponse":{"additionalProperties":false,"properties":{"object":{"title":"Object","type":"string"},"query":{"title":"Query","type":"string"},"results":{"items":{"additionalProperties":true,"type":"object"},"title":"Results","type":"array"}},"required":["object","query","results"],"title":"SearchResultsResponse","type":"object"},"AstrologyContextSearchResponse":{"additionalProperties":false,"properties":{"object":{"const":"astrology_context_search","default":"astrology_context_search","title":"Object","type":"string"},"query":{"title":"Query","type":"string"},"sections":{"additionalProperties":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"title":"Sections","type":"object"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"basis":{"title":"Basis","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["query","sections","source_vedastro_names","basis","notes"],"title":"AstrologyContextSearchResponse","type":"object"},"ClassicalTextCatalogResponse":{"additionalProperties":false,"properties":{"object":{"const":"classical_text_catalog","default":"classical_text_catalog","title":"Object","type":"string"},"corpus_version":{"title":"Corpus Version","type":"string"},"text_count":{"title":"Text Count","type":"integer"},"passage_count":{"title":"Passage Count","type":"integer"},"texts":{"items":{"additionalProperties":true,"type":"object"},"title":"Texts","type":"array"},"source_policy":{"additionalProperties":true,"title":"Source Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["corpus_version","text_count","passage_count","texts","source_policy","notes"],"title":"ClassicalTextCatalogResponse","type":"object"},"ClassicalTextDetailResponse":{"additionalProperties":false,"properties":{"object":{"const":"classical_text","default":"classical_text","title":"Object","type":"string"},"text":{"additionalProperties":true,"title":"Text","type":"object"},"passage_count":{"title":"Passage Count","type":"integer"},"passages":{"items":{"additionalProperties":true,"type":"object"},"title":"Passages","type":"array"},"source_policy":{"additionalProperties":true,"title":"Source Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["text","passage_count","passages","source_policy","notes"],"title":"ClassicalTextDetailResponse","type":"object"},"ClassicalTextChaptersResponse":{"additionalProperties":false,"properties":{"object":{"const":"classical_text_chapter_catalog","default":"classical_text_chapter_catalog","title":"Object","type":"string"},"text":{"additionalProperties":true,"title":"Text","type":"object"},"chapter_count":{"title":"Chapter Count","type":"integer"},"chapters":{"items":{"additionalProperties":true,"type":"object"},"title":"Chapters","type":"array"},"study_flow":{"additionalProperties":true,"title":"Study Flow","type":"object"},"source_policy":{"additionalProperties":true,"title":"Source Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["text","chapter_count","chapters","study_flow","source_policy","notes"],"title":"ClassicalTextChaptersResponse","type":"object"},"ClassicalTextSearchResponse":{"additionalProperties":false,"properties":{"object":{"const":"classical_text_search","default":"classical_text_search","title":"Object","type":"string"},"query":{"title":"Query","type":"string"},"filters":{"additionalProperties":true,"title":"Filters","type":"object"},"result_count":{"title":"Result Count","type":"integer"},"results":{"items":{"additionalProperties":true,"type":"object"},"title":"Results","type":"array"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"source_policy":{"additionalProperties":true,"title":"Source Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["query","filters","result_count","results","citations","source_policy","notes"],"title":"ClassicalTextSearchResponse","type":"object"},"ClassicalTextAnswerResponse":{"additionalProperties":false,"properties":{"object":{"const":"classical_text_answer","default":"classical_text_answer","title":"Object","type":"string"},"query":{"title":"Query","type":"string"},"answer_mode":{"const":"deterministic_retrieval_outline","default":"deterministic_retrieval_outline","title":"Answer Mode","type":"string"},"answer":{"title":"Answer","type":"string"},"answer_outline":{"items":{"additionalProperties":true,"type":"object"},"title":"Answer Outline","type":"array"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"passages":{"items":{"additionalProperties":true,"type":"object"},"title":"Passages","type":"array"},"retrieval":{"additionalProperties":true,"title":"Retrieval","type":"object"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"source_policy":{"additionalProperties":true,"title":"Source Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["query","answer","answer_outline","citations","passages","retrieval","safety","source_policy","notes"],"title":"ClassicalTextAnswerResponse","type":"object"},"TeacherAnswerResponse":{"additionalProperties":false,"properties":{"object":{"const":"teacher_answer","default":"teacher_answer","title":"Object","type":"string"},"mode":{"const":"source_backed_teacher_outline","default":"source_backed_teacher_outline","title":"Mode","type":"string"},"question":{"title":"Question","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"has_birth_context":{"title":"Has Birth Context","type":"boolean"},"answer":{"title":"Answer","type":"string"},"answer_outline":{"items":{"additionalProperties":true,"type":"object"},"title":"Answer Outline","type":"array"},"chart_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Chart Context"},"classical_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Classical Context"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_paths":{"items":{"type":"string"},"title":"Source Paths","type":"array"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["question","has_birth_context","answer","answer_outline","citations","source_calculator_ids","source_paths","cost_units","safety","notes"],"title":"TeacherAnswerResponse","type":"object"},"TeacherLessonPlanResponse":{"additionalProperties":false,"properties":{"object":{"const":"teacher_lesson_plan","default":"teacher_lesson_plan","title":"Object","type":"string"},"mode":{"const":"source_backed_lesson_sequence","default":"source_backed_lesson_sequence","title":"Mode","type":"string"},"question":{"title":"Question","type":"string"},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Topic"},"goal":{"enum":["learn_concept","understand_chart","prepare_reading","follow_up"],"title":"Goal","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"has_birth_context":{"title":"Has Birth Context","type":"boolean"},"lesson_count":{"title":"Lesson Count","type":"integer"},"lessons":{"items":{"additionalProperties":true,"type":"object"},"title":"Lessons","type":"array"},"chart_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Chart Context"},"classical_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Classical Context"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_paths":{"items":{"type":"string"},"title":"Source Paths","type":"array"},"save_hint":{"additionalProperties":true,"title":"Save Hint","type":"object"},"reminder_hint":{"additionalProperties":true,"title":"Reminder Hint","type":"object"},"coverage_warnings":{"items":{"type":"string"},"title":"Coverage Warnings","type":"array"},"cost_units":{"title":"Cost Units","type":"integer"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["question","goal","has_birth_context","lesson_count","lessons","citations","source_calculator_ids","source_paths","save_hint","reminder_hint","cost_units","safety","notes"],"title":"TeacherLessonPlanResponse","type":"object"},"RectificationLocation":{"additionalProperties":false,"properties":{"latitude":{"title":"Latitude","type":"number"},"longitude":{"title":"Longitude","type":"number"},"timezone":{"title":"Timezone","type":"number"}},"required":["latitude","longitude","timezone"],"title":"RectificationLocation","type":"object"},"RisingSignRectificationResponse":{"additionalProperties":false,"properties":{"object":{"const":"rising_sign_rectification","default":"rising_sign_rectification","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"date":{"title":"Date","type":"string"},"location":{"$ref":"#/components/schemas/RectificationLocation"},"target_ascendant":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Target Ascendant"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"intervals":{"items":{"additionalProperties":true,"type":"object"},"title":"Intervals","type":"array"},"samples":{"items":{"additionalProperties":true,"type":"object"},"title":"Samples","type":"array"},"basis":{"title":"Basis","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","date","location","precision_minutes","intervals","samples","basis","notes"],"title":"RisingSignRectificationResponse","type":"object"},"HouseStrengthRectificationResponse":{"additionalProperties":false,"properties":{"object":{"const":"house_strength_rectification","default":"house_strength_rectification","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"date":{"title":"Date","type":"string"},"location":{"$ref":"#/components/schemas/RectificationLocation"},"target_house":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Target House"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"samples":{"items":{"additionalProperties":true,"type":"object"},"title":"Samples","type":"array"},"top_candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Top Candidates","type":"array"},"basis":{"title":"Basis","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","date","location","precision_minutes","samples","top_candidates","basis","notes"],"title":"HouseStrengthRectificationResponse","type":"object"},"YoniAnimalRectificationResponse":{"additionalProperties":false,"properties":{"object":{"const":"birth_time_by_animal_rectification","default":"birth_time_by_animal_rectification","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"date":{"title":"Date","type":"string"},"location":{"$ref":"#/components/schemas/RectificationLocation"},"target_animal":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Target Animal"},"precision_hours":{"title":"Precision Hours","type":"number"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"intervals":{"items":{"additionalProperties":true,"type":"object"},"title":"Intervals","type":"array"},"samples":{"items":{"additionalProperties":true,"type":"object"},"title":"Samples","type":"array"},"basis":{"title":"Basis","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","date","location","precision_hours","precision_minutes","intervals","samples","basis","notes"],"title":"YoniAnimalRectificationResponse","type":"object"},"BirthLocationAutofillResponse":{"additionalProperties":false,"properties":{"object":{"const":"birth_location_autofill","default":"birth_location_autofill","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"mode":{"title":"Mode","type":"string"},"query":{"additionalProperties":true,"title":"Query","type":"object"},"selected_location":{"anyOf":[{"$ref":"#/components/schemas/GeoResolveResponse"},{"type":"null"}],"default":null},"candidates":{"items":{"$ref":"#/components/schemas/GeoResolveResponse"},"title":"Candidates","type":"array"},"candidate_count":{"title":"Candidate Count","type":"integer"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","mode","query","candidates","candidate_count","notes"],"title":"BirthLocationAutofillResponse","type":"object"},"BirthTimeAutofillResponse":{"additionalProperties":false,"properties":{"object":{"const":"birth_time_autofill","default":"birth_time_autofill","title":"Object","type":"string"},"source_vedastro_names":{"items":{"type":"string"},"title":"Source Vedastro Names","type":"array"},"mode":{"title":"Mode","type":"string"},"date":{"title":"Date","type":"string"},"location":{"$ref":"#/components/schemas/RectificationLocation"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"top_k":{"title":"Top K","type":"integer"},"sample_count":{"title":"Sample Count","type":"integer"},"criteria":{"additionalProperties":true,"title":"Criteria","type":"object"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_names","mode","date","location","precision_minutes","top_k","sample_count","criteria","candidates","notes"],"title":"BirthTimeAutofillResponse","type":"object"},"BirthTimeLocationAutofillResponse":{"additionalProperties":false,"properties":{"object":{"const":"birth_time_location_autofill","default":"birth_time_location_autofill","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"mode":{"title":"Mode","type":"string"},"location_query":{"additionalProperties":true,"title":"Location Query","type":"object"},"selected_location":{"anyOf":[{"$ref":"#/components/schemas/GeoResolveResponse"},{"type":"null"}],"default":null},"location_candidates":{"items":{"$ref":"#/components/schemas/GeoResolveResponse"},"title":"Location Candidates","type":"array"},"normalized_birth":{"additionalProperties":true,"title":"Normalized Birth","type":"object"},"precision_minutes":{"title":"Precision Minutes","type":"integer"},"top_k":{"title":"Top K","type":"integer"},"birth_time_candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Birth Time Candidates","type":"array"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","mode","location_query","location_candidates","normalized_birth","precision_minutes","top_k","birth_time_candidates","notes"],"title":"BirthTimeLocationAutofillResponse","type":"object"},"MarriagePartnerNameAutofillResponse":{"additionalProperties":false,"properties":{"object":{"const":"marriage_partner_name_autofill","default":"marriage_partner_name_autofill","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"mode":{"title":"Mode","type":"string"},"description":{"title":"Description","type":"string"},"target_name_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Target Name Number"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"basis":{"title":"Basis","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"}},"required":["source_vedastro_name","mode","description","candidates","basis","warnings"],"title":"MarriagePartnerNameAutofillResponse","type":"object"},"MarriageTagsAutofillResponse":{"additionalProperties":false,"properties":{"object":{"const":"marriage_tags_autofill","default":"marriage_tags_autofill","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"mode":{"title":"Mode","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Description"},"tags":{"items":{"additionalProperties":true,"type":"object"},"title":"Tags","type":"array"},"tag_count":{"title":"Tag Count","type":"integer"},"ashtakoot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Ashtakoot"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","mode","tags","tag_count","notes"],"title":"MarriageTagsAutofillResponse","type":"object"},"AshtakootReportResponse":{"additionalProperties":false,"properties":{"object":{"const":"ashtakoot_report","default":"ashtakoot_report","title":"Object","type":"string"},"scoring_model":{"title":"Scoring Model","type":"string"},"total_points":{"title":"Total Points","type":"number"},"max_points":{"title":"Max Points","type":"number"},"percentage":{"title":"Percentage","type":"number"},"vedastro_rounded_percentage":{"title":"Vedastro Rounded Percentage","type":"number"},"embeddings":{"items":{"type":"number"},"title":"Embeddings","type":"array"},"male":{"additionalProperties":true,"title":"Male","type":"object"},"female":{"additionalProperties":true,"title":"Female","type":"object"},"factors":{"items":{"additionalProperties":true,"type":"object"},"title":"Factors","type":"array"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"}},"required":["scoring_model","total_points","max_points","percentage","vedastro_rounded_percentage","embeddings","male","female","factors","warnings"],"title":"AshtakootReportResponse","type":"object"},"MatchChatProductResponse":{"additionalProperties":false,"properties":{"object":{"const":"match_chat_context","default":"match_chat_context","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"mode":{"title":"Mode","type":"string"},"chat_session":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Chat Session"},"user_question":{"title":"User Question","type":"string"},"include_facts":{"title":"Include Facts","type":"boolean"},"execution_enabled":{"title":"Execution Enabled","type":"boolean"},"llm_enabled":{"title":"Llm Enabled","type":"boolean"},"facts":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Facts"},"next_step_contract":{"additionalProperties":true,"title":"Next Step Contract","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","source_calculator_ids","mode","user_question","include_facts","execution_enabled","llm_enabled","next_step_contract","notes"],"title":"MatchChatProductResponse","type":"object"},"ShadbalaReportResponse":{"additionalProperties":false,"properties":{"object":{"const":"shadbala_report","default":"shadbala_report","title":"Object","type":"string"},"source_calculator_id":{"title":"Source Calculator Id","type":"string"},"stability":{"title":"Stability","type":"string"},"accuracy_status":{"title":"Accuracy Status","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"include_detail":{"title":"Include Detail","type":"boolean"},"selected_planet":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Selected Planet"},"planet_count":{"title":"Planet Count","type":"integer"},"ordered_planets":{"items":{"type":"string"},"title":"Ordered Planets","type":"array"},"strong_planets":{"items":{"type":"string"},"title":"Strong Planets","type":"array"},"weak_planets":{"items":{"type":"string"},"title":"Weak Planets","type":"array"},"planets":{"items":{"additionalProperties":true,"type":"object"},"title":"Planets","type":"array"},"basis":{"title":"Basis","type":"string"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_calculator_id","stability","accuracy_status","cost_units","include_detail","planet_count","ordered_planets","strong_planets","weak_planets","planets","basis","notes"],"title":"ShadbalaReportResponse","type":"object"},"AshtakavargaReportResponse":{"additionalProperties":false,"properties":{"object":{"const":"ashtakavarga_report","default":"ashtakavarga_report","title":"Object","type":"string"},"stability":{"title":"Stability","type":"string"},"accuracy_status":{"title":"Accuracy Status","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"include_reductions":{"title":"Include Reductions","type":"boolean"},"include_life_map":{"title":"Include Life Map","type":"boolean"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"bhinnashtakavarga":{"additionalProperties":true,"title":"Bhinnashtakavarga","type":"object"},"sarvashtakavarga":{"additionalProperties":true,"title":"Sarvashtakavarga","type":"object"},"reductions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Reductions"},"life_map":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Life Map"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["stability","accuracy_status","cost_units","include_reductions","include_life_map","source_calculator_ids","bhinnashtakavarga","sarvashtakavarga","notes"],"title":"AshtakavargaReportResponse","type":"object"},"TimeRangeResponse":{"additionalProperties":false,"properties":{"object":{"const":"time_range","default":"time_range","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"preset":{"title":"Preset","type":"string"},"preset_type":{"title":"Preset Type","type":"string"},"start":{"title":"Start","type":"string"},"end":{"title":"End","type":"string"},"days_between":{"title":"Days Between","type":"number"},"output_timezone":{"title":"Output Timezone","type":"number"},"basis":{"title":"Basis","type":"string"},"supported_presets":{"items":{"type":"string"},"title":"Supported Presets","type":"array"}},"required":["source_vedastro_name","preset","preset_type","start","end","days_between","output_timezone","basis","supported_presets"],"title":"TimeRangeResponse","type":"object"},"TimeRangeDaysResponse":{"additionalProperties":false,"properties":{"object":{"const":"time_range_days","default":"time_range_days","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"preset":{"title":"Preset","type":"string"},"days_between":{"title":"Days Between","type":"number"},"time_range":{"$ref":"#/components/schemas/TimeRangeResponse"},"basis":{"title":"Basis","type":"string"}},"required":["source_vedastro_name","preset","days_between","time_range","basis"],"title":"TimeRangeDaysResponse","type":"object"},"TimeListCsvRow":{"additionalProperties":false,"properties":{"name":{"title":"Name","type":"string"},"time":{"title":"Time","type":"string"},"location":{"title":"Location","type":"string"}},"required":["name","time","location"],"title":"TimeListCsvRow","type":"object"},"TimeListCsvResponse":{"additionalProperties":false,"properties":{"object":{"const":"time_list_csv","default":"time_list_csv","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"hours_between":{"title":"Hours Between","type":"number"},"row_count":{"title":"Row Count","type":"integer"},"rows":{"items":{"$ref":"#/components/schemas/TimeListCsvRow"},"title":"Rows","type":"array"},"csv":{"title":"Csv","type":"string"},"basis":{"title":"Basis","type":"string"}},"required":["source_vedastro_name","hours_between","row_count","rows","csv","basis"],"title":"TimeListCsvResponse","type":"object"},"NameGenerationResponse":{"additionalProperties":false,"properties":{"object":{"const":"name_suggestions","default":"name_suggestions","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"generation_mode":{"title":"Generation Mode","type":"string"},"description":{"title":"Description","type":"string"},"number_of_names":{"title":"Number Of Names","type":"integer"},"target_name_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Target Name Number"},"exclude_names":{"items":{"type":"string"},"title":"Exclude Names","type":"array"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"basis":{"title":"Basis","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"}},"required":["source_vedastro_name","generation_mode","description","number_of_names","exclude_names","candidates","basis","warnings"],"title":"NameGenerationResponse","type":"object"},"ChartSvgRenderResponse":{"additionalProperties":false,"properties":{"object":{"const":"chart_svg_render","default":"chart_svg_render","title":"Object","type":"string"},"media_type":{"const":"image/svg+xml","default":"image/svg+xml","title":"Media Type","type":"string"},"svg":{"title":"Svg","type":"string"}},"required":["svg"],"title":"ChartSvgRenderResponse","type":"object"},"KundaliRenderResponse":{"additionalProperties":false,"properties":{"object":{"const":"kundali_render","default":"kundali_render","title":"Object","type":"string"},"media_type":{"const":"image/svg+xml","default":"image/svg+xml","title":"Media Type","type":"string"},"renderer":{"const":"kundali_svg","default":"kundali_svg","title":"Renderer","type":"string"},"style":{"title":"Style","type":"string"},"division":{"title":"Division","type":"integer"},"division_name":{"title":"Division Name","type":"string"},"data_source":{"title":"Data Source","type":"string"},"parity":{"title":"Parity","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"svg":{"title":"Svg","type":"string"}},"required":["style","division","division_name","data_source","parity","warnings","svg"],"title":"KundaliRenderResponse","type":"object"},"SkyChartRenderResponse":{"additionalProperties":false,"properties":{"object":{"const":"sky_chart_render","default":"sky_chart_render","title":"Object","type":"string"},"media_type":{"const":"image/svg+xml","default":"image/svg+xml","title":"Media Type","type":"string"},"renderer":{"const":"sky_chart_svg","default":"sky_chart_svg","title":"Renderer","type":"string"},"data_source":{"title":"Data Source","type":"string"},"parity":{"title":"Parity","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"svg":{"title":"Svg","type":"string"}},"required":["data_source","parity","warnings","svg"],"title":"SkyChartRenderResponse","type":"object"},"ReadingFactsResponse":{"additionalProperties":false,"properties":{"object":{"const":"reading_facts","default":"reading_facts","title":"Object","type":"string"},"stability":{"title":"Stability","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"results":{"items":{"additionalProperties":true,"type":"object"},"title":"Results","type":"array"},"calculation_set_id":{"title":"Calculation Set Id","type":"string"},"fact_count":{"title":"Fact Count","type":"integer"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["stability","cost_units","results","calculation_set_id","fact_count","notes"],"title":"ReadingFactsResponse","type":"object"},"ReadingSummaryFact":{"additionalProperties":false,"properties":{"fact_id":{"title":"Fact Id","type":"string"},"calculator_id":{"title":"Calculator Id","type":"string"},"path":{"title":"Path","type":"string"},"value":{"title":"Value"}},"required":["fact_id","calculator_id","path","value"],"title":"ReadingSummaryFact","type":"object"},"ReadingSummarySection":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"title":{"title":"Title","type":"string"},"text":{"title":"Text","type":"string"},"fact_ids":{"items":{"type":"string"},"title":"Fact Ids","type":"array"}},"required":["id","title","text","fact_ids"],"title":"ReadingSummarySection","type":"object"},"ReadingSummaryResponse":{"additionalProperties":false,"properties":{"object":{"const":"reading_summary","default":"reading_summary","title":"Object","type":"string"},"calculation_set_id":{"title":"Calculation Set Id","type":"string"},"generation_mode":{"const":"deterministic_template","title":"Generation Mode","type":"string"},"prose_policy":{"title":"Prose Policy","type":"string"},"summary":{"title":"Summary","type":"string"},"sections":{"items":{"$ref":"#/components/schemas/ReadingSummarySection"},"title":"Sections","type":"array"},"facts_used":{"items":{"$ref":"#/components/schemas/ReadingSummaryFact"},"title":"Facts Used","type":"array"},"source_fact_count":{"title":"Source Fact Count","type":"integer"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["calculation_set_id","generation_mode","prose_policy","summary","sections","facts_used","source_fact_count","notes"],"title":"ReadingSummaryResponse","type":"object"},"PersonResponse":{"additionalProperties":false,"properties":{"object":{"const":"person","default":"person","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"birth":{"$ref":"#/components/schemas/BirthInput"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"External Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"title":"Updated At","type":"string"}},"required":["id","name","birth","created_at","updated_at"],"title":"PersonResponse","type":"object"},"PersonListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/PersonResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"PersonListResponse","type":"object"},"PersonContextResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_context","default":"person_context","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"counts":{"additionalProperties":{"type":"integer"},"title":"Counts","type":"object"},"recent":{"additionalProperties":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"title":"Recent","type":"object"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"session_plan":{"additionalProperties":true,"title":"Session Plan","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","counts","recent","next_actions","session_plan","limit"],"title":"PersonContextResponse","type":"object"},"PersonClientBriefResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_client_brief","default":"person_client_brief","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"status":{"enum":["needs_intake","in_progress","ready_for_review"],"title":"Status","type":"string"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"readiness":{"additionalProperties":true,"title":"Readiness","type":"object"},"evidence_inventory":{"items":{"additionalProperties":true,"type":"object"},"title":"Evidence Inventory","type":"array"},"session_plan":{"additionalProperties":true,"title":"Session Plan","type":"object"},"briefing_sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Briefing Sections","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"context":{"additionalProperties":true,"title":"Context","type":"object"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","status","summary","readiness","evidence_inventory","session_plan","briefing_sections","next_actions","context","source_product_paths","safety","limit"],"title":"PersonClientBriefResponse","type":"object"},"PersonConsultationPacketResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_consultation_packet","default":"person_consultation_packet","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"status":{"enum":["needs_intake","draft","ready_for_share"],"title":"Status","type":"string"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"delivery_checklist":{"items":{"additionalProperties":true,"type":"object"},"title":"Delivery Checklist","type":"array"},"artifact_manifest":{"items":{"additionalProperties":true,"type":"object"},"title":"Artifact Manifest","type":"array"},"share_sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Share Sections","type":"array"},"client_brief":{"additionalProperties":true,"title":"Client Brief","type":"object"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"export_targets":{"items":{"additionalProperties":true,"type":"object"},"title":"Export Targets","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"generated_at":{"title":"Generated At","type":"string"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","status","summary","delivery_checklist","artifact_manifest","share_sections","client_brief","next_actions","export_targets","source_product_paths","safety","generated_at","limit"],"title":"PersonConsultationPacketResponse","type":"object"},"WorkbenchDashboardResponse":{"additionalProperties":false,"properties":{"object":{"const":"workbench_dashboard","default":"workbench_dashboard","title":"Object","type":"string"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"coverage":{"additionalProperties":true,"title":"Coverage","type":"object"},"client_queue":{"items":{"additionalProperties":true,"type":"object"},"title":"Client Queue","type":"array"},"recent_activity":{"items":{"additionalProperties":true,"type":"object"},"title":"Recent Activity","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["summary","coverage","client_queue","recent_activity","next_actions","source_product_paths","safety","limit"],"title":"WorkbenchDashboardResponse","type":"object"},"HermesAstroProfileSetupResponse":{"additionalProperties":false,"properties":{"object":{"const":"hermes_astro_profile_setup","default":"hermes_astro_profile_setup","title":"Object","type":"string"},"profile":{"additionalProperties":true,"title":"Profile","type":"object"},"api_server":{"additionalProperties":true,"title":"Api Server","type":"object"},"mcp_servers":{"additionalProperties":true,"title":"Mcp Servers","type":"object"},"tool_policy":{"additionalProperties":true,"title":"Tool Policy","type":"object"},"soul_md":{"title":"Soul Md","type":"string"},"chat_contract":{"additionalProperties":true,"title":"Chat Contract","type":"object"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"}},"required":["profile","api_server","mcp_servers","tool_policy","soul_md","chat_contract","warnings","source_product_paths"],"title":"HermesAstroProfileSetupResponse","type":"object"},"AstroChatComponent":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"type":{"enum":["answer_markdown","chart_svg","kundali_chart","planet_table","dasha_timeline","source_cards","next_actions","safety_notice","tool_evidence","raw_json"],"title":"Type","type":"string"},"title":{"title":"Title","type":"string"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"source_path":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Path"}},"required":["id","type","title","payload"],"title":"AstroChatComponent","type":"object"},"ClientSessionMessageResponse":{"additionalProperties":false,"properties":{"object":{"const":"client_session_message","default":"client_session_message","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"role":{"enum":["user","assistant","system","tool"],"title":"Role","type":"string"},"content":{"title":"Content","type":"string"},"source_type":{"anyOf":[{"enum":["person","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"],"type":"string"},{"type":"null"}],"default":null,"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Id"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"}},"required":["id","role","content","created_at"],"title":"ClientSessionMessageResponse","type":"object"},"AstroChatResponse":{"additionalProperties":false,"properties":{"object":{"const":"astro_hermes_chat_turn","default":"astro_hermes_chat_turn","title":"Object","type":"string"},"status":{"const":"completed","default":"completed","title":"Status","type":"string"},"profile":{"const":"Astro","default":"Astro","title":"Profile","type":"string"},"session_id":{"title":"Session Id","type":"string"},"client_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Client Session Id"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"hermes_session_key":{"title":"Hermes Session Key","type":"string"},"answer_markdown":{"title":"Answer Markdown","type":"string"},"components":{"items":{"$ref":"#/components/schemas/AstroChatComponent"},"title":"Components","type":"array"},"citations":{"items":{"additionalProperties":true,"type":"object"},"title":"Citations","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"hermes":{"additionalProperties":true,"title":"Hermes","type":"object"},"persisted_messages":{"items":{"$ref":"#/components/schemas/ClientSessionMessageResponse"},"title":"Persisted Messages","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"created_at":{"title":"Created At","type":"string"}},"required":["session_id","hermes_session_key","answer_markdown","components","hermes","source_product_paths","safety","created_at"],"title":"AstroChatResponse","type":"object"},"PersonTimelineResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_timeline","default":"person_timeline","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"range":{"additionalProperties":true,"title":"Range","type":"object"},"timeline":{"additionalProperties":true,"title":"Timeline","type":"object"},"journal":{"additionalProperties":true,"title":"Journal","type":"object"},"journal_overlays":{"items":{"additionalProperties":true,"type":"object"},"title":"Journal Overlays","type":"array"},"sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Sections","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","range","timeline","journal","journal_overlays","sections","source_product_paths","safety","limit"],"title":"PersonTimelineResponse","type":"object"},"PersonJournalReviewResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_journal_review","default":"person_journal_review","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"range":{"additionalProperties":true,"title":"Range","type":"object"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"journal":{"additionalProperties":true,"title":"Journal","type":"object"},"event_reviews":{"items":{"additionalProperties":true,"type":"object"},"title":"Event Reviews","type":"array"},"groups":{"items":{"additionalProperties":true,"type":"object"},"title":"Groups","type":"array"},"review_next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Review Next Actions","type":"array"},"timeline_basis":{"additionalProperties":true,"title":"Timeline Basis","type":"object"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","range","summary","journal","event_reviews","groups","review_next_actions","timeline_basis","source_product_paths","safety","limit"],"title":"PersonJournalReviewResponse","type":"object"},"PersonJournalQuestionnaireResponse":{"additionalProperties":false,"properties":{"object":{"const":"person_journal_questionnaire","default":"person_journal_questionnaire","title":"Object","type":"string"},"person":{"$ref":"#/components/schemas/PersonResponse"},"range":{"additionalProperties":true,"title":"Range","type":"object"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"review_basis":{"additionalProperties":true,"title":"Review Basis","type":"object"},"sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Sections","type":"array"},"questions":{"items":{"additionalProperties":true,"type":"object"},"title":"Questions","type":"array"},"suggested_reminders":{"items":{"additionalProperties":true,"type":"object"},"title":"Suggested Reminders","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"answer_contract":{"additionalProperties":true,"title":"Answer Contract","type":"object"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"limit":{"title":"Limit","type":"integer"},"include_payloads":{"default":false,"title":"Include Payloads","type":"boolean"}},"required":["person","range","summary","review_basis","sections","questions","suggested_reminders","next_actions","answer_contract","source_product_paths","safety","limit"],"title":"PersonJournalQuestionnaireResponse","type":"object"},"DeletedObjectResponse":{"additionalProperties":false,"properties":{"object":{"const":"deleted_object","default":"deleted_object","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"type":{"title":"Type","type":"string"},"deleted":{"default":true,"title":"Deleted","type":"boolean"}},"required":["id","type"],"title":"DeletedObjectResponse","type":"object"},"CalculationRunResponse":{"additionalProperties":false,"properties":{"object":{"const":"calculation_run","default":"calculation_run","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"calculation":{"enum":["chart","panchang_day","reading_facts","reading_summary","chart_report","good_time_finder","birth_time_finder"],"title":"Calculation","type":"string"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"input":{"additionalProperties":true,"title":"Input","type":"object"},"result":{"additionalProperties":true,"title":"Result","type":"object"},"status":{"const":"succeeded","default":"succeeded","title":"Status","type":"string"},"request_hash":{"title":"Request Hash","type":"string"},"calculator_version":{"title":"Calculator Version","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Usage"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"}},"required":["id","calculation","input","result","request_hash","calculator_version","created_at"],"title":"CalculationRunResponse","type":"object"},"CalculationRunListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CalculationRunResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"CalculationRunListResponse","type":"object"},"LibraryItemResponse":{"additionalProperties":false,"properties":{"object":{"const":"library_item","default":"library_item","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"kind":{"enum":["chart_report","client_brief","consultation_packet","life_timeline","journal_review","journal_questionnaire","match_report","good_time_window","birth_time_candidate","teacher_answer","teacher_lesson_plan","note"],"title":"Kind","type":"string"},"title":{"title":"Title","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Run Id"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"starts_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Ends At"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"}},"required":["id","kind","title","payload","created_at"],"title":"LibraryItemResponse","type":"object"},"LibraryItemListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/LibraryItemResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"LibraryItemListResponse","type":"object"},"QuestionnaireAnswerResponse":{"additionalProperties":false,"properties":{"object":{"const":"questionnaire_answer","default":"questionnaire_answer","title":"Object","type":"string"},"question_id":{"title":"Question Id","type":"string"},"answer":{"title":"Answer"},"confidence":{"default":"medium","enum":["low","medium","high"],"title":"Confidence","type":"string"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"}},"required":["question_id","answer"],"title":"QuestionnaireAnswerResponse","type":"object"},"QuestionnaireResponseResponse":{"additionalProperties":false,"properties":{"object":{"const":"questionnaire_response","default":"questionnaire_response","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"person_id":{"title":"Person Id","type":"string"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"source_library_item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Library Item Id"},"time_preset":{"title":"Time Preset","type":"string"},"event_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Event Tag"},"status":{"default":"submitted","enum":["draft","submitted","reviewed"],"title":"Status","type":"string"},"answers":{"items":{"$ref":"#/components/schemas/QuestionnaireAnswerResponse"},"title":"Answers","type":"array"},"answer_count":{"title":"Answer Count","type":"integer"},"target_summary":{"additionalProperties":true,"title":"Target Summary","type":"object"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"title":"Updated At","type":"string"}},"required":["id","person_id","time_preset","answers","answer_count","target_summary","next_actions","created_at","updated_at"],"title":"QuestionnaireResponseResponse","type":"object"},"QuestionnaireResponseListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/QuestionnaireResponseResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"QuestionnaireResponseListResponse","type":"object"},"QuestionnaireBirthTimeReviewResponse":{"additionalProperties":false,"properties":{"object":{"const":"questionnaire_birth_time_review","default":"questionnaire_birth_time_review","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"response_id":{"title":"Response Id","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"status":{"default":"ready","enum":["ready","needs_targets","needs_person"],"title":"Status","type":"string"},"generated_at":{"title":"Generated At","type":"string"},"target_summary":{"additionalProperties":true,"title":"Target Summary","type":"object"},"answer_count":{"title":"Answer Count","type":"integer"},"birth_time_finder":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Birth Time Finder"},"candidates":{"items":{"additionalProperties":true,"type":"object"},"title":"Candidates","type":"array"},"uncertainty_bands":{"items":{"additionalProperties":true,"type":"object"},"title":"Uncertainty Bands","type":"array"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"safety":{"additionalProperties":true,"title":"Safety","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"},"source_payloads":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Source Payloads"}},"required":["id","response_id","generated_at","target_summary","answer_count"],"title":"QuestionnaireBirthTimeReviewResponse","type":"object"},"JournalEventResponse":{"additionalProperties":false,"properties":{"object":{"const":"journal_event","default":"journal_event","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"person_id":{"title":"Person Id","type":"string"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"title":{"title":"Title","type":"string"},"happened_at":{"title":"Happened At","type":"string"},"event_tags":{"items":{"type":"string"},"title":"Event Tags","type":"array"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"source_library_item_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Library Item Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Updated At"}},"required":["id","person_id","title","happened_at","created_at"],"title":"JournalEventResponse","type":"object"},"JournalEventListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/JournalEventResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"JournalEventListResponse","type":"object"},"ReminderResponse":{"additionalProperties":false,"properties":{"object":{"const":"reminder","default":"reminder","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"kind":{"enum":["follow_up","journal_review","good_time_window","birth_time_review","match_review","teacher_follow_up","custom"],"title":"Kind","type":"string"},"status":{"enum":["open","done","cancelled"],"title":"Status","type":"string"},"title":{"title":"Title","type":"string"},"due_at":{"title":"Due At","type":"string"},"source_type":{"anyOf":[{"enum":["person","journal_event","library_item","match_run","calculation_run","custom"],"type":"string"},{"type":"null"}],"default":null,"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Id"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Notes"},"payload":{"additionalProperties":true,"title":"Payload","type":"object"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"title":"Updated At","type":"string"}},"required":["id","kind","status","title","due_at","created_at","updated_at"],"title":"ReminderResponse","type":"object"},"ReminderListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/ReminderResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"ReminderListResponse","type":"object"},"ClientSessionResponse":{"additionalProperties":false,"properties":{"object":{"const":"client_session","default":"client_session","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"title":{"title":"Title","type":"string"},"mode":{"enum":["onboarding","report","good_time","teacher","journal","match","birth_time","general"],"title":"Mode","type":"string"},"status":{"enum":["open","archived"],"title":"Status","type":"string"},"message_count":{"title":"Message Count","type":"integer"},"messages":{"items":{"$ref":"#/components/schemas/ClientSessionMessageResponse"},"title":"Messages","type":"array"},"linked_library_item_ids":{"items":{"type":"string"},"title":"Linked Library Item Ids","type":"array"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"title":"Updated At","type":"string"}},"required":["id","title","mode","status","message_count","created_at","updated_at"],"title":"ClientSessionResponse","type":"object"},"ClientSessionListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/ClientSessionResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"ClientSessionListResponse","type":"object"},"AttachmentResponse":{"additionalProperties":false,"properties":{"object":{"const":"attachment","default":"attachment","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"kind":{"enum":["document","image","audio","video","url","note","transcript","other"],"title":"Kind","type":"string"},"person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Person Id"},"person_deleted":{"default":false,"title":"Person Deleted","type":"boolean"},"source_type":{"anyOf":[{"enum":["person","client_session","client_session_message","library_item","journal_event","questionnaire_response","reminder","match_run","calculation_run","custom"],"type":"string"},{"type":"null"}],"default":null,"title":"Source Type"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Id"},"title":{"title":"Title","type":"string"},"uri":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Uri"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"File Name"},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Media Type"},"size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Size Bytes"},"checksum_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Checksum Sha256"},"content_text":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Content Text"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Summary"},"tags":{"items":{"type":"string"},"title":"Tags","type":"array"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"},"updated_at":{"title":"Updated At","type":"string"}},"required":["id","kind","title","created_at","updated_at"],"title":"AttachmentResponse","type":"object"},"AttachmentListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/AttachmentResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"AttachmentListResponse","type":"object"},"MatchRunResponse":{"additionalProperties":false,"properties":{"object":{"const":"match_run","default":"match_run","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"male_person_id":{"title":"Male Person Id","type":"string"},"female_person_id":{"title":"Female Person Id","type":"string"},"male_person_deleted":{"default":false,"title":"Male Person Deleted","type":"boolean"},"female_person_deleted":{"default":false,"title":"Female Person Deleted","type":"boolean"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"input":{"additionalProperties":true,"title":"Input","type":"object"},"result":{"additionalProperties":true,"title":"Result","type":"object"},"status":{"const":"succeeded","default":"succeeded","title":"Status","type":"string"},"request_hash":{"title":"Request Hash","type":"string"},"calculator_version":{"title":"Calculator Version","type":"string"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Usage"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"created_at":{"title":"Created At","type":"string"}},"required":["id","male_person_id","female_person_id","input","result","request_hash","calculator_version","created_at"],"title":"MatchRunResponse","type":"object"},"MatchRunListResponse":{"additionalProperties":false,"properties":{"object":{"const":"list","default":"list","title":"Object","type":"string"},"data":{"items":{"$ref":"#/components/schemas/MatchRunResponse"},"title":"Data","type":"array"},"first_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"First Id"},"last_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Last Id"},"has_more":{"default":false,"title":"Has More","type":"boolean"},"total_count":{"title":"Total Count","type":"integer"},"limit":{"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"After"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Next Cursor"}},"required":["data","total_count","limit"],"title":"MatchRunListResponse","type":"object"},"MatchRunReportResponse":{"additionalProperties":false,"properties":{"object":{"const":"match_run_report","default":"match_run_report","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"match_id":{"title":"Match Id","type":"string"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"status":{"default":"ready","enum":["ready","needs_facts"],"title":"Status","type":"string"},"created_at":{"title":"Created At","type":"string"},"generated_at":{"title":"Generated At","type":"string"},"participants":{"items":{"additionalProperties":true,"type":"object"},"title":"Participants","type":"array"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"side_by_side":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Side By Side"},"factor_groups":{"additionalProperties":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"title":"Factor Groups","type":"object"},"deferred_factors":{"items":{"additionalProperties":true,"type":"object"},"title":"Deferred Factors","type":"array"},"validation_coverage":{"additionalProperties":true,"title":"Validation Coverage","type":"object"},"factors":{"items":{"additionalProperties":true,"type":"object"},"title":"Factors","type":"array"},"sections":{"items":{"additionalProperties":true,"type":"object"},"title":"Sections","type":"array"},"source_vedastro_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Source Vedastro Name"},"source_calculator_ids":{"items":{"type":"string"},"title":"Source Calculator Ids","type":"array"},"source_product_paths":{"items":{"type":"string"},"title":"Source Product Paths","type":"array"},"next_actions":{"items":{"additionalProperties":true,"type":"object"},"title":"Next Actions","type":"array"},"safety_policy":{"additionalProperties":true,"title":"Safety Policy","type":"object"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"},"source_payloads":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Source Payloads"}},"required":["id","match_id","created_at","generated_at","participants","summary"],"title":"MatchRunReportResponse","type":"object"},"CalculationSetRunResult":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"status":{"enum":["ok","error"],"title":"Status","type":"string"},"data":{"anyOf":[{},{"type":"null"}],"default":null,"title":"Data"},"error":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Error"}},"required":["id","status"],"title":"CalculationSetRunResult","type":"object"},"CalculationSetRunResponse":{"additionalProperties":false,"properties":{"object":{"const":"calculation_set_result","default":"calculation_set_result","title":"Object","type":"string"},"id":{"title":"Id","type":"string"},"stability":{"title":"Stability","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"results":{"items":{"$ref":"#/components/schemas/CalculationSetRunResult"},"title":"Results","type":"array"}},"required":["id","stability","cost_units","results"],"title":"CalculationSetRunResponse","type":"object"},"CalculatorBatchItemResponse":{"additionalProperties":false,"properties":{"id":{"title":"Id","type":"string"},"calculator_id":{"title":"Calculator Id","type":"string"},"status":{"enum":["ok","error"],"title":"Status","type":"string"},"trace_id":{"title":"Trace Id","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"data":{"anyOf":[{},{"type":"null"}],"default":null,"title":"Data"},"error":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Error"}},"required":["id","calculator_id","status","trace_id","cost_units"],"title":"CalculatorBatchItemResponse","type":"object"},"CalculatorBatchResponse":{"additionalProperties":false,"properties":{"object":{"const":"calculator_batch","default":"calculator_batch","title":"Object","type":"string"},"cost_units":{"title":"Cost Units","type":"integer"},"results":{"items":{"$ref":"#/components/schemas/CalculatorBatchItemResponse"},"title":"Results","type":"array"}},"required":["cost_units","results"],"title":"CalculatorBatchResponse","type":"object"},"BaziProviderResponse":{"additionalProperties":false,"properties":{"object":{"enum":["bazi_provider_gate","bazi_horoscope_predictions","bazi_match_report"],"title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"product":{"enum":["external.bazi.horoscope_predictions","external.bazi.match_report"],"title":"Product","type":"string"},"execution_enabled":{"title":"Execution Enabled","type":"boolean"},"provider_configured":{"title":"Provider Configured","type":"boolean"},"required_configuration":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Required Configuration"},"normalized_request":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Normalized Request"},"provider_response":{"anyOf":[{},{"type":"null"}],"default":null,"title":"Provider Response"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["object","source_vedastro_name","product","execution_enabled","provider_configured","notes"],"title":"BaziProviderResponse","type":"object"},"VedAstroChapterFixtureCapture":{"additionalProperties":false,"properties":{"object":{"const":"vedastro_chapter_fixture_capture","default":"vedastro_chapter_fixture_capture","title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"upstream_path":{"title":"Upstream Path","type":"string"},"request_payload_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Request Payload Sha256"},"response_payload_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Response Payload Sha256"},"suggested_fixture_path":{"title":"Suggested Fixture Path","type":"string"},"storage_policy":{"const":"caller_owned_not_auto_written","default":"caller_owned_not_auto_written","title":"Storage Policy","type":"string"},"native_parity":{"const":false,"default":false,"title":"Native Parity","type":"boolean"},"prose_may_be_present":{"title":"Prose May Be Present","type":"boolean"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["source_vedastro_name","upstream_path","suggested_fixture_path","prose_may_be_present","notes"],"title":"VedAstroChapterFixtureCapture","type":"object"},"VedAstroChapterPredictionOracleResponse":{"additionalProperties":false,"properties":{"object":{"enum":["vedastro_upstream_oracle_gate","vedastro_chapter_prediction_oracle"],"title":"Object","type":"string"},"source_vedastro_name":{"title":"Source Vedastro Name","type":"string"},"product":{"const":"external.vedastro.chapter_prediction_oracle","default":"external.vedastro.chapter_prediction_oracle","title":"Product","type":"string"},"native_parity":{"const":false,"default":false,"title":"Native Parity","type":"boolean"},"normalized_request":{"additionalProperties":true,"title":"Normalized Request","type":"object"},"fixture_capture":{"$ref":"#/components/schemas/VedAstroChapterFixtureCapture"},"provenance":{"anyOf":[{"$ref":"#/components/schemas/PredictionProvenanceRow"},{"type":"null"}],"default":null},"execution_enabled":{"title":"Execution Enabled","type":"boolean"},"provider_configured":{"title":"Provider Configured","type":"boolean"},"required_configuration":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"title":"Required Configuration"},"upstream_response":{"anyOf":[{},{"type":"null"}],"default":null,"title":"Upstream Response"},"notes":{"items":{"type":"string"},"title":"Notes","type":"array"}},"required":["object","source_vedastro_name","normalized_request","fixture_capture","execution_enabled","provider_configured","notes"],"title":"VedAstroChapterPredictionOracleResponse","type":"object"},"ChartResponseSuccessEnvelope":{"title":"ChartResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ChartResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ChartResponse"},"DivisionalChartResponseSuccessEnvelope":{"title":"DivisionalChartResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/DivisionalChartResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/DivisionalChartResponse"},"PanchangResponseSuccessEnvelope":{"title":"PanchangResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PanchangResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PanchangResponse"},"MuhurtaWindowsResponseSuccessEnvelope":{"title":"MuhurtaWindowsResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MuhurtaWindowsResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MuhurtaWindowsResponse"},"VimshottariResponseSuccessEnvelope":{"title":"VimshottariResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VimshottariResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariResponse"},"VimshottariTimelineResponseSuccessEnvelope":{"title":"VimshottariTimelineResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VimshottariTimelineResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariTimelineResponse"},"VimshottariActiveResponseSuccessEnvelope":{"title":"VimshottariActiveResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VimshottariActiveResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VimshottariActiveResponse"},"CharaDashaActiveResponseSuccessEnvelope":{"title":"CharaDashaActiveResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CharaDashaActiveResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CharaDashaActiveResponse"},"LifeTimelineResponseSuccessEnvelope":{"title":"LifeTimelineResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/LifeTimelineResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/LifeTimelineResponse"},"ChartReportResponseSuccessEnvelope":{"title":"ChartReportResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ChartReportResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ChartReportResponse"},"GoodTimeFinderResponseSuccessEnvelope":{"title":"GoodTimeFinderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/GoodTimeFinderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/GoodTimeFinderResponse"},"BirthTimeFinderResponseSuccessEnvelope":{"title":"BirthTimeFinderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/BirthTimeFinderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeFinderResponse"},"TimezoneOffsetResponseSuccessEnvelope":{"title":"TimezoneOffsetResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TimezoneOffsetResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TimezoneOffsetResponse"},"GeoResolveResponseSuccessEnvelope":{"title":"GeoResolveResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/GeoResolveResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/GeoResolveResponse"},"GeoSearchResponseSuccessEnvelope":{"title":"GeoSearchResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/GeoSearchResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/GeoSearchResponse"},"IpGeoResolveResponseSuccessEnvelope":{"title":"IpGeoResolveResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/IpGeoResolveResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/IpGeoResolveResponse"},"StandardTimeAtLocationResponseSuccessEnvelope":{"title":"StandardTimeAtLocationResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/StandardTimeAtLocationResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/StandardTimeAtLocationResponse"},"CalculationSetListResponseSuccessEnvelope":{"title":"CalculationSetListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculationSetListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetListResponse"},"CalculationSetResponseSuccessEnvelope":{"title":"CalculationSetResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculationSetResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetResponse"},"CalculatorListResponseSuccessEnvelope":{"title":"CalculatorListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculatorListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorListResponse"},"CalculatorMetadataSuccessEnvelope":{"title":"CalculatorMetadataSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculatorMetadata"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorMetadata"},"CalculatorRunExampleResponseSuccessEnvelope":{"title":"CalculatorRunExampleResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculatorRunExampleResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorRunExampleResponse"},"SchemaCatalogResponseSuccessEnvelope":{"title":"SchemaCatalogResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/SchemaCatalogResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/SchemaCatalogResponse"},"SchemaDetailResponseSuccessEnvelope":{"title":"SchemaDetailResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/SchemaDetailResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/SchemaDetailResponse"},"VedAstroCoverageResponseSuccessEnvelope":{"title":"VedAstroCoverageResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VedAstroCoverageResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroCoverageResponse"},"VedAstroRejectionCatalogResponseSuccessEnvelope":{"title":"VedAstroRejectionCatalogResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VedAstroRejectionCatalogResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroRejectionCatalogResponse"},"PredictionProvenanceCatalogResponseSuccessEnvelope":{"title":"PredictionProvenanceCatalogResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PredictionProvenanceCatalogResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PredictionProvenanceCatalogResponse"},"PredictionExecutionGateResponseSuccessEnvelope":{"title":"PredictionExecutionGateResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PredictionExecutionGateResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PredictionExecutionGateResponse"},"HoroscopePredictionFactMatchesResponseSuccessEnvelope":{"title":"HoroscopePredictionFactMatchesResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/HoroscopePredictionFactMatchesResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/HoroscopePredictionFactMatchesResponse"},"SearchResultsResponseSuccessEnvelope":{"title":"SearchResultsResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/SearchResultsResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/SearchResultsResponse"},"AstrologyContextSearchResponseSuccessEnvelope":{"title":"AstrologyContextSearchResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AstrologyContextSearchResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AstrologyContextSearchResponse"},"ClassicalTextCatalogResponseSuccessEnvelope":{"title":"ClassicalTextCatalogResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClassicalTextCatalogResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextCatalogResponse"},"ClassicalTextDetailResponseSuccessEnvelope":{"title":"ClassicalTextDetailResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClassicalTextDetailResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextDetailResponse"},"ClassicalTextChaptersResponseSuccessEnvelope":{"title":"ClassicalTextChaptersResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClassicalTextChaptersResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextChaptersResponse"},"ClassicalTextSearchResponseSuccessEnvelope":{"title":"ClassicalTextSearchResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClassicalTextSearchResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextSearchResponse"},"ClassicalTextAnswerResponseSuccessEnvelope":{"title":"ClassicalTextAnswerResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClassicalTextAnswerResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClassicalTextAnswerResponse"},"TeacherAnswerResponseSuccessEnvelope":{"title":"TeacherAnswerResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TeacherAnswerResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TeacherAnswerResponse"},"TeacherLessonPlanResponseSuccessEnvelope":{"title":"TeacherLessonPlanResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TeacherLessonPlanResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TeacherLessonPlanResponse"},"RisingSignRectificationResponseSuccessEnvelope":{"title":"RisingSignRectificationResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/RisingSignRectificationResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/RisingSignRectificationResponse"},"HouseStrengthRectificationResponseSuccessEnvelope":{"title":"HouseStrengthRectificationResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/HouseStrengthRectificationResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/HouseStrengthRectificationResponse"},"YoniAnimalRectificationResponseSuccessEnvelope":{"title":"YoniAnimalRectificationResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/YoniAnimalRectificationResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/YoniAnimalRectificationResponse"},"BirthLocationAutofillResponseSuccessEnvelope":{"title":"BirthLocationAutofillResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/BirthLocationAutofillResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/BirthLocationAutofillResponse"},"BirthTimeAutofillResponseSuccessEnvelope":{"title":"BirthTimeAutofillResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/BirthTimeAutofillResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeAutofillResponse"},"BirthTimeLocationAutofillResponseSuccessEnvelope":{"title":"BirthTimeLocationAutofillResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/BirthTimeLocationAutofillResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/BirthTimeLocationAutofillResponse"},"MarriagePartnerNameAutofillResponseSuccessEnvelope":{"title":"MarriagePartnerNameAutofillResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MarriagePartnerNameAutofillResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MarriagePartnerNameAutofillResponse"},"MarriageTagsAutofillResponseSuccessEnvelope":{"title":"MarriageTagsAutofillResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MarriageTagsAutofillResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MarriageTagsAutofillResponse"},"AshtakootReportResponseSuccessEnvelope":{"title":"AshtakootReportResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AshtakootReportResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AshtakootReportResponse"},"MatchChatProductResponseSuccessEnvelope":{"title":"MatchChatProductResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MatchChatProductResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MatchChatProductResponse"},"ShadbalaReportResponseSuccessEnvelope":{"title":"ShadbalaReportResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ShadbalaReportResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ShadbalaReportResponse"},"AshtakavargaReportResponseSuccessEnvelope":{"title":"AshtakavargaReportResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AshtakavargaReportResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AshtakavargaReportResponse"},"TimeRangeResponseSuccessEnvelope":{"title":"TimeRangeResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TimeRangeResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeResponse"},"TimeRangeDaysResponseSuccessEnvelope":{"title":"TimeRangeDaysResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TimeRangeDaysResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TimeRangeDaysResponse"},"TimeListCsvResponseSuccessEnvelope":{"title":"TimeListCsvResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/TimeListCsvResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/TimeListCsvResponse"},"NameGenerationResponseSuccessEnvelope":{"title":"NameGenerationResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/NameGenerationResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/NameGenerationResponse"},"ChartSvgRenderResponseSuccessEnvelope":{"title":"ChartSvgRenderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ChartSvgRenderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ChartSvgRenderResponse"},"KundaliRenderResponseSuccessEnvelope":{"title":"KundaliRenderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/KundaliRenderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/KundaliRenderResponse"},"SkyChartRenderResponseSuccessEnvelope":{"title":"SkyChartRenderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/SkyChartRenderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/SkyChartRenderResponse"},"ReadingFactsResponseSuccessEnvelope":{"title":"ReadingFactsResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ReadingFactsResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ReadingFactsResponse"},"ReadingSummaryResponseSuccessEnvelope":{"title":"ReadingSummaryResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ReadingSummaryResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ReadingSummaryResponse"},"PersonResponseSuccessEnvelope":{"title":"PersonResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonResponse"},"PersonListResponseSuccessEnvelope":{"title":"PersonListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonListResponse"},"PersonContextResponseSuccessEnvelope":{"title":"PersonContextResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonContextResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonContextResponse"},"PersonClientBriefResponseSuccessEnvelope":{"title":"PersonClientBriefResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonClientBriefResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonClientBriefResponse"},"PersonConsultationPacketResponseSuccessEnvelope":{"title":"PersonConsultationPacketResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonConsultationPacketResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonConsultationPacketResponse"},"WorkbenchDashboardResponseSuccessEnvelope":{"title":"WorkbenchDashboardResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/WorkbenchDashboardResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/WorkbenchDashboardResponse"},"HermesAstroProfileSetupResponseSuccessEnvelope":{"title":"HermesAstroProfileSetupResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/HermesAstroProfileSetupResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/HermesAstroProfileSetupResponse"},"AstroChatResponseSuccessEnvelope":{"title":"AstroChatResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AstroChatResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AstroChatResponse"},"PersonTimelineResponseSuccessEnvelope":{"title":"PersonTimelineResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonTimelineResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonTimelineResponse"},"PersonJournalReviewResponseSuccessEnvelope":{"title":"PersonJournalReviewResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonJournalReviewResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalReviewResponse"},"PersonJournalQuestionnaireResponseSuccessEnvelope":{"title":"PersonJournalQuestionnaireResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/PersonJournalQuestionnaireResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/PersonJournalQuestionnaireResponse"},"DeletedObjectResponseSuccessEnvelope":{"title":"DeletedObjectResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/DeletedObjectResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/DeletedObjectResponse"},"CalculationRunResponseSuccessEnvelope":{"title":"CalculationRunResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculationRunResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunResponse"},"CalculationRunListResponseSuccessEnvelope":{"title":"CalculationRunListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculationRunListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculationRunListResponse"},"LibraryItemResponseSuccessEnvelope":{"title":"LibraryItemResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/LibraryItemResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemResponse"},"LibraryItemListResponseSuccessEnvelope":{"title":"LibraryItemListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/LibraryItemListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/LibraryItemListResponse"},"QuestionnaireResponseResponseSuccessEnvelope":{"title":"QuestionnaireResponseResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/QuestionnaireResponseResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseResponse"},"QuestionnaireResponseListResponseSuccessEnvelope":{"title":"QuestionnaireResponseListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/QuestionnaireResponseListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireResponseListResponse"},"QuestionnaireBirthTimeReviewResponseSuccessEnvelope":{"title":"QuestionnaireBirthTimeReviewResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/QuestionnaireBirthTimeReviewResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/QuestionnaireBirthTimeReviewResponse"},"JournalEventResponseSuccessEnvelope":{"title":"JournalEventResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/JournalEventResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventResponse"},"JournalEventListResponseSuccessEnvelope":{"title":"JournalEventListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/JournalEventListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/JournalEventListResponse"},"ReminderResponseSuccessEnvelope":{"title":"ReminderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ReminderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ReminderResponse"},"ReminderListResponseSuccessEnvelope":{"title":"ReminderListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ReminderListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ReminderListResponse"},"ClientSessionResponseSuccessEnvelope":{"title":"ClientSessionResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClientSessionResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionResponse"},"ClientSessionListResponseSuccessEnvelope":{"title":"ClientSessionListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClientSessionListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionListResponse"},"ClientSessionMessageResponseSuccessEnvelope":{"title":"ClientSessionMessageResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/ClientSessionMessageResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/ClientSessionMessageResponse"},"AttachmentResponseSuccessEnvelope":{"title":"AttachmentResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AttachmentResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentResponse"},"AttachmentListResponseSuccessEnvelope":{"title":"AttachmentListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/AttachmentListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/AttachmentListResponse"},"MatchRunResponseSuccessEnvelope":{"title":"MatchRunResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MatchRunResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunResponse"},"MatchRunListResponseSuccessEnvelope":{"title":"MatchRunListResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MatchRunListResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunListResponse"},"MatchRunReportResponseSuccessEnvelope":{"title":"MatchRunReportResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/MatchRunReportResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/MatchRunReportResponse"},"CalculationSetRunResponseSuccessEnvelope":{"title":"CalculationSetRunResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculationSetRunResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculationSetRunResponse"},"CalculatorBatchResponseSuccessEnvelope":{"title":"CalculatorBatchResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/CalculatorBatchResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/CalculatorBatchResponse"},"BaziProviderResponseSuccessEnvelope":{"title":"BaziProviderResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/BaziProviderResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/BaziProviderResponse"},"VedAstroChapterPredictionOracleResponseSuccessEnvelope":{"title":"VedAstroChapterPredictionOracleResponseSuccessEnvelope","type":"object","additionalProperties":false,"required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/VedAstroChapterPredictionOracleResponse"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}},"x-astro-ai-envelope":"success","x-astro-ai-data-schema-ref":"#/components/schemas/VedAstroChapterPredictionOracleResponse"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Optional in local development; required when ASTRO_AI_API_KEYS is configured."},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Optional in local development; required when ASTRO_AI_API_KEYS is configured."}}}}