{"openapi":"3.1.0","info":{"title":"PanchangaAPI — Vedic Astrology API","description":"The most accurate and complete Vedic astrology (Jyotish) API available. Purpose-built for AI agents. Powered by Swiss Ephemeris with Lahiri ayanamsha, strictly following classical Jyotish Shastra. 26 endpoints covering Panchanga, Kundali, Dasha, Muhurta, Choghadiya, Compatibility, Transits, Vargas, Shadbala, Bhava Chalit, Prashna, Varshaphal, and more. Every call returns 100% astronomically accurate, canonically complete structured data — sufficient for a professional-grade horoscope without any other data source.","version":"4.2.0","x-pricing":{"free_tier":"2 requests/day (no payment needed)","per_credit_usd":0.03,"bulk_1000_usd":30.0,"payment_methods":["x402_usdc","telegram_stars","nowpayments_crypto"],"registration":"POST /register"},"x-ai-discovery":{"ai_plugin":"/.well-known/ai-plugin.json","mcp_manifest":"/.well-known/mcp.json","skill_manifest":"/skill.json"}},"paths":{"/panchanga":{"post":{"summary":"Calculate Panchanga","description":"Calculate Panchanga elements for a given datetime and location.","operationId":"calculate_panchanga_panchanga_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1},"get":{"summary":"Get Panchanga","description":"Calculate Panchanga elements via GET request.\n\n- **date**: ISO 8601 datetime string (e.g. 2024-01-15T12:00:00Z)\n- **latitude**: -90 to 90\n- **longitude**: -180 to 180","operationId":"get_panchanga_panchanga_get","parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","title":"Date"}},{"name":"latitude","in":"query","required":true,"schema":{"type":"number","title":"Latitude"}},{"name":"longitude","in":"query","required":true,"schema":{"type":"number","title":"Longitude"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/panchanga/range":{"post":{"summary":"Calculate Panchanga Range","description":"Calculate Panchanga for a date range (one entry per day).\nMaximum 31 days per request. Days are calculated in parallel.","operationId":"calculate_panchanga_range_panchanga_range_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaRangeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaRangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/panchanga/search":{"post":{"summary":"Search Panchanga","description":"Search for dates matching a specific combination of Panchanga parameters.\n\nFind the nearest date when tithi=Ekadashi AND vara=Thursday, or any combination\nof tithi, nakshatra, yoga, karana, and vara. No competitor has this feature.\n\n- **latitude/longitude**: Location for calculations\n- **after**: ISO 8601 datetime to start searching from\n- **criteria**: Dict with any combination of tithi, nakshatra, yoga, karana, vara\n- **max_results**: Maximum matching dates to return (1-20, default 5)\n- **max_days**: Maximum search window in days (1-365, default 365)\n\nCredit cost: 5 credits (iterates up to 365 days of calculations).","operationId":"search_panchanga_panchanga_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":5}},"/ephemeris":{"get":{"summary":"Get Ephemeris","description":"Get planetary positions (all 9 Vedic grahas by default).\n\n- **date**: ISO 8601 datetime string\n- **planets**: Comma-separated list (sun,moon,mars,mercury,jupiter,venus,saturn,rahu,ketu)","operationId":"get_ephemeris_ephemeris_get","parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","title":"Date"}},{"name":"planets","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Planets"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EphemerisResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/choghadiya":{"post":{"summary":"Get Choghadiya","description":"Calculate Choghadiya (hourly muhurta) and Hora (planetary hours) for a given datetime and location.\n\nChoghadiya divides the day (sunrise to sunset) and night (sunset to next sunrise) into 8 equal\nperiods each, with each period ruled by a planet. Hora assigns a planetary ruler to each\n60-minute period starting from sunrise following the Chaldean order.\n\n- **datetime**: ISO 8601 datetime string with timezone\n- **latitude**: -90 to 90\n- **longitude**: -180 to 180","operationId":"get_choghadiya_choghadiya_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchangaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChoghadiyaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/kundali":{"post":{"summary":"Get Kundali","description":"Calculate complete Kundali (Vedic birth chart).\n\nReturns lagna (ascendant), 12 houses with planets, planetary dignities,\nVedic aspects (drishti), Navamsha (D9) chart, Vimshottari Dasha periods,\nand yoga-karaka classification for the lagna.","operationId":"get_kundali_kundali_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/dasha":{"post":{"summary":"Get Dasha","description":"Calculate Vimshottari Dasha periods.\n\nReturns Maha Dasha, Antardasha, and Pratyantardasha periods based on\nMoon's birth nakshatra. Identifies the currently running period at\nquery_datetime (defaults to now).\n\nLightweight — only needs Moon longitude, no full kundali computation.","operationId":"get_dasha_dasha_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/vargas":{"post":{"summary":"Get Vargas","description":"Calculate divisional charts (Vargas).\n\nAvailable charts: D1, D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30.\nDefault: D2, D3, D4, D7, D9, D10, D12, D30.","operationId":"get_vargas_vargas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VargaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VargaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/shadbala":{"post":{"summary":"Get Shadbala","description":"Calculate Shadbala (six-fold planetary strength).\n\nReturns strength breakdown for Sun through Saturn (7 planets).","operationId":"get_shadbala_shadbala_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShadbalaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/bhava-chalit":{"post":{"summary":"Get Bhava Chalit","description":"Calculate Bhava Chalit chart (equal house system).\n\nShows how planets shift between Whole Sign and Bhava Chalit houses.","operationId":"get_bhava_chalit_bhava_chalit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BhavaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/muhurta":{"post":{"summary":"Find Muhurta","description":"Find auspicious time windows for a given event type.\n\nScans forward from the given date to find windows where tithi, nakshatra,\nyoga, and vara are all favorable for the requested event type.","operationId":"find_muhurta_muhurta_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuhurtaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MuhurtaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/festivals/{year}":{"get":{"summary":"Get Festivals","description":"Get Vedic lunar festivals for a given year.\n\n- **year**: Calendar year (e.g. 2024)\n- **latitude**: Location for calculations (default: Delhi)\n- **longitude**: Location for calculations (default: Delhi)","operationId":"get_festivals_festivals__year__get","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"latitude","in":"query","required":false,"schema":{"type":"number","default":28.6139,"title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","default":77.209,"title":"Longitude"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FestivalsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":10}},"/festivals/{year}/{month}":{"get":{"summary":"Get Festivals By Month","description":"Get Vedic lunar festivals for a specific month.\n\n- **year**: Calendar year\n- **month**: Month (1-12)\n- **latitude**: Location for calculations (default: Delhi)\n- **longitude**: Location for calculations (default: Delhi)","operationId":"get_festivals_by_month_festivals__year___month__get","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"path","required":true,"schema":{"type":"integer","title":"Month"}},{"name":"latitude","in":"query","required":false,"schema":{"type":"number","default":28.6139,"title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","default":77.209,"title":"Longitude"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FestivalsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":10}},"/transits":{"post":{"summary":"Get Transits","description":"Calculate Gochar (planetary transits) relative to natal Moon.\n\nShows current transit positions, effects from natal Moon,\nand special transits (Sade Sati, Kantaka Shani, etc.).","operationId":"get_transits_transits_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/prashna":{"post":{"summary":"Get Prashna","description":"Calculate Prashna (Horary) chart for the moment of a question.\n\nQuestion types: general, health, wealth, career, marriage,\ntravel, education, legal, property, children.","operationId":"get_prashna_prashna_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrashnaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrashnaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/varshaphal":{"post":{"summary":"Get Varshaphal","description":"Calculate Varshaphal (Solar Return / Annual Horoscope).\n\nReturns the chart for the exact moment the Sun returns to its\nnatal position in the specified year, plus Muntha, Year Lord,\nand Tajaka yoga analysis.","operationId":"get_varshaphal_varshaphal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VarshaphalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VarshaphalResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/compatibility":{"post":{"summary":"Check Compatibility","description":"Calculate Ashtakoot (Kundali Milan) compatibility between two charts.\n\nEvaluates 8 koots based on Moon's nakshatra and rashi:\nVarna (1), Vashya (2), Tara (3), Yoni (4), Graha Maitri (5),\nGana (6), Bhakoot (7), Nadi (8). Maximum score: 36.","operationId":"check_compatibility_compatibility_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompatibilityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompatibilityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":5}},"/kp":{"post":{"summary":"Get Kp Chart","description":"Calculate KP (Krishnamurti Paddhati) chart.\n\nReturns planet positions with star lord, sub lord, and sub-sub lord,\nPlacidus house cusps with KP divisions, house significators\nfollowing the KP significator hierarchy, and KP ruling planets\n(Day Lord, Moon Sign/Star Lord, Ascendant Sign/Star Lord).\n\nCredit cost: 3 credits.","operationId":"get_kp_chart_kp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/kp/ruling-planets":{"post":{"summary":"Get Kp Ruling Planets","description":"Calculate KP Ruling Planets at a given moment.\n\nReturns the 5 ruling planets: Day Lord, Moon Sign Lord, Moon Star Lord,\nAscendant Sign Lord, and Ascendant Star Lord. These are used in KP\nastrology for event timing and prashna (horary) analysis.\n\nCredit cost: 1 credit.","operationId":"get_kp_ruling_planets_kp_ruling_planets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPRulingPlanetsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/kp/sublord-changes":{"post":{"summary":"Get Kp Sublord Changes","description":"Track when a planet's KP sub-lord changes over a time range.\n\nUses adaptive step sizes (fast for Moon, slow for Saturn/Jupiter) and\nbinary search to find exact crossing moments. Returns each change event\nwith datetime, longitude, from/to sub-lord, and from/to star-lord.\n\nCredit cost: 3 credits.","operationId":"get_kp_sublord_changes_kp_sublord_changes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPSublordChangesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/kp/ingress":{"post":{"summary":"Get Kp Ingress","description":"Find exact times when a planet enters a new rashi (sign).\n\nSteps through the time range detecting sign changes (floor(lon/30) differs),\nthen uses binary search to find the exact crossing moment.\n\nCredit cost: 3 credits.","operationId":"get_kp_ingress_kp_ingress_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPIngressRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/kp/planets-at-intervals":{"post":{"summary":"Get Kp Planets At Intervals","description":"Get planet positions with full KP hierarchy (sign, star lord, sub lord)\nat regular time intervals.\n\nCredit cost: 2 credits.","operationId":"get_kp_planets_at_intervals_kp_planets_at_intervals_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KPPlanetsAtIntervalsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/pancha-pakshi":{"post":{"summary":"Get Pancha Pakshi","description":"Calculate Pancha Pakshi (Five Birds System) for a given datetime and location.\n\nAncient Tamil timing system based on 5 birds: Vulture (Earth), Owl (Water),\nCrow (Fire), Cock (Air), Peacock (Ether). Each bird has an activity cycle\n(Ruling, Eating, Walking, Sleeping, Dying) throughout day and night.\n\nOptionally provide birth_nakshatra (1-27) and is_shukla_paksha to get\npersonalized birth bird analysis with best timing recommendations.\n\nCredit cost: 2 credits.","operationId":"get_pancha_pakshi_pancha_pakshi_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchaPakshiRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PanchaPakshiResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/health":{"get":{"summary":"Health Check","description":"Check API health and ephemeris availability.","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/metrics":{"get":{"summary":"Get Metrics","description":"Get API metrics: request counts, latencies, error rates, and cache stats.","operationId":"get_metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/register":{"post":{"tags":["accounts"],"summary":"Register","description":"Register and get an API key. Instant for anonymous. Verification for email/Telegram.\n\nReturns an API key with free tier (2 requests/day).\nFor more requests, buy credits via NOWPayments checkout or Telegram Stars.","operationId":"register_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/verify":{"get":{"tags":["accounts"],"summary":"Verify Email Token","description":"Verify email via link and activate account.\n\nFor browsers (humans clicking button): returns HTML page with API key.\nFor API clients (Accept: application/json): returns JSON.","operationId":"verify_email_token_verify_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["accounts"],"summary":"Verify Account","description":"Verify account via PIN code (email or Telegram). Returns API key on success.\n\nFor email: POST /verify {\"email\": \"user@example.com\", \"code\": \"123456\"}\nFor Telegram: POST /verify {\"telegram_id\": 123456789, \"code\": \"1234\"}","operationId":"verify_account_verify_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/register/status/{account_id}":{"get":{"tags":["accounts"],"summary":"Registration Status","description":"Check registration status. Agents poll this after sending user to verify.\n\nReturns api_key once account is verified. Returns pending if not yet verified.","operationId":"registration_status_register_status__account_id__get","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/account":{"get":{"tags":["accounts"],"summary":"Get Account","description":"Check balance and usage. No auth beyond the API key itself.","operationId":"get_account_account_get","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/topup/lightning":{"post":{"tags":["accounts"],"summary":"Topup Lightning","description":"Step 1: Get a Lightning invoice to pay for credits.\n\nFully autonomous — agent calls this, gets an invoice, pays it programmatically,\nthen calls POST /topup with the payment_hash to verify and receive credits.\n\nDefault: 10,000 sats = 100 credits = 100 API calls.","operationId":"topup_lightning_topup_lightning_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupLightningRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupLightningResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/topup":{"post":{"tags":["accounts"],"summary":"Topup","description":"Step 2: Verify payment and receive credits.\n\nAfter paying the Lightning invoice from /topup/lightning, call this\nwith the payment_hash. Credits are added instantly on verification.\n\nFor promo codes: use payment_type='promo' and payment_hash=<promo_code>.","operationId":"topup_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/ai-plugin.json":{"get":{"tags":["discovery"],"summary":"Ai Plugin Manifest","description":"ChatGPT / OpenAI plugin discovery manifest.","operationId":"ai_plugin_manifest__well_known_ai_plugin_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp.json":{"get":{"tags":["discovery"],"summary":"Mcp Manifest","description":"MCP (Model Context Protocol) server manifest for AI agent discovery.","operationId":"mcp_manifest__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/skill.json":{"get":{"tags":["discovery"],"summary":"Skill Manifest","description":"ClawHub / OpenClaw skill manifest (JSON version of SKILL.md).","operationId":"skill_manifest_skill_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp/server-card.json":{"get":{"tags":["discovery"],"summary":"Smithery Server Card","description":"Smithery.ai static server card for tool discovery.","operationId":"smithery_server_card__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/stats":{"get":{"tags":["admin"],"summary":"Admin Stats","description":"Comprehensive admin statistics: financials, usage, clients, system.\n\nRequires X-Admin-Key header matching PANCHANGA_ADMIN_KEY env var.","operationId":"admin_stats_admin_stats_get","parameters":[{"name":"X-Admin-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/grant-credits":{"post":{"tags":["admin"],"summary":"Grant Credits","description":"Manually grant credits to an account.\n\nUse this to:\n- Confirm USDC payments (payment_type='usdc', payment_proof=tx_hash)\n- Grant promo credits (payment_type='promo')\n- Issue refunds (payment_type='refund')\n- Any manual credit adjustment (payment_type='manual')\n\nProvide either account_id OR api_key to identify the account.","operationId":"grant_credits_admin_grant_credits_post","parameters":[{"name":"X-Admin-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditGrantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditGrantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/check-events":{"post":{"tags":["admin"],"summary":"Admin Check Events","description":"Trigger webhook delivery for detected astrological events.\n\nThis is the MVP event trigger endpoint. The admin (or a cron job)\ndetects events externally (e.g. by calling /panchanga for today)\nand posts them here to notify all matching webhook subscribers.\n\nRequires X-Admin-Key header.","operationId":"admin_check_events_admin_check_events_post","parameters":[{"name":"X-Admin-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEventsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhook/telegram":{"post":{"tags":["telegram"],"summary":"Telegram Webhook","description":"Process incoming Telegram webhook updates.\n\nThis endpoint receives Update objects from Telegram's Bot API\nand routes them to the appropriate handler (commands, payments).","operationId":"telegram_webhook_webhook_telegram_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/checkout":{"post":{"tags":["payments"],"summary":"Checkout Unified","description":"Create a checkout session. API key is passed in the request body (not URL).\n\nFor credits (one-time): {\"api_key\": \"pnc_...\", \"credits\": 100, \"method\": \"card\"}\nFor plans (subscription): {\"api_key\": \"pnc_...\", \"plan\": \"starter\", \"method\": \"card\"}\nMethods: \"card\" (Polar.sh — Visa/MC/Apple Pay), \"crypto\" (NOWPayments — 350+ coins)","operationId":"checkout_unified_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/checkout/{api_key}/{credits}":{"get":{"tags":["payments"],"summary":"Checkout","description":"Create a crypto payment checkout for API credits.\n\nFor browser clients (Accept: text/html): redirects to NOWPayments invoice page.\nFor API clients: returns JSON with invoice_url.\n\nCredits pricing: 1 credit = $0.03.\nMinimum: 10 credits ($0.10). Maximum: 100,000 credits ($1,000).","operationId":"checkout_checkout__api_key___credits__get","parameters":[{"name":"api_key","in":"path","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"credits","in":"path","required":true,"schema":{"type":"integer","title":"Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/checkout/plan/{api_key}/{plan}":{"get":{"tags":["payments"],"summary":"Checkout Plan","description":"Create a crypto payment checkout for a monthly subscription plan.\n\nPlans offer bulk credits at a steep discount vs pay-as-you-go:\n- starter: $20 for 5,000 credits (87% discount, effective $0.004/credit)\n- pro: $100 for 50,000 credits (93% discount, effective $0.002/credit)\n\nFor browser clients (Accept: text/html): redirects to NOWPayments invoice page.\nFor API clients: returns JSON with invoice_url.","operationId":"checkout_plan_checkout_plan__api_key___plan__get","parameters":[{"name":"api_key","in":"path","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"plan","in":"path","required":true,"schema":{"type":"string","title":"Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhook/lemonsqueezy":{"post":{"tags":["payments"],"summary":"Lemonsqueezy Webhook","description":"Handle LemonSqueezy webhook callback.\n\nVerifies HMAC-SHA256 signature in X-Signature header, then credits the account\non order_created (one-time) or subscription_payment_success (recurring).","operationId":"lemonsqueezy_webhook_webhook_lemonsqueezy_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/checkout/card/{api_key}/{credits}":{"get":{"tags":["payments"],"summary":"Checkout Polar","description":"Create a card payment checkout for API credits via Polar.sh (MoR).\n\nSupports Visa, Mastercard, Apple Pay, Google Pay.\nCredits pricing: 1 credit = $0.03. Packages: 100/500/1000/5000.","operationId":"checkout_polar_checkout_card__api_key___credits__get","parameters":[{"name":"api_key","in":"path","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"credits","in":"path","required":true,"schema":{"type":"integer","title":"Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/checkout/card/plan/{api_key}/{plan}":{"get":{"tags":["payments"],"summary":"Checkout Polar Plan","description":"Create a card payment checkout for a monthly subscription plan via Polar.sh.\n\nPlans: starter ($20/mo, 5000 credits), pro ($100/mo, 50000 credits).","operationId":"checkout_polar_plan_checkout_card_plan__api_key___plan__get","parameters":[{"name":"api_key","in":"path","required":true,"schema":{"type":"string","title":"Api Key"}},{"name":"plan","in":"path","required":true,"schema":{"type":"string","title":"Plan"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhook/polar":{"post":{"tags":["payments"],"summary":"Polar Webhook","description":"Handle Polar.sh webhook callbacks.\n\nVerifies HMAC-SHA256 signature, then credits account on order.created\nor subscription payment events.","operationId":"polar_webhook_webhook_polar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/webhook/nowpayments":{"post":{"tags":["payments"],"summary":"Nowpayments Ipn","description":"Handle NOWPayments IPN (Instant Payment Notification) callback.\n\nVerifies HMAC-SHA512 signature, then credits the account on successful payment.\nNOWPayments calls this URL automatically when payment status changes.","operationId":"nowpayments_ipn_webhook_nowpayments_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/payment/success":{"get":{"tags":["payments"],"summary":"Payment Success","description":"Success page displayed after crypto payment on NOWPayments.","operationId":"payment_success_payment_success_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/payment/cancel":{"get":{"tags":["payments"],"summary":"Payment Cancel","description":"Cancel page displayed when user cancels crypto payment.","operationId":"payment_cancel_payment_cancel_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/vrata/{year}":{"get":{"summary":"Get Vratas","description":"Get Vrata (religious observance) calendar for a given year.\n\nReturns astronomically computed dates for Ekadashi, Pradosham, Chaturthi,\nPurnima, Amavasya, Shivaratri, Sankranti, Navaratri, and Maha Shivaratri.\n\n- **year**: Calendar year (1900-2100)\n- **latitude**: Location for calculations (default: Delhi)\n- **longitude**: Location for calculations (default: Delhi)\n\n**Credit cost: 5**","operationId":"get_vratas_vrata__year__get","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"latitude","in":"query","required":false,"schema":{"type":"number","default":28.6139,"title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","default":77.209,"title":"Longitude"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":5}},"/vrata/{year}/{month}":{"get":{"summary":"Get Vratas By Month","description":"Get Vrata (religious observance) calendar for a specific month.\n\n- **year**: Calendar year (1900-2100)\n- **month**: Month (1-12)\n- **latitude**: Location for calculations (default: Delhi)\n- **longitude**: Location for calculations (default: Delhi)\n\n**Credit cost: 1**","operationId":"get_vratas_by_month_vrata__year___month__get","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"path","required":true,"schema":{"type":"integer","title":"Month"}},{"name":"latitude","in":"query","required":false,"schema":{"type":"number","default":28.6139,"title":"Latitude"}},{"name":"longitude","in":"query","required":false,"schema":{"type":"number","default":77.209,"title":"Longitude"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":5}},"/remedies":{"post":{"summary":"Get Remedies","description":"Suggest Vedic remedies (Upaya) based on birth chart analysis.\n\nAnalyzes the Kundali for weak, afflicted, and debilitated planets,\nactive doshas (Mangal, Kalsarpa, Pitra), and returns traditional\nVedic remedies including mantras, gemstones, charity, fasting,\ndeity worship, and Lal Kitab remedies.\n\nInput: same as /kundali (datetime, latitude, longitude).\n\n**Credit cost: 3**","operationId":"get_remedies_remedies_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KundaliRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/webhooks/subscribe":{"post":{"tags":["webhooks"],"summary":"Subscribe","description":"Subscribe to astrological event notifications via webhook.\n\nCosts 1 credit per subscription. Webhook deliveries are free.\n\nSupported event types:\n- `ekadashi` — each Ekadashi (11th tithi, twice per lunar month)\n- `purnima` — Full Moon (15th tithi)\n- `amavasya` — New Moon (30th tithi)\n- `sankranti` — Sun entering a new sidereal sign\n- `saturn_sign_change` — Saturn ingress into a new sign (rare, ~2.5 years)\n- `jupiter_sign_change` — Jupiter ingress into a new sign (~yearly)\n- `mercury_retrograde_start` — Mercury retrograde begins (~3x/year)\n- `mercury_retrograde_end` — Mercury retrograde ends\n- `eclipse_solar` — Solar eclipse\n- `eclipse_lunar` — Lunar eclipse\n\nWebhook POST payload format:\n```json\n{\n  \"subscription_id\": \"sub_xxx\",\n  \"event\": \"ekadashi\",\n  \"data\": { ... event-specific data ... },\n  \"delivered_at\": \"2026-03-16T00:00:00+00:00\"\n}\n```\nVerify authenticity via `X-Webhook-Signature: sha256=<hmac>` header\n(HMAC-SHA256 of the JSON body using subscription_id as key).","operationId":"subscribe_webhooks_subscribe_post","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscribeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookSubscribeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":1}},"/webhooks":{"get":{"tags":["webhooks"],"summary":"List Webhooks","description":"List all webhook subscriptions for the authenticated account.","operationId":"list_webhooks_webhooks_get","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":0}},"/webhooks/{subscription_id}":{"delete":{"tags":["webhooks"],"summary":"Unsubscribe","description":"Delete a webhook subscription.","operationId":"unsubscribe_webhooks__subscription_id__delete","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}},{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":0}},"/aspects":{"post":{"summary":"Get Aspects","description":"Calculate Planetary Aspects (Graha Drishti and Rashi Drishti).\n\nReturns Parashari house-based aspects with strength percentages (25/50/75/100%),\nJaimini sign-based Rashi Drishti, and mutual aspect detection.\n\nSpecial aspects: Mars (4th/8th at 100%), Jupiter (5th/9th at 100%),\nSaturn (3rd/10th at 100%).\n\nCredit cost: 3 credits.","operationId":"get_aspects_aspects_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AspectsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AspectsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/upagrahas":{"post":{"summary":"Get Upagrahas","description":"Calculate all 11 Upagrahas (sub-planets).\n\nSun-based (5): Dhuma, Vyatipata, Parivesha, Indrachapa, Upaketu\n— derived from Sun's sidereal longitude.\n\nTime-based (6): Gulika, Mandi, Kaala, Mrityu, Ardhaprahara, Yamaghantaka\n— derived from sunrise time and weekday planetary hour divisions.\n\nEach upagraha returns longitude, sign, nakshatra placement.\n\nCredit cost: 2 credits.","operationId":"get_upagrahas_upagrahas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpagrahasRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpagrahasResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}},"/transits/monthly":{"post":{"summary":"Get Monthly Transits","description":"Calculate all planetary sign changes and retrograde events during a month.\n\nReturns ingress events (planet entering a new sign) for all 9 Vedic planets,\nplus retrograde start/end events for Mercury, Venus, Mars, Jupiter, and Saturn.\nAlgorithm steps daily (half-day for Moon) and binary-searches for exact times.\n\nCredit cost: 3 credits.","operationId":"get_monthly_transits_transits_monthly_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyTransitsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/aspects/monthly":{"post":{"summary":"Get Monthly Aspects","description":"Calculate major aspect events between planets during a month.\n\nDetects conjunction (0 deg), sextile (60 deg), square (90 deg), trine (120 deg),\nand opposition (180 deg) formations between all planet pairs (excluding Moon).\nBinary-searches for exact aspect times within a 1.5 degree orb.\n\nCredit cost: 3 credits.","operationId":"get_monthly_aspects_aspects_monthly_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonthlyAspectsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":3}},"/aspects/lunar":{"post":{"summary":"Get Lunar Aspects","description":"Calculate Moon's aspects to all planets over a given number of days.\n\nMoon moves ~13 degrees/day, forming frequent aspects with other planets.\nSteps hourly, detecting conjunction, sextile, square, trine, and opposition\nformations. Returns Moon sign at the time of each aspect.\n\nCredit cost: 2 credits.","operationId":"get_lunar_aspects_aspects_lunar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LunarAspectsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-credits":2}}},"components":{"schemas":{"AccountResponse":{"properties":{"account_id":{"type":"string","title":"Account Id"},"tier":{"type":"string","title":"Tier"},"balance":{"type":"number","title":"Balance"},"plan_credits":{"type":"number","title":"Plan Credits","default":0},"plan_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Type"},"plan_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Expires At"},"usage_today":{"type":"integer","title":"Usage Today"},"usage_total":{"type":"integer","title":"Usage Total"},"rate_limit":{"type":"integer","title":"Rate Limit"},"free_tier_daily":{"type":"integer","title":"Free Tier Daily"}},"type":"object","required":["account_id","tier","balance","usage_today","usage_total","rate_limit","free_tier_daily"],"title":"AccountResponse"},"AntardashaPeriod":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_years":{"type":"number","title":"Duration Years"}},"type":"object","required":["planet","start","end","duration_years"],"title":"AntardashaPeriod"},"AntardashaPeriodFull":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_years":{"type":"number","title":"Duration Years"},"pratyantardashas":{"anyOf":[{"items":{"$ref":"#/components/schemas/PratyantardashaPeriod"},"type":"array"},{"type":"null"}],"title":"Pratyantardashas"}},"type":"object","required":["planet","start","end","duration_years"],"title":"AntardashaPeriodFull"},"AshtakavargaInfo":{"properties":{"bhinnashtakavarga":{"items":{"$ref":"#/components/schemas/BhinnashtakavargaEntry"},"type":"array","title":"Bhinnashtakavarga"},"sarvashtakavarga":{"$ref":"#/components/schemas/SarvashtakavargaEntry"},"shodhya_pinda":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ShodhyaPindaEntry"},"type":"object"},{"type":"null"}],"title":"Shodhya Pinda"},"strongest_sign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Sign"},"weakest_sign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Weakest Sign"}},"type":"object","required":["bhinnashtakavarga","sarvashtakavarga"],"title":"AshtakavargaInfo"},"AspectInfo":{"properties":{"from_planet":{"type":"string","title":"From Planet"},"to_planet":{"type":"string","title":"To Planet"},"aspect_house":{"type":"integer","title":"Aspect House"},"from_house":{"type":"integer","title":"From House"},"to_house":{"type":"integer","title":"To House"}},"type":"object","required":["from_planet","to_planet","aspect_house","from_house","to_house"],"title":"AspectInfo"},"AspectsRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"AspectsRequest"},"AspectsResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"lagna":{"$ref":"#/components/schemas/LagnaInfo"},"graha_drishti":{"additionalProperties":{"$ref":"#/components/schemas/GrahaDrishtiEntry"},"type":"object","title":"Graha Drishti"},"rashi_drishti":{"items":{"$ref":"#/components/schemas/RashiDrishtiEntry"},"type":"array","title":"Rashi Drishti"},"mutual_aspects":{"items":{"$ref":"#/components/schemas/MutualAspectEntry"},"type":"array","title":"Mutual Aspects"}},"type":"object","required":["datetime","latitude","longitude","lagna","graha_drishti","rashi_drishti","mutual_aspects"],"title":"AspectsResponse"},"BhavaCusp":{"properties":{"house":{"type":"integer","title":"House"},"midpoint":{"type":"number","title":"Midpoint"},"start":{"type":"number","title":"Start"},"end":{"type":"number","title":"End"},"midpoint_rashi":{"type":"string","title":"Midpoint Rashi"}},"type":"object","required":["house","midpoint","start","end","midpoint_rashi"],"title":"BhavaCusp"},"BhavaPlanet":{"properties":{"planet":{"type":"string","title":"Planet"},"longitude":{"type":"number","title":"Longitude"},"rashi_house":{"type":"integer","title":"Rashi House"},"bhava_house":{"type":"integer","title":"Bhava House"},"shifted":{"type":"boolean","title":"Shifted"}},"type":"object","required":["planet","longitude","rashi_house","bhava_house","shifted"],"title":"BhavaPlanet"},"BhavaResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"cusps":{"items":{"$ref":"#/components/schemas/BhavaCusp"},"type":"array","title":"Cusps"},"planets":{"items":{"$ref":"#/components/schemas/BhavaPlanet"},"type":"array","title":"Planets"},"shifted_count":{"type":"integer","title":"Shifted Count"},"shifted_planets":{"items":{"type":"string"},"type":"array","title":"Shifted Planets"}},"type":"object","required":["datetime","latitude","longitude","cusps","planets","shifted_count","shifted_planets"],"title":"BhavaResponse"},"BhinnashtakavargaEntry":{"properties":{"planet":{"type":"string","title":"Planet"},"scores":{"additionalProperties":{"type":"integer"},"type":"object","title":"Scores"},"scores_array":{"items":{"type":"integer"},"type":"array","title":"Scores Array","default":[]},"total":{"type":"integer","title":"Total"},"prastharashtakavarga":{"anyOf":[{"additionalProperties":{"additionalProperties":{"type":"integer"},"type":"object"},"type":"object"},{"type":"null"}],"title":"Prastharashtakavarga"}},"type":"object","required":["planet","scores","total"],"title":"BhinnashtakavargaEntry"},"ChartYoga":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"category":{"type":"string","title":"Category","default":""},"planets":{"items":{"type":"string"},"type":"array","title":"Planets"},"houses_involved":{"items":{"type":"integer"},"type":"array","title":"Houses Involved","default":[]},"strength":{"type":"string","title":"Strength","default":"moderate"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","type","planets","description"],"title":"ChartYoga"},"CheckEventsRequest":{"properties":{"events":{"items":{"additionalProperties":true,"type":"object"},"type":"array","minItems":1,"title":"Events","description":"List of detected events to trigger webhooks for. Each event: {\"type\": \"ekadashi\", \"data\": {...}}. Valid types: ekadashi, purnima, amavasya, sankranti, saturn_sign_change, jupiter_sign_change, mercury_retrograde_start, mercury_retrograde_end, eclipse_solar, eclipse_lunar."}},"type":"object","required":["events"],"title":"CheckEventsRequest"},"CheckoutRequest":{"properties":{"api_key":{"type":"string","title":"Api Key"},"credits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"method":{"type":"string","title":"Method","description":"Payment method: card, crypto","default":"card"}},"type":"object","required":["api_key"],"title":"CheckoutRequest","description":"Unified checkout request — API key in body, not URL."},"ChoghadiyaPeriod":{"properties":{"period_number":{"type":"integer","title":"Period Number"},"name":{"type":"string","title":"Name"},"planet":{"type":"string","title":"Planet"},"nature":{"type":"string","title":"Nature"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["period_number","name","planet","nature","start","end"],"title":"ChoghadiyaPeriod"},"ChoghadiyaResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"sunrise":{"type":"string","title":"Sunrise"},"sunset":{"type":"string","title":"Sunset"},"next_sunrise":{"type":"string","title":"Next Sunrise"},"day_choghadiya":{"items":{"$ref":"#/components/schemas/ChoghadiyaPeriod"},"type":"array","title":"Day Choghadiya"},"night_choghadiya":{"items":{"$ref":"#/components/schemas/ChoghadiyaPeriod"},"type":"array","title":"Night Choghadiya"},"hora":{"items":{"$ref":"#/components/schemas/HoraPeriod"},"type":"array","title":"Hora"}},"type":"object","required":["datetime","latitude","longitude","sunrise","sunset","next_sunrise","day_choghadiya","night_choghadiya","hora"],"title":"ChoghadiyaResponse"},"CompatibilityRequest":{"properties":{"groom_datetime":{"type":"string","format":"date-time","title":"Groom Datetime","description":"Groom birth datetime"},"groom_latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Groom Latitude","description":"Groom birth latitude"},"groom_longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Groom Longitude","description":"Groom birth longitude"},"bride_datetime":{"type":"string","format":"date-time","title":"Bride Datetime","description":"Bride birth datetime"},"bride_latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Bride Latitude","description":"Bride birth latitude"},"bride_longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Bride Longitude","description":"Bride birth longitude"}},"type":"object","required":["groom_datetime","groom_latitude","groom_longitude","bride_datetime","bride_latitude","bride_longitude"],"title":"CompatibilityRequest"},"CompatibilityResponse":{"properties":{"total_score":{"type":"number","title":"Total Score"},"max_score":{"type":"integer","title":"Max Score"},"recommendation":{"type":"string","title":"Recommendation"},"koots":{"items":{"$ref":"#/components/schemas/KootScore"},"type":"array","title":"Koots"}},"type":"object","required":["total_score","max_score","recommendation","koots"],"title":"CompatibilityResponse"},"CreditGrantRequest":{"properties":{"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id","description":"Account ID (acc_...). Provide this OR api_key."},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key","description":"API key (pnc_...). Provide this OR account_id."},"credits":{"type":"number","maximum":1000000.0,"exclusiveMinimum":0.0,"title":"Credits"},"reason":{"type":"string","maxLength":500,"minLength":1,"title":"Reason","description":"Reason for credit grant (e.g., 'USDC payment 0xabc confirmed')"},"payment_type":{"type":"string","title":"Payment Type","description":"Payment type for logging: manual, usdc, promo, refund","default":"manual"},"payment_proof":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Proof","description":"Transaction hash or reference"}},"type":"object","required":["credits","reason"],"title":"CreditGrantRequest"},"CreditGrantResponse":{"properties":{"account_id":{"type":"string","title":"Account Id"},"credits_added":{"type":"number","title":"Credits Added"},"new_balance":{"type":"number","title":"New Balance"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["account_id","credits_added","new_balance","reason"],"title":"CreditGrantResponse"},"CurrentDasha":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["planet","start","end"],"title":"CurrentDasha"},"CurrentMahaDasha":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["planet","start","end"],"title":"CurrentMahaDasha"},"CurrentPeriod":{"properties":{"maha_dasha":{"$ref":"#/components/schemas/CurrentMahaDasha"},"antar_dasha":{"anyOf":[{"$ref":"#/components/schemas/CurrentMahaDasha"},{"type":"null"}]},"pratyantar_dasha":{"anyOf":[{"$ref":"#/components/schemas/CurrentMahaDasha"},{"type":"null"}]}},"type":"object","required":["maha_dasha"],"title":"CurrentPeriod"},"DashaInfo":{"properties":{"system":{"type":"string","title":"System"},"current":{"anyOf":[{"$ref":"#/components/schemas/CurrentDasha"},{"type":"null"}]},"maha_dashas":{"items":{"$ref":"#/components/schemas/DashaPeriod"},"type":"array","title":"Maha Dashas"}},"type":"object","required":["system","maha_dashas"],"title":"DashaInfo"},"DashaPeriod":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_years":{"type":"number","title":"Duration Years"},"antardashas":{"items":{"$ref":"#/components/schemas/AntardashaPeriod"},"type":"array","title":"Antardashas"}},"type":"object","required":["planet","start","end","duration_years","antardashas"],"title":"DashaPeriod"},"DashaPeriodFull":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_years":{"type":"number","title":"Duration Years"},"antardashas":{"items":{"$ref":"#/components/schemas/AntardashaPeriodFull"},"type":"array","title":"Antardashas"}},"type":"object","required":["planet","start","end","duration_years","antardashas"],"title":"DashaPeriodFull"},"DashaRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime","description":"Birth datetime (ISO 8601)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Birth latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Birth longitude in degrees"},"query_datetime":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Query Datetime","description":"Datetime to find current period (default: now)"}},"type":"object","required":["datetime","latitude","longitude"],"title":"DashaRequest"},"DashaResponse":{"properties":{"birth_datetime":{"type":"string","title":"Birth Datetime"},"query_datetime":{"type":"string","title":"Query Datetime"},"moon_longitude":{"type":"number","title":"Moon Longitude"},"moon_nakshatra":{"type":"string","title":"Moon Nakshatra"},"moon_nakshatra_lord":{"type":"string","title":"Moon Nakshatra Lord"},"system":{"type":"string","title":"System"},"current":{"anyOf":[{"$ref":"#/components/schemas/CurrentPeriod"},{"type":"null"}]},"maha_dashas":{"items":{"$ref":"#/components/schemas/DashaPeriodFull"},"type":"array","title":"Maha Dashas"}},"type":"object","required":["birth_datetime","query_datetime","moon_longitude","moon_nakshatra","moon_nakshatra_lord","system","maha_dashas"],"title":"DashaResponse"},"DoshasInfo":{"properties":{"mangal_dosha":{"$ref":"#/components/schemas/MangalDoshaInfo"},"kalsarpa_dosha":{"$ref":"#/components/schemas/KalsarpaDoshaInfo"},"pitra_dosha":{"$ref":"#/components/schemas/PitraDoshaInfo"}},"type":"object","required":["mangal_dosha","kalsarpa_dosha","pitra_dosha"],"title":"DoshasInfo"},"EphemerisResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"planets":{"items":{"$ref":"#/components/schemas/PlanetPosition"},"type":"array","title":"Planets"}},"type":"object","required":["datetime","planets"],"title":"EphemerisResponse"},"FestivalEntry":{"properties":{"date":{"type":"string","title":"Date"},"datetime":{"type":"string","title":"Datetime"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"tithi_number":{"type":"integer","title":"Tithi Number"},"description":{"type":"string","title":"Description"}},"type":"object","required":["date","datetime","name","type","tithi_number","description"],"title":"FestivalEntry"},"FestivalsResponse":{"properties":{"year":{"type":"integer","title":"Year"},"month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"},"count":{"type":"integer","title":"Count"},"festivals":{"items":{"$ref":"#/components/schemas/FestivalEntry"},"type":"array","title":"Festivals"}},"type":"object","required":["year","count","festivals"],"title":"FestivalsResponse"},"GrahaDrishtiAspect":{"properties":{"aspected_planet":{"type":"string","title":"Aspected Planet"},"aspected_rashi":{"type":"string","title":"Aspected Rashi"},"house_offset":{"type":"integer","title":"House Offset"},"strength_percent":{"type":"integer","title":"Strength Percent"},"from_house":{"type":"integer","title":"From House"},"to_house":{"type":"integer","title":"To House"},"is_special":{"type":"boolean","title":"Is Special"}},"type":"object","required":["aspected_planet","aspected_rashi","house_offset","strength_percent","from_house","to_house","is_special"],"title":"GrahaDrishtiAspect"},"GrahaDrishtiEntry":{"properties":{"longitude":{"type":"number","title":"Longitude"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"house":{"type":"integer","title":"House"},"aspects":{"items":{"$ref":"#/components/schemas/GrahaDrishtiAspect"},"type":"array","title":"Aspects"}},"type":"object","required":["longitude","rashi","rashi_number","house","aspects"],"title":"GrahaDrishtiEntry"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"version":{"type":"string","title":"Version"},"ephemeris":{"type":"boolean","title":"Ephemeris"},"endpoints":{"items":{"type":"string"},"type":"array","title":"Endpoints"},"payment":{"anyOf":[{"$ref":"#/components/schemas/PaymentInfo"},{"type":"null"}]}},"type":"object","required":["status","version","ephemeris","endpoints"],"title":"HealthResponse"},"HoraPeriod":{"properties":{"hour":{"type":"integer","title":"Hour"},"planet":{"type":"string","title":"Planet"},"ruler":{"type":"string","title":"Ruler"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["hour","planet","ruler","start","end"],"title":"HoraPeriod"},"HouseInfo":{"properties":{"house":{"type":"integer","title":"House"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"lord":{"type":"string","title":"Lord"},"planets":{"items":{"type":"string"},"type":"array","title":"Planets"}},"type":"object","required":["house","rashi","rashi_number","lord","planets"],"title":"HouseInfo"},"InauspiciousPeriod":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_minutes":{"type":"number","title":"Duration Minutes"}},"type":"object","required":["start","end","duration_minutes"],"title":"InauspiciousPeriod"},"InauspiciousPeriods":{"properties":{"rahukaal":{"$ref":"#/components/schemas/InauspiciousPeriod"},"yamaghanda":{"$ref":"#/components/schemas/InauspiciousPeriod"},"gulika":{"$ref":"#/components/schemas/InauspiciousPeriod"}},"type":"object","required":["rahukaal","yamaghanda","gulika"],"title":"InauspiciousPeriods"},"KPCusp":{"properties":{"longitude":{"type":"number","title":"Longitude"},"sign":{"type":"string","title":"Sign"},"star_lord":{"type":"string","title":"Star Lord"},"sub_lord":{"type":"string","title":"Sub Lord"}},"type":"object","required":["longitude","sign","star_lord","sub_lord"],"title":"KPCusp"},"KPIngressRequest":{"properties":{"planet":{"type":"string","title":"Planet","description":"Planet name (e.g. 'saturn', 'jupiter', 'sun')"},"start":{"type":"string","format":"date-time","title":"Start","description":"Start datetime (ISO 8601 with timezone)"},"end":{"type":"string","format":"date-time","title":"End","description":"End datetime (ISO 8601 with timezone)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["planet","start","end","latitude","longitude"],"title":"KPIngressRequest"},"KPPlanet":{"properties":{"longitude":{"type":"number","title":"Longitude"},"sign":{"type":"string","title":"Sign"},"star_lord":{"type":"string","title":"Star Lord"},"sub_lord":{"type":"string","title":"Sub Lord"},"sub_sub_lord":{"type":"string","title":"Sub Sub Lord"},"house":{"type":"integer","title":"House"},"retrograde":{"type":"boolean","title":"Retrograde"},"speed":{"type":"number","title":"Speed"}},"type":"object","required":["longitude","sign","star_lord","sub_lord","sub_sub_lord","house","retrograde","speed"],"title":"KPPlanet"},"KPPlanetsAtIntervalsRequest":{"properties":{"start":{"type":"string","format":"date-time","title":"Start","description":"Start datetime (ISO 8601 with timezone)"},"end":{"type":"string","format":"date-time","title":"End","description":"End datetime (ISO 8601 with timezone)"},"interval_hours":{"type":"number","maximum":720.0,"exclusiveMinimum":0.0,"title":"Interval Hours","description":"Hours between each snapshot"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["start","end","interval_hours","latitude","longitude"],"title":"KPPlanetsAtIntervalsRequest"},"KPRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"KPRequest"},"KPResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"system":{"type":"string","title":"System"},"ayanamsa":{"type":"string","title":"Ayanamsa"},"house_system":{"type":"string","title":"House System"},"planets":{"additionalProperties":{"$ref":"#/components/schemas/KPPlanet"},"type":"object","title":"Planets"},"cusps":{"additionalProperties":{"$ref":"#/components/schemas/KPCusp"},"type":"object","title":"Cusps"},"significators":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Significators"},"ruling_planets":{"anyOf":[{"$ref":"#/components/schemas/KPRulingPlanets"},{"type":"null"}]}},"type":"object","required":["datetime","latitude","longitude","system","ayanamsa","house_system","planets","cusps","significators"],"title":"KPResponse"},"KPRulingPlanets":{"properties":{"day_lord":{"type":"string","title":"Day Lord"},"moon_sign_lord":{"type":"string","title":"Moon Sign Lord"},"moon_star_lord":{"type":"string","title":"Moon Star Lord"},"ascendant_sign_lord":{"type":"string","title":"Ascendant Sign Lord"},"ascendant_star_lord":{"type":"string","title":"Ascendant Star Lord"},"ordered":{"items":{"type":"string"},"type":"array","title":"Ordered"}},"type":"object","required":["day_lord","moon_sign_lord","moon_star_lord","ascendant_sign_lord","ascendant_star_lord","ordered"],"title":"KPRulingPlanets"},"KPRulingPlanetsResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"ruling_planets":{"$ref":"#/components/schemas/KPRulingPlanets"}},"type":"object","required":["datetime","latitude","longitude","ruling_planets"],"title":"KPRulingPlanetsResponse"},"KPSublordChangesRequest":{"properties":{"planet":{"type":"string","title":"Planet","description":"Planet name (e.g. 'jupiter', 'moon', 'saturn')"},"start":{"type":"string","format":"date-time","title":"Start","description":"Start datetime (ISO 8601 with timezone)"},"end":{"type":"string","format":"date-time","title":"End","description":"End datetime (ISO 8601 with timezone)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["planet","start","end","latitude","longitude"],"title":"KPSublordChangesRequest"},"KalsarpaDoshaInfo":{"properties":{"present":{"type":"boolean","title":"Present"},"partial":{"type":"boolean","title":"Partial"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"type_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type Name"},"rahu_house":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rahu House"},"ketu_house":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ketu House"},"planets_within_axis":{"type":"integer","title":"Planets Within Axis"},"total_planets":{"type":"integer","title":"Total Planets"},"description":{"type":"string","title":"Description"}},"type":"object","required":["present","partial","planets_within_axis","total_planets","description"],"title":"KalsarpaDoshaInfo"},"Karana":{"properties":{"number":{"type":"integer","title":"Number"},"name":{"type":"string","title":"Name"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["number","name","favorable","start","end"],"title":"Karana"},"KootScore":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"max_score":{"type":"number","title":"Max Score"},"score":{"type":"number","title":"Score"}},"type":"object","required":["name","description","max_score","score"],"title":"KootScore"},"KundaliPlanet":{"properties":{"planet":{"type":"string","title":"Planet"},"vedic_name":{"type":"string","title":"Vedic Name"},"longitude":{"type":"number","title":"Longitude"},"latitude":{"type":"number","title":"Latitude"},"speed":{"type":"number","title":"Speed"},"retrograde":{"type":"boolean","title":"Retrograde"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"degree_in_rashi":{"type":"number","title":"Degree In Rashi"},"house":{"type":"integer","title":"House"},"dignity":{"type":"string","title":"Dignity"}},"type":"object","required":["planet","vedic_name","longitude","latitude","speed","retrograde","rashi","rashi_number","degree_in_rashi","house","dignity"],"title":"KundaliPlanet"},"KundaliRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"KundaliRequest"},"KundaliResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"lagna":{"$ref":"#/components/schemas/LagnaInfo"},"planets":{"items":{"$ref":"#/components/schemas/KundaliPlanet"},"type":"array","title":"Planets"},"houses":{"items":{"$ref":"#/components/schemas/HouseInfo"},"type":"array","title":"Houses"},"aspects":{"items":{"$ref":"#/components/schemas/AspectInfo"},"type":"array","title":"Aspects"},"navamsha":{"$ref":"#/components/schemas/NavamshaChart"},"dasha":{"$ref":"#/components/schemas/DashaInfo"},"classification":{"$ref":"#/components/schemas/PlanetClassification"},"yogas":{"items":{"$ref":"#/components/schemas/ChartYoga"},"type":"array","title":"Yogas"},"ashtakavarga":{"$ref":"#/components/schemas/AshtakavargaInfo"},"doshas":{"$ref":"#/components/schemas/DoshasInfo"}},"type":"object","required":["datetime","latitude","longitude","lagna","planets","houses","aspects","navamsha","dasha","classification","yogas","ashtakavarga","doshas"],"title":"KundaliResponse"},"LagnaInfo":{"properties":{"longitude":{"type":"number","title":"Longitude"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"degree_in_rashi":{"type":"number","title":"Degree In Rashi"},"nakshatra":{"type":"string","title":"Nakshatra"}},"type":"object","required":["longitude","rashi","rashi_number","degree_in_rashi","nakshatra"],"title":"LagnaInfo"},"LunarAspectsRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime","description":"Start datetime (ISO 8601)"},"days":{"type":"integer","maximum":31.0,"minimum":1.0,"title":"Days","description":"Number of days to scan (1-31)","default":7},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"LunarAspectsRequest"},"MangalDoshaInfo":{"properties":{"present":{"type":"boolean","title":"Present"},"severity":{"type":"string","title":"Severity"},"mars_house_from_lagna":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mars House From Lagna"},"mars_house_from_moon":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mars House From Moon"},"mars_house_from_venus":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mars House From Venus"},"cancellations":{"items":{"type":"string"},"type":"array","title":"Cancellations"},"description":{"type":"string","title":"Description"}},"type":"object","required":["present","severity","cancellations","description"],"title":"MangalDoshaInfo"},"MonthlyAspectsRequest":{"properties":{"year":{"type":"integer","maximum":2100.0,"minimum":1900.0,"title":"Year","description":"Year (1900-2100)"},"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month","description":"Month (1-12)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["year","month","latitude","longitude"],"title":"MonthlyAspectsRequest"},"MonthlyTransitsRequest":{"properties":{"year":{"type":"integer","maximum":2100.0,"minimum":1900.0,"title":"Year","description":"Year (1900-2100)"},"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month","description":"Month (1-12)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["year","month","latitude","longitude"],"title":"MonthlyTransitsRequest"},"MoonPosition":{"properties":{"longitude":{"type":"number","title":"Longitude"},"latitude":{"type":"number","title":"Latitude"}},"type":"object","required":["longitude","latitude"],"title":"MoonPosition"},"MuhurtaRequest":{"properties":{"event_type":{"type":"string","title":"Event Type","description":"Event type: general, marriage, travel, business","default":"general"},"after":{"type":"string","format":"date-time","title":"After","description":"Search start datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"max_days":{"type":"integer","maximum":90.0,"minimum":1.0,"title":"Max Days","description":"Maximum search window in days","default":30},"max_results":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Max Results","description":"Maximum number of results","default":5}},"type":"object","required":["after","latitude","longitude"],"title":"MuhurtaRequest"},"MuhurtaResponse":{"properties":{"event_type":{"type":"string","title":"Event Type"},"search_from":{"type":"string","title":"Search From"},"windows":{"items":{"$ref":"#/components/schemas/MuhurtaWindow"},"type":"array","title":"Windows"},"available_types":{"items":{"type":"string"},"type":"array","title":"Available Types"}},"type":"object","required":["event_type","search_from","windows","available_types"],"title":"MuhurtaResponse"},"MuhurtaWindow":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_hours":{"type":"number","title":"Duration Hours"},"tithi":{"type":"string","title":"Tithi"},"nakshatra":{"type":"string","title":"Nakshatra"},"yoga":{"type":"string","title":"Yoga"},"vara":{"type":"string","title":"Vara"},"quality":{"type":"string","title":"Quality"},"score":{"type":"integer","title":"Score"}},"type":"object","required":["start","end","duration_hours","tithi","nakshatra","yoga","vara","quality","score"],"title":"MuhurtaWindow"},"MunthaInfo":{"properties":{"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"house":{"type":"integer","title":"House"}},"type":"object","required":["rashi","rashi_number","house"],"title":"MunthaInfo"},"MutualAspectEntry":{"properties":{"planet_a":{"type":"string","title":"Planet A"},"planet_b":{"type":"string","title":"Planet B"},"a_to_b_strength":{"type":"integer","title":"A To B Strength"},"b_to_a_strength":{"type":"integer","title":"B To A Strength"},"a_rashi":{"type":"string","title":"A Rashi"},"b_rashi":{"type":"string","title":"B Rashi"},"a_house":{"type":"integer","title":"A House"},"b_house":{"type":"integer","title":"B House"}},"type":"object","required":["planet_a","planet_b","a_to_b_strength","b_to_a_strength","a_rashi","b_rashi","a_house","b_house"],"title":"MutualAspectEntry"},"Nakshatra":{"properties":{"number":{"type":"integer","title":"Number"},"name":{"type":"string","title":"Name"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"constellation":{"type":"string","title":"Constellation"}},"type":"object","required":["number","name","favorable","start","end","constellation"],"title":"Nakshatra"},"NavamshaChart":{"properties":{"lagna_rashi":{"type":"string","title":"Lagna Rashi"},"lagna_rashi_number":{"type":"integer","title":"Lagna Rashi Number"},"planets":{"items":{"$ref":"#/components/schemas/NavamshaPlanet"},"type":"array","title":"Planets"}},"type":"object","required":["lagna_rashi","lagna_rashi_number","planets"],"title":"NavamshaChart"},"NavamshaPlanet":{"properties":{"planet":{"type":"string","title":"Planet"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"}},"type":"object","required":["planet","rashi","rashi_number"],"title":"NavamshaPlanet"},"PanchaPakshiBestTime":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"reason":{"type":"string","title":"Reason"},"strength":{"type":"integer","title":"Strength"},"is_day":{"type":"boolean","title":"Is Day"}},"type":"object","required":["start","end","reason","strength","is_day"],"title":"PanchaPakshiBestTime"},"PanchaPakshiBirdStatus":{"properties":{"activity":{"type":"string","title":"Activity"},"strength":{"type":"integer","title":"Strength"},"favorable":{"type":"string","title":"Favorable"},"period_start":{"type":"string","title":"Period Start"},"period_end":{"type":"string","title":"Period End"},"is_day":{"type":"boolean","title":"Is Day"}},"type":"object","required":["activity","strength","favorable","period_start","period_end","is_day"],"title":"PanchaPakshiBirdStatus"},"PanchaPakshiBirthBird":{"properties":{"bird":{"type":"string","title":"Bird"},"bird_tamil":{"type":"string","title":"Bird Tamil"},"element":{"type":"string","title":"Element"},"nakshatra":{"type":"integer","title":"Nakshatra"},"paksha":{"type":"string","title":"Paksha"}},"type":"object","required":["bird","bird_tamil","element","nakshatra","paksha"],"title":"PanchaPakshiBirthBird"},"PanchaPakshiCurrentPeriod":{"properties":{"period_number":{"type":"integer","title":"Period Number"},"bird":{"type":"string","title":"Bird"},"bird_tamil":{"type":"string","title":"Bird Tamil"},"element":{"type":"string","title":"Element"},"is_day":{"type":"boolean","title":"Is Day"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"active_sub_activity":{"$ref":"#/components/schemas/PanchaPakshiSubActivity"}},"type":"object","required":["period_number","bird","bird_tamil","element","is_day","start","end","active_sub_activity"],"title":"PanchaPakshiCurrentPeriod"},"PanchaPakshiPeriod":{"properties":{"period_number":{"type":"integer","title":"Period Number"},"bird":{"type":"string","title":"Bird"},"bird_tamil":{"type":"string","title":"Bird Tamil"},"element":{"type":"string","title":"Element"},"activity":{"type":"string","title":"Activity"},"strength":{"type":"integer","title":"Strength"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"is_day":{"type":"boolean","title":"Is Day"},"sub_activities":{"items":{"$ref":"#/components/schemas/PanchaPakshiSubActivity"},"type":"array","title":"Sub Activities"}},"type":"object","required":["period_number","bird","bird_tamil","element","activity","strength","favorable","start","end","is_day","sub_activities"],"title":"PanchaPakshiPeriod"},"PanchaPakshiRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"birth_nakshatra":{"anyOf":[{"type":"integer","maximum":27.0,"minimum":1.0},{"type":"null"}],"title":"Birth Nakshatra","description":"Birth nakshatra number (1-27) for personalized analysis"},"is_shukla_paksha":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Shukla Paksha","description":"True for Shukla (waxing moon) paksha, False for Krishna (waning). Used with birth_nakshatra."}},"type":"object","required":["datetime","latitude","longitude"],"title":"PanchaPakshiRequest"},"PanchaPakshiResponse":{"properties":{"query_datetime":{"type":"string","title":"Query Datetime"},"sunrise":{"type":"string","title":"Sunrise"},"sunset":{"type":"string","title":"Sunset"},"next_sunrise":{"type":"string","title":"Next Sunrise"},"weekday":{"type":"integer","title":"Weekday"},"current_period":{"anyOf":[{"$ref":"#/components/schemas/PanchaPakshiCurrentPeriod"},{"type":"null"}]},"day_periods":{"items":{"$ref":"#/components/schemas/PanchaPakshiPeriod"},"type":"array","title":"Day Periods"},"night_periods":{"items":{"$ref":"#/components/schemas/PanchaPakshiPeriod"},"type":"array","title":"Night Periods"},"birth_bird":{"anyOf":[{"$ref":"#/components/schemas/PanchaPakshiBirthBird"},{"type":"null"}]},"birth_bird_status":{"anyOf":[{"$ref":"#/components/schemas/PanchaPakshiBirdStatus"},{"type":"null"}]},"best_time_today":{"anyOf":[{"$ref":"#/components/schemas/PanchaPakshiBestTime"},{"type":"null"}]}},"type":"object","required":["query_datetime","sunrise","sunset","next_sunrise","weekday","day_periods","night_periods"],"title":"PanchaPakshiResponse"},"PanchaPakshiSubActivity":{"properties":{"bird":{"type":"string","title":"Bird"},"bird_tamil":{"type":"string","title":"Bird Tamil"},"element":{"type":"string","title":"Element"},"activity":{"type":"string","title":"Activity"},"strength":{"type":"integer","title":"Strength"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["bird","bird_tamil","element","activity","strength","favorable","start","end"],"title":"PanchaPakshiSubActivity"},"PanchangaRangeRequest":{"properties":{"start":{"type":"string","format":"date-time","title":"Start","description":"Range start datetime (ISO 8601)"},"end":{"type":"string","format":"date-time","title":"End","description":"Range end datetime (ISO 8601)"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"calc_hour":{"type":"integer","maximum":23.0,"minimum":0.0,"title":"Calc Hour","description":"UTC hour (0-23) for daily calculation","default":12}},"type":"object","required":["start","end","latitude","longitude"],"title":"PanchangaRangeRequest"},"PanchangaRangeResponse":{"properties":{"count":{"type":"integer","title":"Count"},"results":{"items":{"$ref":"#/components/schemas/PanchangaResponse"},"type":"array","title":"Results"}},"type":"object","required":["count","results"],"title":"PanchangaRangeResponse"},"PanchangaRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"PanchangaRequest"},"PanchangaResponse":{"properties":{"sun":{"$ref":"#/components/schemas/SunPosition"},"moon":{"$ref":"#/components/schemas/MoonPosition"},"times":{"$ref":"#/components/schemas/Times"},"vara":{"$ref":"#/components/schemas/VaraInfo"},"tithi":{"$ref":"#/components/schemas/TithiInfo"},"nakshatra":{"$ref":"#/components/schemas/Nakshatra"},"yoga":{"$ref":"#/components/schemas/Yoga"},"karana":{"$ref":"#/components/schemas/Karana"},"inauspicious_periods":{"anyOf":[{"$ref":"#/components/schemas/InauspiciousPeriods"},{"type":"null"}]}},"type":"object","required":["sun","moon","times","vara","tithi","nakshatra","yoga","karana"],"title":"PanchangaResponse"},"PanchangaSearchCriteria":{"properties":{"tithi":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Tithi","description":"Tithi name (e.g. 'Ekadashi', 'Shukla Panchami') or number (1-30)"},"nakshatra":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Nakshatra","description":"Nakshatra name (e.g. 'Pushya') or number (1-27)"},"yoga":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Yoga","description":"Yoga name (e.g. 'Siddha') or number (1-27)"},"karana":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Karana","description":"Karana name (e.g. 'Bava') or number (1-11)"},"vara":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vara","description":"Weekday name (e.g. 'Monday', 'Thursday') or Sanskrit (e.g. 'Guru', 'Shukra')"}},"type":"object","title":"PanchangaSearchCriteria"},"PanchangaSearchMatch":{"properties":{"date":{"type":"string","title":"Date"},"panchanga":{"$ref":"#/components/schemas/PanchangaResponse"}},"type":"object","required":["date","panchanga"],"title":"PanchangaSearchMatch"},"PanchangaSearchRequest":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"after":{"type":"string","format":"date-time","title":"After","description":"Search start datetime (ISO 8601)"},"criteria":{"$ref":"#/components/schemas/PanchangaSearchCriteria","description":"Panchanga criteria to match"},"max_results":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Max Results","description":"Maximum number of matching dates to return","default":5},"max_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Max Days","description":"Maximum search window in days","default":365}},"type":"object","required":["latitude","longitude","after","criteria"],"title":"PanchangaSearchRequest"},"PanchangaSearchResponse":{"properties":{"matches":{"items":{"$ref":"#/components/schemas/PanchangaSearchMatch"},"type":"array","title":"Matches"},"criteria_used":{"additionalProperties":true,"type":"object","title":"Criteria Used"},"days_searched":{"type":"integer","title":"Days Searched"},"errors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Errors"}},"type":"object","required":["matches","criteria_used","days_searched"],"title":"PanchangaSearchResponse"},"PaymentInfo":{"properties":{"free_tier_daily":{"type":"integer","title":"Free Tier Daily"},"per_credit_usd":{"type":"number","title":"Per Credit Usd"},"x402_enabled":{"type":"boolean","title":"X402 Enabled"},"telegram_stars_enabled":{"type":"boolean","title":"Telegram Stars Enabled"},"nowpayments_enabled":{"type":"boolean","title":"Nowpayments Enabled"}},"type":"object","required":["free_tier_daily","per_credit_usd","x402_enabled","telegram_stars_enabled","nowpayments_enabled"],"title":"PaymentInfo"},"PitraDoshaInfo":{"properties":{"present":{"type":"boolean","title":"Present"},"severity":{"type":"string","title":"Severity"},"indicators":{"items":{"type":"string"},"type":"array","title":"Indicators"},"description":{"type":"string","title":"Description"}},"type":"object","required":["present","severity","indicators","description"],"title":"PitraDoshaInfo"},"PlanetClassification":{"properties":{"yoga_karaka":{"items":{"type":"string"},"type":"array","title":"Yoga Karaka"},"natural_benefics":{"items":{"type":"string"},"type":"array","title":"Natural Benefics"},"natural_malefics":{"items":{"type":"string"},"type":"array","title":"Natural Malefics"}},"type":"object","required":["yoga_karaka","natural_benefics","natural_malefics"],"title":"PlanetClassification"},"PlanetPosition":{"properties":{"planet":{"type":"string","title":"Planet"},"vedic_name":{"type":"string","title":"Vedic Name"},"longitude":{"type":"number","title":"Longitude"},"latitude":{"type":"number","title":"Latitude"},"speed":{"type":"number","title":"Speed"},"retrograde":{"type":"boolean","title":"Retrograde"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"degree_in_rashi":{"type":"number","title":"Degree In Rashi"}},"type":"object","required":["planet","vedic_name","longitude","latitude","speed","retrograde","rashi","rashi_number","degree_in_rashi"],"title":"PlanetPosition"},"PlanetShadbala":{"properties":{"planet":{"type":"string","title":"Planet"},"total":{"type":"number","title":"Total"},"minimum_required":{"type":"integer","title":"Minimum Required"},"strength":{"type":"string","title":"Strength"},"ratio":{"type":"number","title":"Ratio"},"components":{"items":{"$ref":"#/components/schemas/ShadbalaComponent"},"type":"array","title":"Components"}},"type":"object","required":["planet","total","minimum_required","strength","ratio","components"],"title":"PlanetShadbala"},"PrashnaMoon":{"properties":{"rashi":{"type":"string","title":"Rashi"},"house":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"House"}},"type":"object","required":["rashi"],"title":"PrashnaMoon"},"PrashnaRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"question_type":{"type":"string","title":"Question Type","description":"Question category","default":"general"}},"type":"object","required":["datetime","latitude","longitude"],"title":"PrashnaRequest"},"PrashnaResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"question_type":{"type":"string","title":"Question Type"},"lagna":{"$ref":"#/components/schemas/LagnaInfo"},"moon":{"$ref":"#/components/schemas/PrashnaMoon"},"significators":{"items":{"$ref":"#/components/schemas/PrashnaSignificator"},"type":"array","title":"Significators"},"indication":{"type":"string","title":"Indication"},"score":{"type":"number","title":"Score"},"guidance":{"type":"string","title":"Guidance"},"moon_note":{"type":"string","title":"Moon Note"},"available_types":{"items":{"type":"string"},"type":"array","title":"Available Types"}},"type":"object","required":["datetime","latitude","longitude","question_type","lagna","moon","significators","indication","score","guidance","moon_note","available_types"],"title":"PrashnaResponse"},"PrashnaSignificator":{"properties":{"house":{"type":"integer","title":"House"},"rashi":{"type":"string","title":"Rashi"},"lord":{"type":"string","title":"Lord"},"lord_house":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lord House"},"lord_dignity":{"type":"string","title":"Lord Dignity"},"occupants":{"items":{"type":"string"},"type":"array","title":"Occupants"},"score":{"type":"integer","title":"Score"},"assessment":{"type":"string","title":"Assessment"}},"type":"object","required":["house","rashi","lord","lord_dignity","occupants","score","assessment"],"title":"PrashnaSignificator"},"PratyantardashaPeriod":{"properties":{"planet":{"type":"string","title":"Planet"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"duration_days":{"type":"number","title":"Duration Days"}},"type":"object","required":["planet","start","end","duration_days"],"title":"PratyantardashaPeriod"},"RashiDrishtiEntry":{"properties":{"from_rashi":{"type":"string","title":"From Rashi"},"from_rashi_number":{"type":"integer","title":"From Rashi Number"},"to_rashi":{"type":"string","title":"To Rashi"},"to_rashi_number":{"type":"integer","title":"To Rashi Number"},"from_quality":{"type":"string","title":"From Quality"},"to_quality":{"type":"string","title":"To Quality"},"from_planets":{"items":{"type":"string"},"type":"array","title":"From Planets"},"to_planets":{"items":{"type":"string"},"type":"array","title":"To Planets"}},"type":"object","required":["from_rashi","from_rashi_number","to_rashi","to_rashi_number","from_quality","to_quality","from_planets","to_planets"],"title":"RashiDrishtiEntry"},"RegisterRequest":{"properties":{"email":{"anyOf":[{"type":"string","maxLength":254},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"telegram_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Telegram Id"}},"type":"object","title":"RegisterRequest"},"SarvashtakavargaEntry":{"properties":{"scores":{"additionalProperties":{"type":"integer"},"type":"object","title":"Scores"},"scores_array":{"items":{"type":"integer"},"type":"array","title":"Scores Array","default":[]},"total":{"type":"integer","title":"Total"},"strongest_sign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strongest Sign"},"weakest_sign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Weakest Sign"},"strong_signs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Strong Signs"},"weak_signs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Weak Signs"}},"type":"object","required":["scores","total"],"title":"SarvashtakavargaEntry"},"ShadbalaComponent":{"properties":{"component":{"type":"string","title":"Component"},"score":{"type":"number","title":"Score"},"max":{"type":"number","title":"Max"}},"type":"object","required":["component","score","max"],"title":"ShadbalaComponent"},"ShadbalaResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"planets":{"items":{"$ref":"#/components/schemas/PlanetShadbala"},"type":"array","title":"Planets"}},"type":"object","required":["datetime","latitude","longitude","planets"],"title":"ShadbalaResponse"},"ShodhyaPindaEntry":{"properties":{"planet":{"type":"string","title":"Planet"},"original_bindus":{"additionalProperties":{"type":"integer"},"type":"object","title":"Original Bindus"},"shodhit_bindus":{"additionalProperties":{"type":"integer"},"type":"object","title":"Shodhit Bindus"},"shodhit_bindus_array":{"items":{"type":"integer"},"type":"array","title":"Shodhit Bindus Array"},"rashi_pinda":{"type":"integer","title":"Rashi Pinda"},"graha_pinda":{"type":"integer","title":"Graha Pinda"},"shodhya_pinda":{"type":"integer","title":"Shodhya Pinda"}},"type":"object","required":["planet","original_bindus","shodhit_bindus","shodhit_bindus_array","rashi_pinda","graha_pinda","shodhya_pinda"],"title":"ShodhyaPindaEntry"},"SpecialTransit":{"properties":{"name":{"type":"string","title":"Name"},"active":{"type":"boolean","title":"Active"},"phase":{"type":"string","title":"Phase"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","active","phase","description"],"title":"SpecialTransit"},"SunPosition":{"properties":{"longitude":{"type":"number","title":"Longitude"},"latitude":{"type":"number","title":"Latitude"}},"type":"object","required":["longitude","latitude"],"title":"SunPosition"},"TajakaYoga":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"planets":{"items":{"type":"string"},"type":"array","title":"Planets"}},"type":"object","required":["name","description","planets"],"title":"TajakaYoga"},"Times":{"properties":{"sunrise":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sunrise"},"sunset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sunset"}},"type":"object","required":["sunrise","sunset"],"title":"Times"},"TithiInfo":{"properties":{"number":{"type":"integer","title":"Number"},"name":{"type":"string","title":"Name"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["number","name","favorable","start","end"],"title":"TithiInfo"},"TopupLightningRequest":{"properties":{"api_key":{"type":"string","title":"Api Key"},"amount_sats":{"type":"integer","maximum":10000000.0,"minimum":100.0,"title":"Amount Sats","default":10000}},"type":"object","required":["api_key"],"title":"TopupLightningRequest"},"TopupLightningResponse":{"properties":{"payment_hash":{"type":"string","title":"Payment Hash"},"payment_request":{"type":"string","title":"Payment Request"},"amount_sats":{"type":"integer","title":"Amount Sats"},"credits_on_payment":{"type":"number","title":"Credits On Payment"},"verify_url":{"type":"string","title":"Verify Url"}},"type":"object","required":["payment_hash","payment_request","amount_sats","credits_on_payment","verify_url"],"title":"TopupLightningResponse"},"TopupRequest":{"properties":{"api_key":{"type":"string","title":"Api Key"},"payment_hash":{"type":"string","title":"Payment Hash"},"payment_type":{"type":"string","pattern":"^(lightning|usdc|promo)$","title":"Payment Type","default":"lightning"}},"type":"object","required":["api_key","payment_hash"],"title":"TopupRequest"},"TopupResponse":{"properties":{"balance":{"type":"number","title":"Balance"},"credits_added":{"type":"number","title":"Credits Added"},"status":{"type":"string","title":"Status"}},"type":"object","required":["balance","credits_added","status"],"title":"TopupResponse"},"TransitPlanet":{"properties":{"planet":{"type":"string","title":"Planet"},"vedic_name":{"type":"string","title":"Vedic Name"},"transit_rashi":{"type":"string","title":"Transit Rashi"},"transit_rashi_number":{"type":"integer","title":"Transit Rashi Number"},"house_from_moon":{"type":"integer","title":"House From Moon"},"longitude":{"type":"number","title":"Longitude"},"retrograde":{"type":"boolean","title":"Retrograde"},"speed":{"type":"number","title":"Speed"},"effect":{"type":"string","title":"Effect"}},"type":"object","required":["planet","vedic_name","transit_rashi","transit_rashi_number","house_from_moon","longitude","retrograde","speed","effect"],"title":"TransitPlanet"},"TransitRequest":{"properties":{"natal_datetime":{"type":"string","format":"date-time","title":"Natal Datetime","description":"Natal birth datetime"},"natal_latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Natal Latitude","description":"Natal birth latitude"},"natal_longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Natal Longitude","description":"Natal birth longitude"},"transit_datetime":{"type":"string","format":"date-time","title":"Transit Datetime","description":"Transit datetime to analyze"}},"type":"object","required":["natal_datetime","natal_latitude","natal_longitude","transit_datetime"],"title":"TransitRequest"},"TransitResponse":{"properties":{"transit_datetime":{"type":"string","title":"Transit Datetime"},"natal_moon_rashi":{"type":"string","title":"Natal Moon Rashi"},"natal_moon_rashi_number":{"type":"integer","title":"Natal Moon Rashi Number"},"transits":{"items":{"$ref":"#/components/schemas/TransitPlanet"},"type":"array","title":"Transits"},"special_transits":{"items":{"$ref":"#/components/schemas/SpecialTransit"},"type":"array","title":"Special Transits"},"summary":{"$ref":"#/components/schemas/TransitSummary"}},"type":"object","required":["transit_datetime","natal_moon_rashi","natal_moon_rashi_number","transits","special_transits","summary"],"title":"TransitResponse"},"TransitSummary":{"properties":{"favorable":{"type":"integer","title":"Favorable"},"challenging":{"type":"integer","title":"Challenging"},"neutral":{"type":"integer","title":"Neutral"}},"type":"object","required":["favorable","challenging","neutral"],"title":"TransitSummary"},"UpagrahaEntry":{"properties":{"name":{"type":"string","title":"Name"},"sanskrit_name":{"type":"string","title":"Sanskrit Name"},"type":{"type":"string","title":"Type"},"longitude":{"type":"number","title":"Longitude"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"},"degree_in_rashi":{"type":"number","title":"Degree In Rashi"},"nakshatra":{"type":"string","title":"Nakshatra"},"nakshatra_number":{"type":"integer","title":"Nakshatra Number"},"portion_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portion Time"}},"type":"object","required":["name","sanskrit_name","type","longitude","rashi","rashi_number","degree_in_rashi","nakshatra","nakshatra_number"],"title":"UpagrahaEntry"},"UpagrahasRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"}},"type":"object","required":["datetime","latitude","longitude"],"title":"UpagrahasRequest"},"UpagrahasResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"sun_longitude":{"type":"number","title":"Sun Longitude"},"sunrise":{"type":"string","title":"Sunrise"},"sunset":{"type":"string","title":"Sunset"},"weekday":{"type":"integer","title":"Weekday"},"sun_based":{"items":{"$ref":"#/components/schemas/UpagrahaEntry"},"type":"array","title":"Sun Based"},"time_based":{"items":{"$ref":"#/components/schemas/UpagrahaEntry"},"type":"array","title":"Time Based"},"all":{"items":{"$ref":"#/components/schemas/UpagrahaEntry"},"type":"array","title":"All"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["datetime","latitude","longitude","sun_longitude","sunrise","sunset","weekday","sun_based","time_based","all","count"],"title":"UpagrahasResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VaraInfo":{"properties":{"vara":{"type":"string","title":"Vara"},"name":{"type":"string","title":"Name"},"favorable":{"type":"string","title":"Favorable"},"ruler":{"type":"string","title":"Ruler"}},"type":"object","required":["vara","name","favorable","ruler"],"title":"VaraInfo"},"VargaChart":{"properties":{"chart":{"type":"string","title":"Chart"},"name":{"type":"string","title":"Name"},"lagna_rashi":{"type":"string","title":"Lagna Rashi"},"lagna_rashi_number":{"type":"integer","title":"Lagna Rashi Number"},"planets":{"items":{"$ref":"#/components/schemas/VargaPlanet"},"type":"array","title":"Planets"}},"type":"object","required":["chart","name","lagna_rashi","lagna_rashi_number","planets"],"title":"VargaChart"},"VargaPlanet":{"properties":{"planet":{"type":"string","title":"Planet"},"rashi":{"type":"string","title":"Rashi"},"rashi_number":{"type":"integer","title":"Rashi Number"}},"type":"object","required":["planet","rashi","rashi_number"],"title":"VargaPlanet"},"VargaRequest":{"properties":{"datetime":{"type":"string","format":"date-time","title":"Datetime"},"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude","description":"Latitude in degrees"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude","description":"Longitude in degrees"},"charts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Charts","description":"Charts to calculate, e.g. ['D2','D9','D10']"}},"type":"object","required":["datetime","latitude","longitude"],"title":"VargaRequest"},"VargaResponse":{"properties":{"datetime":{"type":"string","title":"Datetime"},"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"charts":{"items":{"$ref":"#/components/schemas/VargaChart"},"type":"array","title":"Charts"}},"type":"object","required":["datetime","latitude","longitude","charts"],"title":"VargaResponse"},"VarshaphalRequest":{"properties":{"natal_datetime":{"type":"string","format":"date-time","title":"Natal Datetime","description":"Natal birth datetime"},"natal_latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Natal Latitude","description":"Natal birth latitude"},"natal_longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Natal Longitude","description":"Natal birth longitude"},"year":{"type":"integer","maximum":2100.0,"minimum":1900.0,"title":"Year","description":"Year for solar return (1900-2100)"}},"type":"object","required":["natal_datetime","natal_latitude","natal_longitude","year"],"title":"VarshaphalRequest"},"VarshaphalResponse":{"properties":{"year":{"type":"integer","title":"Year"},"solar_return_datetime":{"type":"string","title":"Solar Return Datetime"},"natal_sun_longitude":{"type":"number","title":"Natal Sun Longitude"},"lagna":{"$ref":"#/components/schemas/LagnaInfo"},"planets":{"items":{"$ref":"#/components/schemas/KundaliPlanet"},"type":"array","title":"Planets"},"houses":{"items":{"$ref":"#/components/schemas/HouseInfo"},"type":"array","title":"Houses"},"aspects":{"items":{"$ref":"#/components/schemas/AspectInfo"},"type":"array","title":"Aspects"},"muntha":{"$ref":"#/components/schemas/MunthaInfo"},"year_lord":{"$ref":"#/components/schemas/YearLord"},"tajaka_yogas":{"items":{"$ref":"#/components/schemas/TajakaYoga"},"type":"array","title":"Tajaka Yogas"},"year_quality":{"type":"string","title":"Year Quality"}},"type":"object","required":["year","solar_return_datetime","natal_sun_longitude","lagna","planets","houses","aspects","muntha","year_lord","tajaka_yogas","year_quality"],"title":"VarshaphalResponse"},"VerifyRequest":{"properties":{"telegram_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Telegram Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"code":{"type":"string","title":"Code"}},"type":"object","required":["code"],"title":"VerifyRequest"},"WebhookListItem":{"properties":{"subscription_id":{"type":"string","title":"Subscription Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"status":{"type":"string","title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"created_at":{"type":"string","title":"Created At"},"last_triggered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered At"}},"type":"object","required":["subscription_id","url","events","status","created_at"],"title":"WebhookListItem"},"WebhookListResponse":{"properties":{"subscriptions":{"items":{"$ref":"#/components/schemas/WebhookListItem"},"type":"array","title":"Subscriptions"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["subscriptions","total"],"title":"WebhookListResponse"},"WebhookSubscribeRequest":{"properties":{"url":{"type":"string","maxLength":2048,"minLength":10,"title":"Url","description":"HTTPS URL to receive webhook POST notifications"},"events":{"items":{"type":"string"},"type":"array","maxItems":10,"minItems":1,"title":"Events","description":"List of event types to subscribe to"},"latitude":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Latitude","description":"Latitude for location-specific event data (e.g., local Ekadashi timing)"},"longitude":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Longitude","description":"Longitude for location-specific event data"}},"type":"object","required":["url","events"],"title":"WebhookSubscribeRequest"},"WebhookSubscribeResponse":{"properties":{"subscription_id":{"type":"string","title":"Subscription Id"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"url":{"type":"string","title":"Url"},"status":{"type":"string","title":"Status"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["subscription_id","events","url","status","created_at"],"title":"WebhookSubscribeResponse"},"YearLord":{"properties":{"planet":{"type":"string","title":"Planet"},"strength":{"type":"string","title":"Strength"}},"type":"object","required":["planet","strength"],"title":"YearLord"},"Yoga":{"properties":{"number":{"type":"integer","title":"Number"},"name":{"type":"string","title":"Name"},"favorable":{"type":"string","title":"Favorable"},"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"}},"type":"object","required":["number","name","favorable","start","end"],"title":"Yoga"}}}}