Skip to main content

Kerala Porutham — 10-Porutham Compatibility

Computes all 10 Kerala Poruthams: Dinam, Ganam, Mahendra, Stree Deergha, Yoni, Rasi, Rasiyathipaty, Rajju, Vedha, and Vasya. Rajju and Vedha are absolute vetoes — if either fails the match is prohibited. person1 = groom, person2 = bride.

Endpoint

POST /v1/astro/matchmaking/porutham

Request parameters

FieldTypeRequiredDescription
person1objectYes
person1.locationstring | nullNoCity name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person1.namestringNoPerson name associated with the birth record
person1.datestringYesBirth date in YYYY-MM-DD format
person1.timestring | nullNoBirth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person1.latitudenumber | nullNoLatitude. Required if location not provided.
person1.longitudenumber | nullNoLongitude. Required if location not provided.
person1.timezonestring | nullNoIANA timezone. Required if location not provided.
person1.ayanamsastringNoSidereal ayanamsa mode used in calculations
person2objectYes
person2.locationstring | nullNoCity name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
person2.namestringNoPerson name associated with the birth record
person2.datestringYesBirth date in YYYY-MM-DD format
person2.timestring | nullNoBirth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
person2.latitudenumber | nullNoLatitude. Required if location not provided.
person2.longitudenumber | nullNoLongitude. Required if location not provided.
person2.timezonestring | nullNoIANA timezone. Required if location not provided.
person2.ayanamsastringNoSidereal ayanamsa mode used in calculations

Example request

curl -X POST "https://api.asterwise.com/v1/astro/matchmaking/porutham" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"person1":{"date":"1985-11-12","time":"06:45","latitude":19.076,"longitude":72.8777,"timezone":"Asia/Kolkata"},"person2":{"date":"1988-03-24","time":"14:30","latitude":28.6139,"longitude":77.209,"timezone":"Asia/Kolkata"}}'

Example response

{
"success": true,
"message": "success",
"data": {
"total_passed": 7,
"total_poruthams": 10,
"compatibility_level": "Good",
"rajju_veto": false,
"vedha_veto": false,
"hard_veto": false,
"breakdown": {
"Dinam": {
"passed": true,
"count": 11,
"position": 2,
"description": "Inclusive count 11 from bride to groom — auspicious (#103)."
},
"Ganam": {
"passed": true,
"boy_gana": "Deva",
"girl_gana": "Deva",
"description": "Groom: Deva, Bride: Deva — compatible."
},
"Mahendra": {
"passed": false,
"description": "Mahendra is not favorable — no major harm, but this factor is neutral."
},
"StreeDeergha": {
"passed": false,
"distance": 11,
"description": "Inclusive count 11 — unfavorable (≤15)."
},
"Yoni": {
"passed": true,
"boy_yoni": "Buffalo",
"girl_yoni": "Serpent",
"description": "Groom: Buffalo, Bride: Serpent — compatible."
},
"Rasi": {
"passed": false,
"count": 5,
"description": "Rasi incompatible — groom not more than 6 signs from bride."
},
"Rasiyathipaty": {
"passed": true,
"score": 5.0,
"description": "Lord compatibility score 5.0/5 — compatible."
},
"Rajju": {
"passed": true,
"is_veto": true,
"boy_rajju": "Kantha",
"girl_rajju": "Siro",
"description": "Different Rajju groups — no dosha from Rajju."
},
"Vedha": {
"passed": true,
"is_veto": true,
"description": "No Vedha — Nakshatras are not mutually obstructive."
},
"Vasya": {
"passed": true,
"score": 2.0,
"description": "Vasya score 2.0/2 — compatible."
}
}
}
}

Response fields

FieldTypeDescription
successbooleanTrue if the request succeeded
messagestringHuman-readable status message
dataobject
data.total_passedinteger
data.total_poruthamsinteger
data.compatibility_levelstring
data.rajju_vetoboolean
data.vedha_vetoboolean
data.hard_vetoboolean
data.breakdownobject

Errors

CodeDescriptionReference
authentication_failedMissing or invalid API key.authentication_failed
ephemeris_unavailableUpstream ephemeris service error.ephemeris_unavailable
insufficient_tierAPI key tier does not include this endpoint.insufficient_tier
internal_errorUnexpected server error.internal_error
ip_rate_limit_exceededToo many requests in a short window.ip_rate_limit_exceeded
payload_too_largeRequest body exceeds the size limit.payload_too_large
resource_not_foundReferenced resource was not found.resource_not_found
validation_errorRequest body failed schema validation.validation_error