---
title: "Kerala Porutham — 10-Porutham Compatibility"
method: POST
path: "/v1/astro/matchmaking/porutham"
tags: ["Astrology"]
---

# Kerala Porutham — 10-Porutham Compatibility

`POST /v1/astro/matchmaking/porutham`

## Request

- Base URL: `https://api.asterwise.com`
- URL: `https://api.asterwise.com/v1/astro/matchmaking/porutham`
- Auth: HTTP bearer

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.

## Request body

- PortuthamRequest
  - `person1` BirthInput, required
    - `location` string, nullable: City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
    - `name` string: Person name associated with the birth record
    - `date` string, required: Birth date in YYYY-MM-DD format
    - `time` string, nullable: Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
    - `latitude` number, nullable: Latitude. Required if location not provided.
    - `longitude` number, nullable: Longitude. Required if location not provided.
    - `timezone` string, nullable: 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.
    - `utc_offset` string, nullable: 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.
    - `ayanamsa` 'lahiri' | 'raman' | 'kp' | 'tropical': Sidereal ayanamsa mode used in calculations
  - `person2` BirthInput, required
    - `location` string, nullable: City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
    - `name` string: Person name associated with the birth record
    - `date` string, required: Birth date in YYYY-MM-DD format
    - `time` string, nullable: Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
    - `latitude` number, nullable: Latitude. Required if location not provided.
    - `longitude` number, nullable: Longitude. Required if location not provided.
    - `timezone` string, nullable: 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.
    - `utc_offset` string, nullable: 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.
    - `ayanamsa` 'lahiri' | 'raman' | 'kp' | 'tropical': Sidereal ayanamsa mode used in calculations

## Response `200`

Successful Response

- ApiResponsePoruthamResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` PoruthamResponse, required
    - `birth_time_provided` boolean: True only when both people supplied a birth time. See person1_birth_time_provided and person2_birth_time_provided.
    - `person1_birth_time_provided` boolean: True when person 1 supplied a birth time.
    - `person2_birth_time_provided` boolean: True when person 2 supplied a birth time.
    - `total_passed` integer, required
    - `total_poruthams` integer, required
    - `compatibility_level` string, required
    - `rajju_veto` boolean, required
    - `vedha_veto` boolean, required
    - `hard_veto` boolean, required
    - `minimum_poruthams_met` boolean, nullable: True when Rajju, Dinam, Ganam, Rasi and Yoni all pass (PyJHora's minimum Tamil porutham).
    - `breakdown` object, required

## Other responses

- `401`: Authentication failed
- `403`: Authorization failed
- `404`: Resource not found
- `413`: Payload too large
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream provider error
- `503`: Service unavailable

## Changes

- **2026-10-19** `3c4bbb1194e2`: 1 info
  - added the optional property `data/minimum_poruthams_met` to the response with the `200` status

[Operation history](https://skmtc.dev/asterwise/apis/asterwise-api/changes/v1/astro/matchmaking/porutham/post.md)

---

[API](https://skmtc.dev/asterwise/apis/asterwise-api.md) · [All operations](https://skmtc.dev/asterwise/apis/asterwise-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterwise/apis/asterwise-api/revisions/3c4bbb1194e2?raw)
