---
title: "Get Couples Horoscope V2"
method: POST
path: "/api/v2/western/synastry/horoscope"
tags: ["Western v2"]
---

# Get Couples Horoscope V2

`POST /api/v2/western/synastry/horoscope`

## Request

- Base URL: `https://api.freeastroapi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.freeastroapi.com/api/v2/western/synastry/horoscope`
- Auth: none declared

## Query parameters

- `include_timing` boolean: High plan required. Include timing windows for returned transit-driven triggers.

## Request body

- CouplesHoroscopeV2Request
  - `person_a` Person, required
    - `id` string, nullable
    - `name` string, nullable
    - `datetime` string, nullable
    - `city` string, nullable
    - `lat` number, nullable
    - `lng` number, nullable
    - `year` integer, nullable: Astronomical year (supported range: 0-2399; year 0 = 1 BCE)
    - `month` integer, nullable
    - `day` integer, nullable
    - `hour` integer, nullable
    - `minute` integer, nullable
    - `time_unknown` boolean
    - `location` Location
      - `lat` number, nullable
      - `lng` number, nullable
      - `city` string, nullable
      - `country` string, nullable
    - `tz_str` string, nullable
  - `person_b` Person, required
    - `id` string, nullable
    - `name` string, nullable
    - `datetime` string, nullable
    - `city` string, nullable
    - `lat` number, nullable
    - `lng` number, nullable
    - `year` integer, nullable: Astronomical year (supported range: 0-2399; year 0 = 1 BCE)
    - `month` integer, nullable
    - `day` integer, nullable
    - `hour` integer, nullable
    - `minute` integer, nullable
    - `time_unknown` boolean
    - `location` Location
      - `lat` number, nullable
      - `lng` number, nullable
      - `city` string, nullable
      - `country` string, nullable
    - `tz_str` string, nullable
  - `date` string, nullable
  - `tz_str` string, nullable
  - `relationship_context` 'romantic' | 'friendship'
  - `include_interpretation_blocks` boolean

## Response `200`

Successful Response

- CouplesHoroscopeV2Response
  - `meta` object, required
  - `summary` CouplesHoroscopeSummary, required
    - `scores` object, required
    - `score_meta` object
    - `strengths` string[], required
    - `challenges` string[], required
    - `drivers_by_domain` object, required
    - `aspects_returned` integer, required
    - `aspects_total` integer, required
    - `narrative` string, required
    - `bands` CouplesHoroscopeBands, required
      - `rules_version` string
      - `theme` string, required
      - `core` string, required
      - `shadow` string, required
    - `domain_states` object, required
  - `aspects` CouplesHoroscopeV2Aspect[], required
    - `aspect_id` string, required
    - `key` string, required
    - `label` string, required
    - `rank` integer, required
    - `strength` number, required
    - `strength_label` string, required
    - `polarity` string, required
    - `polarity_score` number, required
    - `abs_polarity` number, required
    - `domains` string[], required
    - `default_block` string, nullable
    - `display_policy` string, nullable
    - `blocks` CouplesHoroscopeBlocks
      - `supportive` object, nullable
      - `challenging` object, nullable
    - `timing` CouplesHoroscopeTiming
      - `is_active_on_date` boolean, required
      - `phase` 'applying' | 'exact' | 'separating', required
      - `start_datetime` string, required
      - `exact_datetimes` string[], required
      - `end_datetime` string, required
      - `duration_hours` number, required
      - `duration_days` number, required
      - `continues_before_date` boolean, required
      - `continues_after_date` boolean, required
      - `precision` 'high' | 'estimated', nullable
  - `ritual` CouplesHoroscopeRitual
    - `id` string, required
    - `title` string, required
    - `duration_seconds` integer, required
    - `steps` string[], required
    - `domains` string[], required
    - `bond_xp_reward` integer, required
  - `day_context` CouplesHoroscopeDayContext, required
    - `active_windows` CouplesHoroscopeDayContextItem[], required
      - `aspect_id` string, required
      - `key` string, required
      - `label` string, required
      - `polarity` string, required
      - `domains` string[], required
      - `strength` number, required
      - `phase` 'applying' | 'exact' | 'separating', nullable
      - `start_datetime` string, nullable
      - `exact_datetimes` string[]
      - `end_datetime` string, nullable
    - `exact_hits` CouplesHoroscopeDayContextItem[], required
      - `aspect_id` string, required
      - `key` string, required
      - `label` string, required
      - `polarity` string, required
      - `domains` string[], required
      - `strength` number, required
      - `phase` 'applying' | 'exact' | 'separating', nullable
      - `start_datetime` string, nullable
      - `exact_datetimes` string[]
      - `end_datetime` string, nullable
    - `next_shift` CouplesHoroscopeNextShift
      - `timestamp` string, required
      - `label` string, required
      - `type` 'window_start' | 'exact_hit' | 'window_end', required
      - `aspect_id` string, nullable
      - `key` string, nullable
    - `dominant_topics` CouplesHoroscopeDominantTopic[], required
      - `title` string, required
      - `category` string, required
      - `score` number, required
      - `drivers` string[]
    - `supportive_vs_challenging` object, required
  - `insights_meta` CouplesHoroscopeInsightsMeta, required
    - `source` string, required
    - `timing_summary_enabled` boolean, required
    - `aspect_timing_enabled` boolean, required
    - `interpretation_blocks_enabled` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/freeastroapi/apis/astroservice-api.md) · [All operations](https://skmtc.dev/freeastroapi/apis/astroservice-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freeastroapi/apis/astroservice-api/revisions/0c9b4a759522?raw)
