POST/v1/western/composite/chart

Western · Composite · Chart API

Composite midpoint chart for two natals.

About the engine

Part of the Western engine

22 Western/tropical endpoints: natal charts in Placidus / Koch / Whole-sign (decomposed into chart, planets, houses, aspects), full transit-to-natal feeds, synastry + composite for couples, solar return + secondary progressions, lunar metrics with void-of-course, sun-sign + love daily horoscopes, plus Western zodiac compatibility and the Chinese zodiac year/forecast endpoints.

Request

Try it from the command line

curl -X POST 'https://api.astronode.dev/v1/western/composite/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/composite/chart accepts

Request body fields for POST /v1/western/composite/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/composite/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 Western engine ships

  • Tropical zodiac with Placidus, Koch, Equal, Whole-sign house systems
  • Decomposed natal endpoints - chart, planets-only, houses-only, aspects-only
  • Transit endpoints decomposed the same way for narrow client integrations
  • Synastry + composite for couples (chart + aspects for each)
  • Secondary progression + solar return for annual outlook (chart / planets / houses / aspects)
  • Lunar metrics - phase, illumination, sign, void-of-course window
  • Daily + love horoscopes by sun sign (GET endpoints, top-of-funnel free)
  • Chinese zodiac - animal + element + annual forecast for any year + sign

Related endpoints

Other Western endpoints

POST/v1/western/natal/chart

Tropical natal chart with house system.

POST/v1/western/natal/planets

Natal planet positions only.

POST/v1/western/natal/houses

Natal house cusps with sign + degree.

POST/v1/western/natal/aspects

Natal aspect grid - major + optional minor aspects.

POST/v1/western/transit/chart

Transiting planets overlaid on natal at chosen moment.

POST/v1/western/transit/planets

Transiting planet positions only at the chosen moment.

POST/v1/western/transit/aspects

Transit-to-natal aspect feed.

POST/v1/western/synastry/chart

Synastry overlay of two natal charts.

POST/v1/western/synastry/aspects

Synastry cross-aspect grid + interpretations.

POST/v1/western/composite/aspects

Aspect grid within the composite chart.

POST/v1/western/progression/chart

Day-for-a-year secondary-progressed chart for target age.

POST/v1/western/progression/planets

Secondary-progressed planet positions for the target age.

POST/v1/western/progression/aspects

Progressed-to-natal aspect grid.

POST/v1/western/solar-return/chart

Solar return chart for a target return year.

POST/v1/western/solar-return/planets

Solar-return planet positions for the year.

POST/v1/western/solar-return/houses

Solar-return house cusps.

POST/v1/western/solar-return/aspects

Aspect grid within the solar-return chart.

POST/v1/western/lunar-metrics

Moon phase, illumination %, sign, void-of-course window.

POST/v1/western/zodiac-compatibility

Sun-sign × sun-sign compatibility score + narrative.

GET/v1/horoscope/daily/:sign

Daily horoscope for a Western sun sign.

GET/v1/horoscope/love/:sign

Love-themed daily horoscope for a Western sun sign.

POST/v1/horoscope/nakshatra

Daily reading scoped to one of the 27 nakshatras.

GET/v1/western/chinese/zodiac/:year

Chinese zodiac sign + element for a calendar year.

GET/v1/western/chinese/forecast/:sign/:year

Annual forecast for a Chinese zodiac sign in a given year.

Ready to call POST /v1/western/composite/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.