Component Builder — pick a real build idea from What to Build and your stack (Next.js + TypeScript + Supabase, Node.js + Express + JavaScript, or Python + FastAPI), and get real, working integration code powered by your own connected AI provider (BYOLLM). Every generated file is compile/syntax-checked and the real endpoint(s) it calls are round-trip tested against the live API before you ever see it, with one automatic, grounded retry if either check fails — a generation that still fails is refunded, never shown to you half-broken. Configure and run it at /dashboard/component-builder, powered by POST /api/v1/component-builder/generate. Costs 100 API calls per generation, with a separate monthly generation cap by plan (Developer 5/month, Starter 30/month, Professional 50/month, Enterprise 200/month). Available on Developer plan and above.
v3.12.0Major2026-09-05
BYOLLM Everywhere + New: AI Chats Builder
✦ New
AI Chats — build named, reusable AI assistants scoped to specific VedIntel™ AstroAPI data categories (Horoscope, Dashas, Matching, and more), with a configurable guardrail level (Strict/Standard/Relaxed) for anti-hallucination grounding and an _audit block on every response showing exactly what verified data was supplied to the LLM. Configure at /dashboard/ai-chats, call at POST /api/v1/ai/chats/[chat_id] with your API key — streams a response token-by-token like every other AI endpoint. Uses your account's default AI Provider automatically.
↑ Improved
All 4 AI Narrative endpoints (/ai/interpret/chart, /ai/dasha/narrative, /ai/transit/forecast, /ai/compatibility) and all 10 PDF report types now generate their narrative via your own connected AI provider (BYOLLM — OpenAI or Anthropic, set once at /dashboard/ai-providers) instead of a VedIntel-managed key. No change to request format, response shape, or pricing — this is an internal change to who generates the narrative, not a breaking API change.
The AI Chat Widget and the raw POST /api/v1/ai/chat endpoint now also default to your account's connected AI Provider automatically — the byollm_provider/byollm_key script-tag parameters are now optional (previously required), removing the need to put a raw API key in your page's HTML source.
v3.11.4Minor2026-08-29
AI Chat Widget — BYOLLM Provider Setup
↑ Improved
The embeddable AI Chat Widget now supports byollm_provider, byollm_key, and byollm_model as script-tag parameters — connect your own OpenAI, Gemini, Mistral, or Grok key directly, with the same full Swiss Ephemeris chart context and streaming responses the widget has always had. Full setup guide at /ai-chat.
v3.11.3Minor2026-08-28
Occultations + True Nodes & Apsides
✦ New
New endpoint: GET /api/v1/panchang/occultations — the next time the Moon occults (passes directly in front of) a planet, visible from a given location, with first-through-fourth contact times. Live-verified against real independently-sourced data — the exact date and visibility region matched for the Moon-occults-Venus event on 2026-09-14. Starter plan and above.
New endpoint: GET /api/v1/horoscope/nodes-apsides — the true ascending/descending node and perihelion/aphelion for Mercury through Pluto (heliocentric orbital elements, independent of observer location). A real accuracy bug was caught and fixed during verification: the raw Swiss Ephemeris call silently defaults to geocentric output unless SEFLG_HELCTR is explicitly set, which would have shipped ~250° wrong for every planet — caught by cross-checking Mercury's ascending node against real published orbital data (48.331° at J2000), confirmed correct to within 0.004° after the fix. Starter plan and above.
v3.11.2Minor2026-08-28
Vertex/Anti-Vertex + Gauquelin Sectors
✦ New
New endpoint: GET /api/v1/horoscope/vertex — the Vertex (ecliptic × prime-vertical intersection, sometimes called the "fated encounters" point) and Anti-Vertex (exactly 180° opposite). Value is independent of house system. Starter plan and above.
New endpoint: GET /api/v1/horoscope/gauquelin-sectors — each of the 7 classical planets' position (1-36) in Michel Gauquelin's diurnal-circle sector system, used in his statistical research on planetary prominence. Computed via the Placidus house-position method (imeth=0) rather than literal rise/set timing — verified that rise/set fails unpredictably for slower planets (Jupiter, Saturn) in Swiss Ephemeris's own rise/set search on a meaningful fraction of real dates, so the reliable method was chosen and documented as such rather than risk silently incomplete results. Starter plan and above.
↑ Improved
Void-of-Course Moon was researched and deliberately not built this round — genuine unresolved disagreement across sources on which aspects count as "major" (4 different systems found in active use), which planets count (classical 7 vs modern 10), orb, and whether it applies to sidereal charts at all. Vedic astrology's real analog (Kemadruma Yoga) is a different concept, not a sidereal port of the Western technique.
v3.11.1Patch2026-08-28
Planetary Combustion (Asta) + Docs Gap Fix
✦ New
New endpoint: GET /api/v1/extended-horoscope/combustion — returns which planets are combust (too close to the Sun, classically weakened) using BPHS orb thresholds: Moon 12°, Mars 17°, Mercury 14° (12° retrograde), Jupiter 11°, Venus 10° (8° retrograde), Saturn 15°. Rahu/Ketu are shadow points and are never combust. Starter plan and above.
✓ Fixed
KP Significators, KP Ruling Planets, and Jaimini Karakamsa (shipped in v3.10.0) were missing from /docs, the OpenAPI spec, and the Postman collection — all three were fully live and working, just undiscoverable outside a direct URL. Added to all three now, alongside the new Combustion endpoint.
v3.11.0Major2026-08-28
Multiple House Systems — Placidus, Koch, Equal, and More
✦ New
GET /api/v1/horoscope/planet-details, /divisional-charts, and /ascendant-report now accept an optional house_system parameter: whole (default, unchanged), placidus, koch, equal, campanus, regiomontanus, porphyrius, alcabitius, or morinus. Whole Sign remains the default for every existing integration — omitting the param behaves exactly as before.
Non-default house systems compute real quadrant house-cusp boundaries via Swiss Ephemeris, not a sign-offset approximation, so planet-to-house placement is accurate for Western-style charts (Placidus is the standard default outside Vedic practice) as well as alternate Vedic/KP house conventions.
Available on the Starter plan and above.
v3.10.0Major2026-08-23
Full-Sentence Prediction Translations — 22 Languages
✦ New
GET /api/v1/horoscope-by-sign/daily, /weekly, and /monthly now return fully translated prediction text — not just translated planet/sign labels — in all 22 non-English supported languages (hi, ta, te, sa, kn, ml, bn, gu, mr, pa, ur, es, fr, de, pt, ar, id, it, nl, ru, ja, zh). Previously, lang on these three endpoints only translated terms like planet and sign names via the site-wide term dictionary — the prediction sentence itself ("Fortune and expansion are ignited...") always came back in English regardless of lang. Every sign's full daily (12 transit variants) and weekly (4 variants) prediction text, plus focus-area and monthly-theme labels, is now natively written in each language — not machine-translated fragments.
Arabic and Urdu responses include correct script and rtl: true metadata, so client apps know to render right-to-left without extra detection logic.
↑ Improved
Found via a real support ticket from a developer building a Marathi-language devotional app, who noticed lang=mr only partially translated responses. Any language not yet covered by this feature silently falls back to the original English sentence — a request never breaks, it just won't be translated until that language is added.
v3.9.1Improvement2026-08-17
/ai/chat Now Accepts ayanamsa and node_type
↑ Improved
POST /api/v1/ai/chat now accepts ayanamsa (all 12 supported values) and node_type (mean | true) parameters, matching what /horoscope/planet-details and every other core calculation endpoint already support. Previously these were silently ignored — /ai/chat always computed its chart context with the fixed defaults (Lahiri, mean node) regardless of what was passed. Found and fixed via a customer support ticket asking for exactly this. Both parameters are optional; omitting them keeps the existing default behavior unchanged.
Documented on the /ai-chat page's parameter reference table (previously undocumented there — /ai/chat has no dedicated /docs entry, so this table is the only real reference for the endpoint's parameters).
v3.9.0Major2026-08-17
2 New Endpoints: Retrograde Station Dates, Fixed Stars
✦ New
GET /api/v1/panchang/retrograde-stations — the exact date and time each of Mercury, Venus, Mars, Jupiter, and Saturn turns retrograde or direct, scanned forward from a given date (window_days param, default 365, max 730). This is different from the existing /panchang/retrogrades, which only answers "is this planet retrograde on this one date" — the new endpoint returns the precise station events themselves, the moment the planet's geocentric motion actually reverses.
GET /api/v1/horoscope/fixed-stars — sidereal positions (house, sign, nakshatra) of fixed stars for a birth chart. Defaults to a curated list of the most commonly referenced stars in both Vedic and Western practice — the four Persian royal stars (Aldebaran, Regulus, Antares, Fomalhaut) plus Spica, Sirius, Algol, Rigel, Betelgeuse, Pollux, and Castor. Pass star=Spica,Regulus (comma-separated) to look up any named star from Swiss Ephemeris's full fixed-star catalog instead.
↑ Improved
/ai/chat now injects deeper astrological context for Vedic-type conversations: full Mahadasha/Antardasha/Pratyantardasha timing (previously just the current Mahadasha lord's name), Mangal and Kaalsarp dosh presence, and the top 3 classical yogas by strength. Western and tarot chat types are unaffected.
v3.8.0Major2026-08-17
Expanded Chart Depth: 8 New Ayanamsas, 8 New Planetary Bodies, True Node, Black Moon Lilith
✦ New
8 new ayanamsa options: yukteshwar, fagan_bradley, de_luce, suryasiddhanta, aryabhata, true_citra, true_revati, jn_bhasin — alongside the existing lahiri (default), raman, kp, and pushya_paksha. Pass any of these via the existing ayanamsa parameter on every birth-chart endpoint.
8 new planetary bodies added to planet-details and every endpoint built on it (indices 10-17, appended after Ketu): Uranus, Neptune, Pluto, Chiron, Ceres, Pallas, Juno, Vesta.
Optional node_type=true parameter switches Rahu/Ketu from the default mean node to the true (osculating) node.
Black Moon Lilith added as indices 18 (True/Osculating) and 19 (Mean) in planet-details.
↑ Improved
All additions are purely additive — every existing planet-details index (0-9), every existing ayanamsa, and every endpoint built on top of the core chart engine returns byte-identical results unless you explicitly opt into a new ayanamsa, node_type=true, or read one of the new indices.
v3.7.0Major2026-08-05
New Endpoint: Current Chart — Transit Chart for Any Moment
✦ New
GET /api/v1/panchang/current-chart — Ascendant sign and full planet/house positions for an arbitrary moment, not a birth chart. dob and tob are optional and default to right now at the caller's tz; pass them explicitly for any other moment, past or future. Same underlying computation as planet-details and find-ascendant, just without treating the input as someone's permanent birth data — no natal-chart caching, and future dates are valid (unlike birth-chart endpoints).
v3.6.1Improvement2026-07-24
Free Trial Now Unlocks All 132 Endpoints
↑ Improved
Chinese astrology, Japanese astrology, Tarot, and Numerology — previously paid-plan-only — are now included in the 7-day free trial along with every other endpoint. This reverses the plan-gating introduced in v3.6.0: since Free is now a strict 7-day trial rather than an indefinite monthly tier, the same "validate a real use case before paying" reasoning that already applied to the core Vedic engine now applies to these four verticals too. AI narrative endpoints (Claude-powered chart readings) remain a separate, paid-only feature.
v3.6.0Major2026-07-22
Chinese & Japanese Astrology, 14-Day Free Trial, ₹999 Dev Pack
✦ New
Chinese astrology: Zi Wei Dou Shu (Purple Star Astrology) natal chart — GET /api/v1/chinese/natal-chart. Full 12-palace chart with major/minor stars, five-elements class, and soul/body stars, powered by the iztro library (MIT licensed).
Japanese astrology: Kyusei Kigaku (Nine Star Ki) natal chart — GET /api/v1/japanese/nine-star-ki. Principal/monthly/daily/tendency stars plus Lo Shu flying-star charts, verified against a reference implementation across every edge case including the Lichun year-boundary and all four solstice day-star escapements.
Dev Pack: a one-time ₹999/$12 purchase (not a subscription) for 30,000 API calls valid 3 months — for developers who need more room than the free trial gives but aren't ready to commit to a recurring plan. Unlocks Chinese/Japanese astrology, Tarot, Numerology, and White Label PDF branding; does not include AI narratives (BYOLLM).
↑ Improved
Free plan is now a 7-day trial (500 calls, no credit card) instead of a monthly-renewing 500-calls/month tier — the trial unlocks all 132 endpoints (including matching, muhurta, KP, and Jaimini), a meaningfully wider trial than the 20-30 "essential" endpoints most competitor trials offer.
Chinese astrology, Japanese astrology, Tarot, and Numerology endpoints now require a paid plan or the Dev Pack — everything else on the platform remains available during the free trial.
v3.5.1Improvement2026-07-21
Per-Second Rate Limiting Hardened Across All Endpoints
✓ Fixed
Per-second rate limiting (tied to your plan's req/sec cap) is now enforced consistently across every endpoint — a small number of routes, including planet-details, current-mahadasha-full, all AI narrative endpoints, PDF report status/download, all tarot endpoints, and translate-terms, previously checked your monthly call quota but not your plan's req/sec limit. No change to normal usage — this only affects requests that exceed your plan's advertised rate limit.
v3.5.0Improvement2026-07-20
PDF Reports — Credit Tracking, Docs, and Payment Reliability
✦ New
PDF credit balance and per-report-type cost table now shown directly in the dashboard (Plans page) — no more digging through pricing-page copy to see what a report costs or how many credits remain
/api/v1/reports/generate, /reports/status, and /reports/download are now fully documented in the API docs — endpoint reference, parameters, and example responses for the full generate → poll → download flow
✓ Fixed
PDF credit and call top-up purchases are now correctly idempotent — a duplicate payment confirmation (e.g. a retried webhook) can no longer double-credit an account; verified with an automated end-to-end test covering every top-up and PDF credit pack
v3.4.1Patch2026-07-06
WordPress Plugin — City Autocomplete Fixed
✓ Fixed
WordPress plugin (v1.0.8): Birth City autocomplete dropdown was never showing suggestions, always displaying "Please select a city from the suggestions to auto-fill coordinates" regardless of the city typed — caused by the widget reading the wrong field from the geo-search API response. Fixed for all installs; update the plugin from your WordPress admin to get it.
v3.4.0Improvement2026-06-12
12 New Endpoints · UTC Time Standard · Panchang Accuracy
✦ New
Vrat calendar — /panchang/ekadashi-dates, /panchang/purnima-dates, /panchang/amavasya-dates: full year listing with traditional vrat names for any year
Auspicious Yogas scanner — /panchang/auspicious-yogas: monthly scan returning Amrit Siddhi, Sarvartha Siddhi, Ravi Yoga, Guru Pushya, and other high-value muhurta days
Full compatibility in one call — /matching/full-compatibility: Ashtakoot + Mangal Dosh + Papasamaya in a single response
Baby names from birth chart — /horoscope/baby-names: nakshatra-based syllable suggestions with meaning and gender
Prasna / Horary — /extended-horoscope/prasna-query: instant YES/UNLIKELY answer from the panchang of the query moment
Total: 127 live endpoints
✓ Fixed
UTC time standard — all time fields in panchang responses now return { utc: "HH:MM:SS", unix: N }. No local-time strings. Applies to: sunrise, sunset, moonrise, moonset, solar noon, hora muhurta, Amrit Kalam, abhijit muhurta, tithi/nakshatra/yoga ends_at. Use the unix timestamp to display in any timezone.
Moonrise returns the first moonrise after today's sunrise (Vedic convention) — matches Drikpanchang.com
Moonset uses SE_BIT_NO_REFRACTION — Vedic panchang convention, verified against Drikpanchang.com for 7 cities
Amrit Kalam computed entirely in Julian Day arithmetic — eliminates timezone drift for non-IST locations
v3.3.0Improvement2026-06-06
UX Overhaul — Cancellation, Annual Billing, Onboarding, Invoices, Status Page
✦ New
Annual/monthly billing toggle — 2 months free on all paid plans
Self-serve plan cancellation — schedules expiry at end of billing period, sends confirmation email
3-step onboarding checklist on dashboard — persisted in localStorage, auto-dismisses when complete
Professional HTML invoices — logo, CGST/SGST breakdown, PAID watermark, print-to-PDF ready
Status page: 30-day uptime history bars, linked from dashboard nav
Honest 23-Language Count · Changelog in Nav · Language Docs Table · Churn Detection Cron
✓ Fixed
Language count corrected to 23 — or/si/ne/th had zero native-script translations and silently fell back to Sanskrit; removed from LangCode, LANG_META, and all marketing copy
Homepage LANGUAGES list now correctly shows all 23 supported languages (was showing 21)
All "27 languages" references replaced with "23 languages" across 31 source files — stats strip, pricing, comparison tables, use-case pages, vs pages
✦ New
Changelog added to main navigation — visible on every page
Docs: Language Codes reference table — code, language name, native name, script, RTL flag — with sidebar anchor link
Docs: lang= parameter description updated to include language names next to codes (was a raw code list with no labels)
Owner daily digest — email to naidupredicts@gmail.com every morning: active users, new signups, all churn signals with user names and emails
All user churn emails are personal founder-to-developer tone with Discord link and direct reply-to-me instruction; 7-day Redis dedup prevents spam
v3.1.0Improvement2026-06-03
127-Endpoint Audit · 23-Language Wiring Across All Endpoints · PDF Reports Verified · Alternatives Page
✦ New
scripts/audit-all-endpoints.sh — automated audit of all 127 endpoints with monitor key and reference birth data; result: 108 PASS, 0 failures
/alternatives/vedicastroapi: Shadbala 49/49 accuracy proof section (8-card grid) + 8-question FAQ with JSON-LD schema for Google rich snippets
PDF reports confirmed production-ready end-to-end — generate → poll → real signed Supabase Storage URL; tested snapshot report (~90s, correct application/pdf)
↑ Improved
23-language wiring — 25 endpoints that used raw NextResponse.json() for success (bypassing translation) converted to apiSuccess(); covers panchang (sunrise/sunset/moon-rise/moon-set/solar-noon/moon-phase/hora-muhurta/transit/retrogrades/monthly/moon-calendar/festivals), matching (western/nakshatra/bulk-north/bulk-south), dashas (char-dasha-sub/yogini-dasha-sub), utilities (geo-search/geo-search-advanced/gem-details/radical-number/nakshatra-vastu), horoscope (planetary-aspects), parashari/career
Verified: lang=hi → Devanagari, lang=te → ధనస్సు, lang=kn → ಕನ್ಯಾ on all fixed endpoints
v3.0.0Major2026-06-02
Shadbala Full BPHS Rewrite · D9 Navamsa Fix · Pushya Paksha Ayanamsa · WordPress Plugin Published · Discord Community
✓ Fixed
D9 Navamsa formula corrected — sequential floor(absoluteDeg / 3.333) % 12; previous trikona formula was wrong; verified 7/7 exact against jyotishyamitra and VedicAstroAPI
This fix improves accuracy of all endpoints that use D9: divisional-charts, yoga-list, yoga-calculator, and any endpoint consuming navamsa position
↑ Improved
Shadbala full rewrite — B.V. Raman standard; 49/49 components verified within 2 Virupas of reference: Uccha (7/7 exact), Ojayugma (7/7 exact, D1+D9 independently), Kendra (7/7), Drekkana (7/7), Paksha (7/7), Ayana (7/7 within 0.5 via PyJHora Lagrange), Naisargika (7/7 exact), Saptavargaja (B.V. Raman Panchadha Maitri)
Admin: bulk delete for customer accounts — checkbox select, confirmation, removes user + API keys + usage history + transactions from Supabase
Discord community launched — discord.gg/Q5QpSUep; links added to SiteFooter, Docs page, Contact page, MCP page, and welcome email
Dasha UTC fix — getBirthDate() now uses Date.UTC(); eliminates ~1-day drift on IST machines
✦ New
Discord server live — discord.gg/Q5QpSUep — 3 categories: INFORMATION (welcome/announcements/changelog), DEVELOPERS (general/api-help/show-and-tell/bugs), COMMUNITY (introductions/feedback)
Pushya Paksha ayanamsa — lang param &ayanamsa=pushya_paksha now supported (SE_SIDM_TRUE_PUSHYA=29); PVR Narasimha Rao / Jagannatha Hora standard; Delta Cancri fixed at 16°00' Cancer; verified against PVR J2000 reference to 0.005°. Lahiri remains default.
WordPress plugin published to wordpress.org/plugins/vedintel-astro-widgets — v1.0.7; GPL-2.0 licensed; 6 shortcodes, 6 Gutenberg blocks, city autocomplete, 3 themes; no dev work required by site owners
40/40 endpoints verified live against VedicAstroAPI — 0 failures; 5 documented cosmetic differences (transliteration variants, not errors)
Admin: bulk delete for customer accounts — checkbox select, confirmation, removes user + API keys + usage history + transactions
v2.9.0Major2026-04-26
Giant Leap — /ai-chat · 8 Language Pages · 3 vs Pages · Sign Horoscopes · Homepage Overhaul
✦ New
/ai-chat — flagship product page for the embeddable AI chat widget: streaming SSE embed code generator, 9-row vs competitor table, full params reference, 6 use cases, 6 FAQs
horoscope-by-sign/daily, /weekly, /monthly — 3 new endpoints: sign-based horoscopes (no birth data needed, 12 zodiac signs, lucky_color/element/ruling_planet/best_dates)
6 new language landing pages: /languages/telugu, /kannada, /bengali, /malayalam, /marathi, /gujarati — native script, curl examples, FAQ, cross-linking
3 new competitor comparison pages: /vs/vedika (18 rows), /vs/kundliapi (17 rows), /vs/vedastro (16 rows with fair-framing banner)
Homepage: new AI Chat Widget spotlight section, new Explore grid (Products/Languages/Comparisons/Use Cases) surfacing all new pages
Homepage: 108→127 endpoints, removed all stale "Coming Soon" labels, comparison table rebuilt with 14 rows including new moats
Sitemap: 25 new URLs added — all new pages, language pages, vs pages, enterprise, android
↑ Improved
Homepage stats strip: "21 Languages" removed → "23 Languages" live stat added
MCP Server section on homepage: "Coming Q3 2026" → "Live" — Cursor, VS Code, Claude Desktop all marked Live
Language section on homepage: "Coming Soon — Phase 3" badge → "● Live Now — Pass &lang=XX" badge
Pricing page: all "116 endpoints" references updated to 127
Comparison table on homepage: Jagannatha Hora verified + AI chat widget + WordPress plugin + PDF reports + MCP added as separate rows
FEATURES grid on homepage: MCP "Coming Soon" → "Live", PDF "Coming Soon" → "Live", added AI Chat Widget and Sign-Based Horoscopes as new cards
JSON-LD schema on homepage: free plan "50 calls" bug fixed → 500, Developer plan added, 127 endpoints, embeddable widget in featureList
v2.8.0Major2026-04-25
API Key Security — Revoke Modal · Rotate with Usage Carry · 500 Calls Fix · GA4
✦ New
Revoke / Rotate modal — replaced browser confirm() with proper React modal: shows usage stats, 3 options (revoke only / rotate + carry usage / rotate + fresh quota), never silently deletes data
PATCH /api/auth/api-keys — new key rotation endpoint: creates new key with same plan/limits, optionally carries calls_used, revokes old. Usage history always preserved.
Google Analytics GA4 (G-TBQQSP5HJ1) added to root layout via next/script afterInteractive — fires on every page, zero render-blocking
Step-tagged exception logging in GET /api/auth/api-keys — pinpoints exact line of failure in try/catch
✓ Fixed
Free plan 50→500 calls in api-keys route — PLAN_LIMITS had calls:50 instead of 500; all new Free keys now correctly get 500/month
GET /api/auth/api-keys 500 error — decrypt failure (AES-256-GCM auth tag mismatch when VEDINTEL_API_SECRET rotated) now returns 410 with actionable message instead of 500
Dashboard showing 66+→127 endpoints — three places in dashboard/page.tsx still had old "66+" value
api.vedintelastroapi.com → vedintelastroapi.com — wrong subdomain corrected across 36 files via sed
v2.7.0Major2026-04-24
World-Class Engineering — 23 Languages · Security Hardening · Better Errors · Full OpenAPI
✦ New
27-language support — expanded from 5 to 23 languages: all 11 Indian scripts (hi/ta/te/sa/kn/ml/bn/gu/mr/pa/ur) + or/si/ne + 13 international (es/fr/de/pt/ar/id/th/it/nl/ru/ja/zh)
lang=auto smarter detection — now detects si (Sri Lanka), ne (Nepal), ur (Pakistan), bn (Bangladesh), ar (Middle East), id/th/ja/zh/ru by tz + coordinate ranges
Planets and signs fully translated in all 11 Indic languages and 13 international languages — native script + romanization
LANG_META fully populated for all 23 languages — name, script, rtl flag, native name
apiSuccess() wrapper — lang translation + rate headers + security headers in one call, wired into all 86 endpoints
OpenAPI spec updated to v2.7.0 — all 27 lang codes listed, romanized param documented
Full OpenAPI at /api/v1/openapi.json — 107 endpoints, all parameters, all error codes, Swagger UI compatible
↑ Improved
Security headers on every API response — X-Content-Type-Options: nosniff, X-Frame-Options: DENY, X-XSS-Protection, Referrer-Policy, Permissions-Policy, Cache-Control: no-store
Descriptive validation errors with examples — "dob must be in DD/MM/YYYY format (e.g. 15/08/1990)" instead of cryptic Zod output
Missing parameter message names the exact field — "Missing required parameter: \"dob\". Required: dob (DD/MM/YYYY), tob (HH:MM), lat, lon, tz"
ayanamsa validation now tells you exactly what is valid — "must be 'lahiri', 'raman', or 'kp'. Default is lahiri."
Year range enforcement — dob year must be 1800–2100; specific error message if out of range
Month/day range validation with exact value in error — "dob month \"13\" is invalid — must be 01–12"
Translation fallback chain: requested lang → Sanskrit → English — response never breaks for any language
v2.6.0Major2026-04-24
5-Language Support — Hindi, Tamil, Telugu, Sanskrit + lang=auto
✦ New
lang param on all endpoints — add &lang=hi/ta/te/sa to any API call for instant Vedic-aware translation
Static term lookup table — 300+ Vedic terms (planets, signs, nakshatras, houses, dashas, doshas, panchang) in 5 languages, zero API cost
Romanization support — add &romanized=1 to get native script + phonetic spelling side by side (e.g. "मेष (Mesha)")
lang=auto — pass &lang=auto and the API detects the right language from your tz + lat coordinates automatically
Fallback chain — requested language → Sanskrit → English, response never breaks if a term is missing
Language metadata in response — lang, script fields returned on every translated response
/api/v1/utilities/translate-terms — download the full term dictionary for any language in one call; cache once, translate client-side forever
category param on translate-terms — filter by planets, signs, nakshatras, houses, dashas, dignities, panchang, doshas, or misc
Sanskrit support — classical Devanagari script + IAST romanization for every term; unique among Vedic astrology APIs
lang wired into 4 core endpoints: planet-details, find-ascendant, panchang, current-mahadasha-full
↑ Improved
Translation is instant (static lookup, not Claude Haiku) — zero latency impact on API responses
27-language architecture in place — adding remaining 22 languages is a data-only operation, no code changes needed
Old Claude Haiku translation route upgraded to use static lookup — same interface, zero AI cost