Skip to main content
POST/v1/astro/matchmaking

Kundali Milan — Matchmaking

Complete Vedic compatibility analysis using Ashtakoot Guna Milan (36-point system). Returns all 8 koota scores, Mangal Dosha compatibility with Dosha Samya analysis, classical veto checks (Vedha and Rajju Dosha), supplementary checks (Mahendra, Stree Deergha), and compatibility narrative with strengths, concerns, and recommendation. Also known as Kundali Milan, Gun Milan, or Ashtakoot Milan. Calculates 36-point compatibility score with Rajju, Vedha, and Dosha Samya classical rules.

Request parameters​

person1required
object
person1.locationoptional
string | null
City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person1.nameoptional
string
Person name associated with the birth record
person1.daterequired
string
Birth date in YYYY-MM-DD format
person1.timeoptional
string | null
Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person1.latitudeoptional
number | null
Latitude. Required if location not provided.
person1.longitudeoptional
number | null
Longitude. Required if location not provided.
person1.timezoneoptional
string | null
IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
person1.utc_offsetoptional
string | null
Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset timezone would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
person1.ayanamsaoptional
string
Sidereal ayanamsa mode used in calculations
person2required
object
person2.locationoptional
string | null
City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person2.nameoptional
string
Person name associated with the birth record
person2.daterequired
string
Birth date in YYYY-MM-DD format
person2.timeoptional
string | null
Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person2.latitudeoptional
number | null
Latitude. Required if location not provided.
person2.longitudeoptional
number | null
Longitude. Required if location not provided.
person2.timezoneoptional
string | null
IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
person2.utc_offsetoptional
string | null
Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset timezone would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
person2.ayanamsaoptional
string
Sidereal ayanamsa mode used in calculations

Response fields​

success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.total_score
number
Overall Guna Milan score out of 36
data.breakdown
object
Per-koota score breakdown
data.compatibility_level
string
Textual compatibility band derived from score
data.doshas
object
Detected compatibility doshas
data.dosha_cancellations
object
Traditional dosha cancellation flags
data.analysis
object
Additional high-level matchmaking analysis details
data.classical_vetoes
object | null
Classical veto checks (Vedha, Rajju) and veto status
data.mangal_compatibility
object | null
Mangal Dosha compatibility assessment between both partners
data.supplementary_checks
object | null
Supplementary classical checks: Mahendra, Vedha, Rajju
data.compatibility_narrative
object | null
Narrative compatibility summary with strengths and concerns
data.birth_time_provided
boolean
Whether a precise birth time was provided for both persons. False when either person's birth time was not supplied or treated as unknown.

Errors​

Invalid API key format.
API key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.
The provided API key was not found. Verify the key in your Asterwise dashboard.
This API key has been revoked.
Too many requests per minute. Please slow down.
Something went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.
Too many requests from this IP address. Please slow down.
Monthly API call limit reached. Upgrade your plan to continue.
Request body exceeds maximum allowed size of 64KB.
Your subscription has expired. Please renew at asterwise.com/dashboard to continue.
The request couldn't be processed. See the 'details' field for specific field-level issues.