Skip to content

Compatibility

Pairwise compatibility report — Western synastry (inter-aspects between the two charts' planets) plus Vedic Ashtakoota (8-kuta marriage scoring). Both are computed in one call.

Create — POST /v1/compatibility

Required scope: compatibility:write

Request

{
    "chart_a_id": "019e32b1-0f8f-7793-a6ef-8f7dcaef7d2b",
    "chart_b_id": "019e32b1-a0af-70f2-a199-4c0e10b81c4d",
    "axis": "romantic"
}
Field Type Required Notes
chart_a_id UUIDv7 yes Must belong to the caller's tenant.
chart_b_id UUIDv7 yes Same tenant, and must differ from chart_a_id. The "groom" side in Vedic terminology.
axis enum no, default "talent" One of talent, romantic, team. Selects the relationship lens.
include_ashtakoota bool no, default true Compute the Vedic 8-kuta block.
include_synastry bool no, default true Compute the Western synastry block. At least one of the two must be true.

Response — 201 Created

{
    "id": "019e32b1-f1e3-7280-ae42-92c709ad1262",
    "chart_a_id": "019e32b1-...",
    "chart_b_id": "019e32b1-...",
    "axis": "talent",
    "computed_at": "2026-05-16T21:29:43.139295Z",
    "verdict": "borderline",
    "overall_score_percent": 54.25,

    "ashtakoota": {
        "scores": [
            {
                "kuta": "varna",
                "points": 1,
                "max_points": 1,
                "reason": "Groom Varna kshatriya, bride Varna vaishya",
                "dosha": false
            }
            /* 7 more: vashya, tara, yoni, graha_maitri, gana, bhakoot, nadi */
        ],
        "total": 15,
        "flags": ["nadi_dosha"]
    },

    "synastry": {
        "inter_aspects": [
            {
                "planet_a": "midheaven",
                "planet_b": "mars",
                "aspect": "conjunction",
                "orb_degrees": 0.2322,
                "exactness": 0.971,
                "is_harmonious": true
            }
            /* up to ~60 inter-aspects */
        ],
        "overlays_a_in_b": [
            { "planet": "venus", "falls_in_house": 8 }
        ],
        "overlays_b_in_a": [
            { "planet": "saturn", "falls_in_house": 7 }
        ],
        "harmony_score": 61.5
    }
}

ashtakoota is present only when include_ashtakoota was true; synastry only when include_synastry was true.

Field reference

Field Type Notes
axis string Echoes the requested lens (talent / romantic / team).
verdict enum excellent | good | borderline | challenging. Single-word summary.
overall_score_percent float 0–100. Blends Ashtakoota + synastry quality per axis.
ashtakoota.scores[].kuta string One of the 8 Vedic kutas.
ashtakoota.scores[].dosha bool True when this kuta yields a doṣa flag.
ashtakoota.flags string[] Flat list of named doshas raised.
synastry.inter_aspects[].aspect string conjunction, sextile, square, trine, opposition, quincunx.
synastry.inter_aspects[].orb_degrees float Distance from exact aspect in degrees.
synastry.inter_aspects[].exactness float 1 − (orb / max_orb). Higher is more exact.
synastry.inter_aspects[].is_harmonious bool Whether the aspect reads as flowing (trine/sextile/…) vs. challenging.
synastry.overlays_a_in_b[] object A's planets in B's houses: {planet, falls_in_house}.
synastry.overlays_b_in_a[] object B's planets in A's houses: {planet, falls_in_house}.
synastry.harmony_score float Overall synastry harmony, 0–100.

Fetch — GET /v1/compatibility/{id}

Required scope: compatibility:read

Same shape as create.

The 8 kutas

Kuta Max points Dimension
varna 1 Spiritual / temperamental compatibility (4-tier ranking).
vashya 2 Mutual influence.
tara 3 Health and well-being via nakshatra distance.
yoni 4 Sexual / instinctive compatibility (14 yoni archetypes).
graha_maitri 5 Friendship of sign-lords.
gana 6 Temperamental classification (deva / manushya / rakshasa).
bhakoot 7 Lunar-sign distance health flags.
nadi 8 Constitutional / health compatibility — strongest individual dosha.
Total 36

Total ≥ 28 is traditionally considered very good; 18–27 acceptable; < 18 challenging. The platform normalises this into overall_score_percent together with the synastry breakdown.

Why Vedic kutas + Western synastry in one call?

The two systems weight different axes — Ashtakoota emphasises lunar nakshatra relationships, synastry emphasises angular contacts between all major bodies. Returning both lets the client pick whichever surface fits the audience without spinning up a second computation.