Compatibility engine/Compatibility
POST/v1/western/synastry/chart

Western · Synastry · Chart API

Western synastry overlay of two natal charts.

About the engine

Part of the Compatibility engine

All compatibility endpoints in one cluster: 8-koot Gun Milan, 10-koot Dashakoot, Tamil-tradition Nakshatra + Thirumana Porutham, Western synastry / composite, Western zodiac quick-check, and Ank Milan numerology. Plus batch scoring for matrimony portals (up to 500 pairs per call), Papa Samyam malefic-balance for couples, and an async PDF compatibility report.

Request

Try it from the command line

curl -X POST 'https://api.astronode.dev/v1/western/synastry/chart' \
  -H 'Authorization: Bearer aie_test_REPLACE_WITH_YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '{
  "person_a": {
    "date": "1993-07-04",
    "time": "09:27:11",
    "tz_offset_minutes": 330,
    "lat": 31.7473,
    "lng": 77.7754
  },
  "person_b": {
    "date": "1994-11-22",
    "time": "18:45:00",
    "tz_offset_minutes": 330,
    "lat": 28.6139,
    "lng": 77.209
  }
}'

Paste and run - this is the exact payload our live playground sends to this endpoint, so it is valid against the current schema. Every AstroNode endpoint needs a bearer token from your dashboard. Test keys (aie_test_*) work on the free tier - 1,000 requests / month, no card.

Request schema

Fields POST /v1/western/synastry/chart accepts

Request body fields for POST /v1/western/synastry/chart
FieldTypeNotes
person_arequiredobject-
person_a.daterequiredstring

pattern ^\d{4}-\d{2}-\d{2}$

e.g. 1993-07-04

person_a.timerequiredstring

pattern ^\d{2}:\d{2}(:\d{2})?$

e.g. 09:27:11

person_a.tz_offset_minutesrequiredinteger

Offset from UTC in minutes (e.g., 330 for IST)

-840..840

e.g. 330

person_a.latrequirednumber

-90..90

e.g. 31.7473

person_a.lngrequirednumber

-180..180

e.g. 77.7754

person_brequiredobject-
person_b.daterequiredstring

pattern ^\d{4}-\d{2}-\d{2}$

e.g. 1993-07-04

person_b.timerequiredstring

pattern ^\d{2}:\d{2}(:\d{2})?$

e.g. 09:27:11

person_b.tz_offset_minutesrequiredinteger

Offset from UTC in minutes (e.g., 330 for IST)

-840..840

e.g. 330

person_b.latrequirednumber

-90..90

e.g. 31.7473

person_b.lngrequirednumber

-180..180

e.g. 77.7754

include_minor_aspectsboolean-

Generated from the same OpenAPI 3.1 document the API validates against, so this table cannot drift from the endpoint without the build failing.

Response

What you get back

Every AstroNode response uses the same envelope: request_id, data (the endpoint-specific payload), interpretation (optional narrative block), and meta (engine version + computed_at timestamp). This endpoint documents 200, 400, 401, 429.

The data payload for POST /v1/western/synastry/chart is not yet broken out field by field in the published schema. The fastest way to see its exact shape is to run the call - the playground returns a live response with no signup, and the API reference carries the full document.

Engine highlights

What the Compatibility engine ships

  • Ashtakoot Gun Milan with cancellation-aware koot scoring
  • Dashakoot (10-koot) variant for South Indian traditions
  • Porutham - both Nakshatra (Kerala-tradition) and Thirumana (Tamil-tradition marriage) variants
  • Western synastry + composite (chart + aspects for each)
  • Ank Milan numerology compatibility - three facets
  • Western sun-sign × sun-sign quick check
  • Batch scoring (up to 500 pairs/call) for matrimony-portal workflows
  • Papa Samyam couple malefic-balance + async detailed PDF report

Ready to call POST /v1/western/synastry/chart?

Free tier covers 1,000 requests / month. Razorpay-billed, GST-compliant invoices when you upgrade.

Informational, not predictive. Not medical, legal, or financial advice.