{"name":"Acharya Parimal Mehta API","version":"1.0.0","endpoints":[{"path":"/api/places","methods":["GET"],"tags":["astrology"],"summary":"Search the built-in gazetteer."},{"path":"/api/reference","methods":["GET"],"tags":["astrology"],"summary":"Signs, nakshatras, planets and divisional-chart reference data."},{"path":"/api/kundli","methods":["POST"],"tags":["astrology"],"summary":"Full birth chart with houses, divisional charts, dashas and interpretation."},{"path":"/api/kundli/chart-only","methods":["POST"],"tags":["astrology"],"summary":"Positions and houses without interpretation - fast path for widgets."},{"path":"/api/panchang","methods":["GET"],"tags":["astrology"],"summary":"Panchang for a date and location."},{"path":"/api/panchang/month","methods":["GET"],"tags":["astrology"],"summary":"Compact panchang for a whole month - powers the calendar view."},{"path":"/api/horoscope/daily","methods":["GET"],"tags":["astrology"],"summary":"Daily rashifal for one sign or all twelve."},{"path":"/api/matching","methods":["POST"],"tags":["astrology"],"summary":"Ashtakoot Guna Milan with dosha analysis for two charts."},{"path":"/api/dasha","methods":["POST"],"tags":["astrology"],"summary":"Vimshottari dasha tree."},{"path":"/api/transits","methods":["GET"],"tags":["astrology"],"summary":"Current sidereal transit positions, optionally relative to a natal Moon sign."},{"path":"/api/ephemeris","methods":["GET"],"tags":["astrology"],"summary":"Raw sidereal positions for any instant."},{"path":"/api/muhurta","methods":["POST"],"tags":["astrology"],"summary":"Rank the next N days for an activity using panchang factors."},{"path":"/api/services","methods":["GET"],"tags":["site"],"summary":""},{"path":"/api/astrologers","methods":["GET"],"tags":["site"],"summary":""},{"path":"/api/testimonials","methods":["GET"],"tags":["site"],"summary":""},{"path":"/api/posts","methods":["GET"],"tags":["site"],"summary":""},{"path":"/api/posts/{slug}","methods":["GET"],"tags":["site"],"summary":""},{"path":"/api/bookings","methods":["POST"],"tags":["site"],"summary":"Create a consultation booking and spawn the preparation task for the agents."},{"path":"/api/contact","methods":["POST"],"tags":["site"],"summary":""},{"path":"/api/admin/login","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/logout","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/me","methods":["GET"],"tags":["admin"],"summary":""},{"path":"/api/admin/dashboard","methods":["GET"],"tags":["admin"],"summary":""},{"path":"/api/admin/{table}","methods":["GET"],"tags":["admin"],"summary":""},{"path":"/api/admin/{table}","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/{table}/{rid}","methods":["PUT"],"tags":["admin"],"summary":""},{"path":"/api/admin/{table}/{rid}","methods":["DELETE"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/board","methods":["GET"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks/{tid}","methods":["GET"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks/{tid}","methods":["PUT"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks/{tid}/run","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks/{tid}/approve","methods":["POST"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/tasks/{tid}","methods":["DELETE"],"tags":["admin"],"summary":""},{"path":"/api/admin/taskflow/stream","methods":["GET"],"tags":["admin"],"summary":"Server-sent events feed of task-log activity for the live console."},{"path":"/api/admin/taskflow/seed-daily","methods":["POST"],"tags":["admin"],"summary":"Queue the standard daily batch: horoscopes, panchang brief and a transit sweep."},{"path":"/api/voice/health","methods":["GET"],"tags":["voice"],"summary":"Whether a model is configured, and which tools the agent can reach."},{"path":"/api/voice/ask","methods":["POST"],"tags":["voice"],"summary":"Send one utterance; get back a sentence to speak and the running transcript."},{"path":"/api/booking/services","methods":["GET"],"tags":["booking"],"summary":"Bookable services with price and session length."},{"path":"/api/booking/availability","methods":["GET"],"tags":["booking"],"summary":"Free slots for the coming days. Times are UTC; render them in the caller's zone."},{"path":"/api/booking/hold","methods":["POST"],"tags":["booking"],"summary":"Claim a slot for a few minutes while the caller fills in their details."},{"path":"/api/booking/checkout","methods":["POST"],"tags":["booking"],"summary":"Redeem the hold, record the booking, and open an order at the gateway."},{"path":"/api/booking/currencies","methods":["GET"],"tags":["booking"],"summary":"The currencies the practice publishes prices in."},{"path":"/api/booking/confirm","methods":["POST"],"tags":["booking"],"summary":"Razorpay's browser handshake. The signature is checked against the key"},{"path":"/api/booking/webhook/{provider}","methods":["POST"],"tags":["booking"],"summary":"Gateway callback. Unverified posts are refused, so this cannot be spoofed."},{"path":"/api/booking/{ref}","methods":["GET"],"tags":["booking"],"summary":"Booking status by reference — what the thank-you page polls."},{"path":"/api/account/register","methods":["POST"],"tags":[],"summary":""},{"path":"/api/account/login","methods":["POST"],"tags":[],"summary":""},{"path":"/api/account/logout","methods":["POST"],"tags":[],"summary":""},{"path":"/api/account/me","methods":["GET"],"tags":[],"summary":""},{"path":"/api/account/me","methods":["PUT"],"tags":[],"summary":""},{"path":"/api/account/bookings","methods":["GET"],"tags":[],"summary":""}]}