---
title: "Get Synastry Cards"
method: POST
path: "/api/v1/western/synastrycards"
tags: ["Western", "Western Synastry"]
---

# Get Synastry Cards

`POST /api/v1/western/synastrycards`

## 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/v1/western/synastrycards`
- Auth: none declared

Card-oriented synastry response designed for mobile apps and compatibility features.
- Implements a 5-step polarity scoring system (structure + planet-pair + strength)
- Fetches rich interpretation blocks from Supabase based on relationship context
- Minor aspect cards are excluded by default; opt in with include_minor_cards=true
- Returns a summary (archetype, scores, top strengths / challenges + narrative)
  and up to 15 aspect cards, each with both supportive and challenging blocks.

## Query parameters

- `relationship_context` 'romantic' | 'friendship': Select romantic or friendship-oriented cards and domains.
- `include_minor_cards` boolean: Include minor aspect cards such as semisextiles, semisquares, and sesquiquadrates.

## Request body

- SynastryRequest
  - `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
  - `dst_policy` 'reject' | 'earlier' | 'later' | 'shift_forward', nullable: Optional DST fold/gap policy applied to both people.
  - `settings` SynastrySettings
    - `zodiac` 'tropical' | 'sidereal'
    - `sidereal_ayanamsa` string, nullable
    - `house_system` string
    - `coordinate_system` string
    - `node_type` 'true' | 'mean'
    - `bodies` string[]
    - `aspect_set` 'major' | 'major_plus' | 'extended'
    - `orb_policy` OrbPolicy
      - `default_orb_deg` number
      - `by_aspect_deg` object
      - `by_body_multiplier` object
      - `apply_separate` boolean
      - `apply_bonus` number
    - `include` IncludeSettings
      - `natal_snapshots` boolean
      - `aspects` boolean
      - `house_overlays` boolean
      - `angle_contacts` boolean
      - `midpoints` boolean
      - `scores` boolean
      - `archetype` boolean
      - `text` boolean
      - `text_locale` string
      - `text_tone` string
      - `display_point_labels` boolean
      - `display_aspect_labels` boolean
      - `strength_labels` boolean
      - `ranges` boolean
      - `scoring_bucket_definitions` boolean
    - `strength_model` string
    - `context` ContextSettings
      - `relationship_goal` string
      - `user_experience_level` string
    - `angle_aspect_set` 'major' | 'major_plus' | 'extended'
  - `client` ClientContext
    - `request_id` string, nullable
  - `response_format` 'full' | 'flat', nullable: Use 'flat' to return a shallow no-code-friendly response with a single text field.

## Response `200`

Successful Response

- SynastryCardsResponse
  - `meta` CardsMeta, required
    - `report_id` string, required
    - `calculation` CardsCalculationMeta, required
      - `zodiac` string, required
      - `sidereal_ayanamsa` string, nullable
      - `house_system` string, required
    - `generated_at` string, required
  - `summary` CardsSummary, required
    - `archetype` CardsArchetype, required
      - `id` string, required
      - `label` string, required
      - `one_liner` string, required
    - `scores` object, required
    - `score_meta` object, nullable
    - `strengths` string[], required
    - `challenges` string[], required
    - `drivers_by_domain` object, required
    - `aspects_returned` integer, required
    - `aspects_total` integer, required
    - `narrative` string, nullable
    - `bands` CardsBands
      - `rules_version` string
      - `bond_tone` string, required
      - `core_dynamic` string, required
      - `watch_for` string, required
    - `domain_states` object, nullable
  - `aspects` CardsAspect[], 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, required
    - `display_policy` string, required
    - `blocks` CardsBlocks, required
      - `supportive` CardsBlock
        - `title` string, required
        - `one_liner` string, required
        - `insight` string, required
      - `challenging` CardsBlock
        - `title` string, required
        - `one_liner` string, required
        - `insight` string, 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)
