---
title: "Synastry"
method: POST
path: "/synastry"
tags: ["Comparisons"]
---

# Synastry

`POST /synastry`

Calculate cross-chart aspects between two natal charts for relationship analysis. Either partner may set timeUnknown: true: cross-aspects are still returned, while that partner's houses, angles and sect come back null.

## Request body

- TwoChartUnknownTime — Pair of natal charts where either birth time may be unknown. A chart with timeUnknown: true contributes planets and cross-aspects but no houses, angles or overlays.
  - `chart1` ChartInputUnknownTime, required — Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect.
    - `date` string, required
    - `time` string
    - `timezoneOffset` number, nullable
    - `latitude` number, nullable
    - `longitude` number, nullable
    - `houseSystem` string
    - `name` string
    - `city` string
    - `zodiacType` 'tropical' | 'sidereal'
    - `ayanamsaId` number, nullable
    - `cosmogram` boolean
    - `timeUnknown` boolean
  - `chart2` ChartInputUnknownTime, required — Birth data where the clock time may be unknown. Either pass time (HH:mm:ss), or set timeUnknown: true and omit it. In the second case the response carries planets and aspects but no houses, angles or sect.
    - `date` string, required
    - `time` string
    - `timezoneOffset` number, nullable
    - `latitude` number, nullable
    - `longitude` number, nullable
    - `houseSystem` string
    - `name` string
    - `city` string
    - `zodiacType` 'tropical' | 'sidereal'
    - `ayanamsaId` number, nullable
    - `cosmogram` boolean
    - `timeUnknown` boolean

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `aspects` object[], nullable
      - `body1` number, nullable
      - `body2` number, nullable
      - `chart1Planet` string, nullable
      - `chart2Planet` string, nullable
      - `type` string, nullable
      - `orb` number, nullable
      - `applying` boolean, nullable

## Other responses

- `400` — Validation error
- `401` — Missing or invalid API key

---

[API](https://skmtc.dev/astroway/apis/astroway-calculation-api.md) · [All operations](https://skmtc.dev/astroway/apis/astroway-calculation-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/astroway/astroway-calculation-api/revisions/793e5c2dbcdf/schema)
