Changelog
Changes to the Asterwise API and MCP server. See versioning for what counts as a breaking versus additive change.
Current API version: 2026-03-01
Entries from June 2026 onward are dated by deployment. Earlier entries are grouped by month, covering the period when the v1 surface was being built.
2026-09-28
Added
POST /v1/astro/panchangareturns the whole panchanga day (sunrise to next sunrise) beside the sunrise limbs: every tithi, nakshatra (with padas), yoga and karana active in it with ISO start and end times andat_sunrise/is_kshaya/is_vriddhiflags; sunrise, sunset, moonrise, moonset; Sun and Moon rashi and Sun nakshatra;masa(amanta and purnimanta, with Adhik months);samvat(Vikram, Shaka, Gujarati, samvatsara);ritu;ayana; andtimings(Brahma Muhurta, Abhijit, Vijaya, Godhuli, Sandhyas, Nishita, Pradosh, Rahu Kaal, Gulika, Yamaganda, Durmuhurta, Varjyam, Amrit Kaal, Bhadra with residence, Panchaka, the five parts of the day).- The monthly panchanga calendar adds, per day, sunrise, sunset, moonrise, moonset, paksha, masa, Bhadra windows and every limb of the day, so a kshaya tithi now appears on the day it runs.
GET /v1/astro/panchanga/festivals: about 50 named festivals (from 20), and with the newcategoriesparameter every Ekadashi, Pradosh, Sankashti Chaturthi, Masik Shivaratri, Purnima and Amavasya (vrat), the 12 sankrantis, eclipses with local visibility and contact times, and periods (Adhik Maas, Chaturmas, Pitru Paksha, both Navratris, Holashtak, Kharmas). Entries addid,category,masa,paksha,tithiwith start and end, therulethat fixed the day,observance_window,note, andend_datefor periods. The default remains the named festivals.POST /v1/astro/muhurta: six more activities (vehicle_purchase,property_purchase,mundan,annaprashan,upanayana,vidyarambha), ranges up to a year, optionallocation,participants(Tarabala and Chandrabala),max_windows_per_dayandmin_duration_minutes. Windows addstart_at/end_at(ISO 8601),civil_date,panchanga_day,grade,nakshatra,lagna,masa,reasonsandcautions; the response addscriteriaandexcluded_minutes.- Divisional charts: each planet gains
dignity,is_vargottamaand (with a birth time) its whole-signhousefrom the varga lagna, and a top-levelhousestable per chart. - Nakshatra prediction:
tarabala.cycle,cycle_name,is_moon_in_birth_nakshatra, andtransit_nakshatras(every nakshatra of the day with its tara). - MCP:
asterwise_geocode(104 tools). - Every birth-data request accepts an optional
utc_offset(±HH:MMor±HH:MM:SS) that overrides the time zone's offset. See birth time and time zones. POST /v1/astro/natalreturnsbirth_moment: the UTC instant used, the offset applied, where it came from (iana,local_mean_time,explicit_offset) and whether the local time fell in a daylight-saving gap or overlap.GET /v1/astro/ayanamshaaddstrue_value_decimal(mean ayanamsa plus nutation), the offset subtracted from apparent planetary positions.- The natal Avakahada block adds
paya_basis.
Changed
- Muhurta windows are found in continuous time instead of Choghadiya slots,
with each activity's nakshatra, tithi and weekday rules, seasonal bans
(Chaturmas, Adhik Maas, Pitru Paksha, Kharmas, Holashtak, Guru/Shukra
asta, Panchaka) and graded scores. The earlier window fields keep their
meaning:
dateis the panchanga day andstart/endare HH:MM on it; usestart_at/end_atfor the exact instants. - Festival dates follow the lunar month and the classical part of the day for each festival, instead of the Sun's sign and the sunrise tithi.
- The Tara named for counts 10 and 19 is Anujanma and Trijanma (was Janma).
- Local times are converted with the full IANA time zone database (release 2026d). For dates before a zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used instead of the zone city's.
- A local time in a daylight-saving gap is read with the offset in force before the change; a time that occurred twice is read as its first occurrence (it was the second).
- Natal
ayanamsa_valuereports the true ayanamsa, the value actually used. - Arudha padas and the Upapada take the stronger co-lord of Scorpio (Mars or Ketu) and Aquarius (Saturn or Rahu), as Jagannatha Hora does, instead of always Mars and Saturn.
- Rahu and Ketu graha drishti is the 7th house only; the graded 3rd/4th/5th aspects belong to the seven planets.
- Avakahada
payais Rashi Paya: the Moon's house from the lagna. - Nakshatra names are spelled the same on every endpoint:
DhanishtaandMula(panchanga, muhurta and the Avakahada block saidDhanishtha; dosha details saidMoola). The nakshatra details endpoint accepts either.
Fixed
- Chaitra to Ashadha festivals came out a lunar month late, and Bhai Dooj and Dev Uthani Ekadashi a month late; Dhanteras, Diwali, Dussehra and Ganesh Chaturthi a day late.
- A tithi that no sunrise touches was missing from the calendar.
- Muhurta returned marriage windows in Chaturmas and on Pushya, Tuesday or a Krishna Rikta tithi.
- Sunrise, sunset, Rahu Kaal, Choghadiya and hora times were about a minute early (Julian Days read as Terrestrial Time); times now round to the minute.
- Yamaganda used the wrong part of the day on Sunday to Thursday; Tamil Emagandam (the same period) now equals Yamagandam.
- The sunrise chart for an unknown birth time used the previous day's sunrise in time zones west of UTC.
- MCP: the monthly calendar tool now sends the timezone; the festival and Tamil tools take lat/lon/timezone like the others.
- Sidereal positions from the natal, divisional, transit and matchmaking endpoints were off by the nutation in longitude (up to 19 arcseconds): the mean ayanamsa was subtracted from apparent positions. Near a sign, nakshatra or pada boundary this changed the result, and those endpoints could disagree with panchanga, muhurta, KP, Sade Sati, Shadbala and Varshaphal, which were already right. Varshaphal solar return times move by a few minutes.
- Dates from 2038 in time zones with daylight saving had the wrong offset for half the year, and some dates before 1901 had the wrong historical offset (a day for Manila before 1845).
- The sunrise chart for an unknown birth time was up to a minute before sunrise.
- Rashi drishti: Capricorn aspected Aquarius but not the reverse; adjacent signs never aspect each other.
- Nakshatra details for Dhanishta returned empty
activitiesandbody_map.
2026-07-25
Added
- Divisional chart responses include an
ascendantobject for each varga, alongside planet placements. Omitted when birth time is not supplied.
Changed
- Vedic birth input accepts requests without a
timefield. When omitted, a sunrise chart is used andbirth_time_providedreturnsfalse. Passing"00:00"is treated as a midnight birth, not an unknown time. - MCP
BirthData.timeis optional. Omitting it sends notimekey upstream.
Fixed
- Western natal and return responses set
birth_time_providedfrom whethertimewas supplied. It previously always returnedtrue. - OAuth authorization code exchange no longer fails with
Authorization code already usedwhen a client retries the token request. Unknown codes now return the same message as already-used codes.
2026-07-16
Fixed
- Payment method update returns a payment link during the grace period.
- Subscription cancellation returns an error when the processor call fails, instead of reporting success.
2026-07-09
Changed
- Paid plan prices and monthly quotas: Builder $10 / 10,000 calls, Launch $30 / 50,000, Scale $100 / 300,000. Sandbox unchanged at 500.
- Upgrades are prorated. Downgrades are rejected.
- Subscription payloads on
GET /v1/accountandGET /v1/billing/dodo/subscriptionincludesku_id,billing_intervalandpending_plan_change.
2026-07-02
Added
GET /v1/account/signing-secretandPOST /v1/account/signing-secret/rotatefor per-account response signing.- Email and password registration returns a one-time sandbox
api_keyand mints a key namedSandbox. - Key list and summary responses include
key_prefix. - Annual billing: Builder $100/yr, Launch $300/yr, Scale $1,000/yr. The monthly quota is unchanged; only the billing interval differs.
Changed
- Responses are signed with the account signing secret when one exists. Callers verifying against the global signing secret should switch to the per-account secret.
- Monthly quota counts only calls returning 2xx. Failed calls and over-limit rejections are not counted. Cache hits are counted.
GET /v1/accountusage counts the UTC calendar month, matching what rate limiting enforces.- On a Redis outage, paid tiers continue to serve. Sandbox returns
MONTHLY_USAGE_LIMIT_EXCEEDED. - Active API key caps are per tier rather than a flat limit.
- Dodo payment history returns payments across subscriptions, up to 50.
- Subscribe and upgrade use Dodo checkout sessions.
2026-06-18
Added
PATCH /v1/accountupdatesfull_name.GET /v1/accountreturns it.- CORS allows
PATCHandPUTfor browser clients.
2026-06-04
Changed
- Exceeding the per-account API key cap returns
MAX_KEYS_EXCEEDED(409). It previously returned a validation error.
2026-05 — May
The largest expansion of the endpoint surface. Western astrology, tarot, crystals, dreams and angel numbers were added, and the error contract was standardised.
Added
- Western astrology: moon phase, moon calendar, aspects, daily/weekly/monthly transits, synastry, composite, compatibility, zodiac compatibility, solar, lunar and planetary returns, secondary progressions, solar arc.
- Western horoscope:
GET /v1/western/horoscope/{daily|weekly|monthly|yearly}/{sun_sign}. - Numerology:
expression,soul-urge,personality,maturity,balance,karmic-lessons,personal-cycles. - Tarot: card catalogue, card by id, major arcana, suit, card of the day, draw, three-card, Celtic Cross, yes/no.
- Crystals:
GET /v1/crystals,/crystals/{name},/crystals/by-planet;POST /v1/crystals/recommend,/crystals/recommend/natal. - Angel numbers:
GET /v1/numerology/angel,/angel/today,/angel/{number};POST /v1/numerology/angel/personal. - Dreams:
GET /v1/dreams/symbols,/dreams/symbol/{name}. - Vedic:
GET /v1/astro/planet-nature,/puja-suggestions,/rudraksha,/ayanamsha;POST /v1/astro/nakshatra/prediction,/pitra-dosha,/ghat-chakra,/varshaphal/saham,/varshaphal/harsha-bala;GET /v1/astro/panchanga/tamil,/panchanga/festivals. POST /v1/western/biorhythm, moved from/v1/astro/biorhythm.- Sade Sati responses include Small Panoti (Dhaiya).
- Rate-limit responses include the
Retry-Afterheader. - MCP server reaches 103 tools.
- Python and TypeScript SDKs 0.2.0 and 0.2.1.
Changed
- Error responses use the 8-field canonical envelope:
error,message,status_code,request_id,timestamp,doc_url,retry_after,details. Unmatched routes and oversized bodies use it too. birth_time_unknownis replaced bybirth_time_providedon natal and related chart responses. The polarity is inverted. Dropped from panchanga.- Auth failures distinguish
API_KEY_MISSING,API_KEY_INVALID,API_KEY_NOT_FOUNDandAPI_KEY_REVOKED. - Pitru dosha
bphs_combinations_triggeredandbphs_combinations_countare renamed tocombinations_triggeredandcombinations_count. - MCP
asterwise_get_divisional_chartmakeschart_typeoptional. Omit it for all sixteen vargas. - Mangal Dosha detection uses D1 only. The D9 check was removed.
- Gana Koota Deva plus Manushya scores 6, previously 5.
POST /v1/astro/kp/ruling-planetsrejects out-of-rangelatandlonwith a validation error instead of a 500.
Fixed
POST /v1/astro/divisionalreturns only the requested chart whenchart_typeis set.- Western return charts use conjunction separation, not opposition.
- Panchanga nakshatra and yoga end times no longer double-subtract ayanamsa.
- Char Dasha start rashi, Savya and Apasavya sets, Aquarius secondary lord and period years return corrected values.
- KP ruling planets are de-duplicated.
- Numerology master-number interpretations and
personal_yearvalidation accept inputs that previously failed.
2026-04 — April
OAuth, the MCP server, the SDKs, and a change of payment processor. Several calculation engines were corrected, which changed returned values.
Added
- OAuth 2.1 on the API: authorize, token, revoke, refresh,
POST /v1/oauth/register,GET /v1/oauth/client-info,/connections,DELETE /v1/oauth/connections/{token_id}. - MCP server with 52 tools, OAuth 2.1 and streamable HTTP, including
discovery metadata and
WWW-Authenticateon unauthenticated requests. POST /v1/western/natal.GET /openapi-sdk.jsonfor SDK generation.- Python and TypeScript
asterwiseSDKs on PyPI and npm. - Dodo billing under
/v1/billing/dodo/: subscribe, webhook, subscription, cancel, andGET /v1/billing/dodo/payments. - Strength responses include
bhavbalaacross twelve houses. - Varshaphal responses include
muntha_lordand Tajika planet-pair aspects. - Natal responses include
house_system_noteand Bhavesh Phala interpretations where applicable.
Changed
- Birth-data endpoints require
BirthInputwithdate,time,latitude,longitude,timezoneandname.date_of_birthandtime_of_birthare rejected. - Numerology requests use
nameanddateinstead offull_nameandbirth_date. - Tier
growthis renamed tolaunchacross schemas, SKUs and stored tiers. - Sandbox monthly quota is 500, reduced from 2,000.
- Burst limits: sandbox 10/min, builder 60, launch 200, scale 500.
- Razorpay billing routes are removed. Dodo is the payment processor.
- Account billing-details endpoints are removed.
- Paid plan quotas and prices: Builder 15,000 / $39, Launch 60,000 / $99, Scale 300,000 / $249.
- MCP report tools are removed:
asterwise_generate_kundli_report,asterwise_generate_dasha_report,asterwise_generate_matchmaking_report,asterwise_generate_varshaphal_report. - Report endpoints
POST /v1/report/kundli,/matchmaking,/dasha,/varshaphalare removed from the public API. - API auth accepts
X-API-Keyin addition toAuthorization: Bearer. bhava_madhya,bhava_sandhiandrashi_drishtireturn labeled objects rather than raw numeric arrays. Ashtakavarga, upapada and varshaphal ascendant fields use labeled or sign-keyed shapes.- Natal
moon_signandmoon_nakshatraare always populated. - OAuth token and revoke accept form-urlencoded and JSON bodies.
- MCP OAuth redirect URI validation allows the
cursor://scheme.
Fixed
- Sign-dependent yogas that were silently skipped now appear in responses.
- Sign-dependent dosha detection, including Mangal Dosha, runs with correct sign indices.
- Dignity, combustion, Bhava Chalit, Graha Yuddha, Shadbala, yoga, dosha, matchmaking, transit, panchanga, KP, Prashna, Lal Kitab and gemstone outputs change where prior engine bugs applied.
- Matchmaking field
StreeDeergauses a Latina. A Cyrillic lookalike character was removed, which changes the JSON key. - Matchmaking Rajju group labels and descriptions return corrected values.
- Yoga and dosha interpretation keys resolve instead of returning placeholders.
- Unauthenticated callers no longer receive cached authenticated responses.
2026-03 — March
Initial public release and the first build-out of the endpoint surface.
Added
- API key management:
POST /v1/keys,GET /v1/keys,DELETE /v1/keys/{key_id},GET /v1/keys/usage,GET /v1/keys/me. - Account auth: magic link, register, login, Google, forgot and reset
password, logout, session revoke,
GET/DELETE /v1/account,POST /v1/account/onboard,GET /v1/account/export,/logs. - Account-scoped API key create, list, rotate and delete.
- Vedic core:
POST /v1/astro/natal,/dasha,/dosha,/yoga,/matchmaking,/strength,/transits,/divisional,/ashtakavarga,/yogini,/ashtottari,/sade-sati,/gochar,/chart. - Panchanga:
POST /v1/astro/panchanga,/panchanga/choghadiya,/hora,/rahu-kaal;GET /v1/astro/panchanga/calendar. - Matchmaking variants:
/matchmaking/dashakoot,/porutham,/thirumana-porutham,/papasamyam. - Timing and analysis:
/muhurta,/char-dasha,/varshaphal,/dasha-transits,/atmakaraka,/ishta-devta,/remedies,/gemstones;GET /v1/astro/nakshatra/{name}. - KP:
/kp/chart,/significators,/ruling-planets. Prashna:/prashna. Lal Kitab:/lal-kitab/chart,/remedies. - Numerology: profile, compatibility, life-path, personal-year, lucky-numbers, meaning, name-correction, chaldean, lo-shu, business-name, mobile-number, vehicle-number.
- Horoscope:
GET /v1/horoscope/{daily|weekly|monthly|yearly}/{moon_sign}. - Reports:
POST /v1/report/kundli,/matchmaking,/dasha,/varshaphal. - Utilities:
GET /v1/utils/geocode,/timezone. - Billing: order, verify, webhook, subscription, cancel, reactivate, add-on purchase, subscription-status polling.
ayanamsa=tropicalon birth-data endpoints.include_interpretationonPOST /v1/astro/natal.- Natal responses include Avakahada Chakra fields.
- Matchmaking responses include Mangal Dosha, classical vetoes, Stree Deergha and narrative fields.
- Astrology endpoints accept an omitted birth time, using a sunrise chart.
Changed
- Tier
freeis removed. Sandbox is the free path. CreateKeyRequestno longer acceptsmonthly_limit. The limit comes from the tier.POST /v1/billing/upgradeis removed. Upgrade preview fields change andnew_billing_dateis dropped.DELETE /v1/accountrequires a body of{"confirm": true}.- Billing and keys are account-scoped, with one subscription per account.
- New API keys use an
aw_prefix. POST /v1/keysreturns HTTP 200.- Per-IP and per-key burst rate limits apply.
- Expired subscriptions downgrade to sandbox.
- Sandbox monthly quota is 2,000 at this point. Reduced to 500 in April.
- Disposable email addresses are rejected at signup.
- Responses include the
Asterwise-Versionheader.
Fixed
- Auth and ownership checks on key endpoints reject cross-account access.
- Ayanamsa selection is applied on panchanga and divisional routes.
Note on stability
The v1 surface was built and reshaped between March and May 2026. Endpoint paths, field names, the error envelope, tier names, quotas and the payment processor all changed during that period. The contract reached its current shape on 2026-05-21 with the 8-field error envelope.
Integrations written before June 2026 should be checked against the current reference rather than earlier behaviour.
Reporting issues
If the API behaves differently from what is documented here, email
support@asterwise.com with the X-Request-Id from the affected response.