---
title: "Get Transits Timeline"
method: POST
path: "/api/v1/western/transits/timeline"
tags: ["Western", "Western Synastry"]
---

# Get Transits Timeline

`POST /api/v1/western/transits/timeline`

## 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/transits/timeline`
- Auth: none declared

Compute transit-to-natal interval passes across a date range for calendar and timeline rendering.

## Request body

- TransitTimelineRequest
  - `natal` union, required
    - object
      - `name` string, nullable
      - `year` integer, required: Astronomical year (0-2399; 0 = 1 BCE)
      - `month` integer, required
      - `day` integer, required
      - `hour` integer, nullable
      - `minute` integer, nullable
      - `time_known` boolean
      - `city` string, nullable, required
      - `lat` number, nullable
      - `lng` number, nullable
      - `tz_str` string, nullable
      - `dst_policy` 'reject' | 'earlier' | 'later' | 'shift_forward', nullable: Optional DST fold/gap policy. Omit to preserve legacy behavior; use reject for strict integrations.
      - `renderer` 'default'
      - `theme` string, nullable
      - `format` string, nullable
      - `lang` string, nullable
      - `size` integer, nullable
      - `glyphs` boolean, nullable
      - `show_aspects` boolean, nullable
      - `show_houses` boolean, nullable
      - `show_positions_panel` boolean, nullable
      - `show_legend` boolean, nullable
      - `custom_css` string, nullable
      - `house_system` string, nullable
      - `orb_settings` AspectOrbSettings: Per-aspect detection orbs, expressed in degrees.
        - `conjunction` number, nullable
        - `opposition` number, nullable
        - `trine` number, nullable
        - `square` number, nullable
        - `sextile` number, nullable
        - `quincunx` number, nullable
        - `quintile` number, nullable
        - `semi_sextile` number, nullable
        - `semi_square` number, nullable
        - `sesquiquadrate` number, nullable
      - `include_speed` boolean, nullable
      - `lilith` boolean, nullable
      - `mean_lilith` boolean, nullable
      - `true_lilith` boolean, nullable
      - `chiron` boolean, nullable
      - `chiron_invisible_door` boolean, nullable
      - `chiron_visible_door` boolean, nullable
      - `true_node` boolean, nullable
      - `mean_node` boolean, nullable
      - `pholus` boolean, nullable
      - `ceres` boolean, nullable
      - `pallas` boolean, nullable
      - `juno` boolean, nullable
      - `vesta` boolean, nullable
      - `eris` boolean, nullable
      - `eros` boolean, nullable
      - `vertex` boolean, nullable
      - `include_minor_aspects` boolean, nullable
      - `include_declination_aspects` boolean, nullable
      - `declination_orb` number, nullable
      - `include_stelliums` boolean, nullable
      - `stellium_policy` 'legacy' | 'classified', nullable: Optional stellium classification policy. Natal insights defaults omission to 'classified'; other shared-request endpoints retain legacy omission behavior. 'legacy' preserves count-based sign/house groups; 'classified' requires a conjunction cluster and reports loose sign/house occupancy as concentrations.
      - `include_tables` boolean, nullable
      - `include_fixed_stars` boolean, nullable
      - `fixed_stars` string[], nullable
      - `fixed_star_packs` string[], nullable
      - `include_features` string[], nullable
      - `include_dominants` boolean, nullable
      - `dominants_method` 'traditional' | 'modern', nullable: Opt in to detailed planet dominance scores, weighted elements, and a signature sign. Omit this field to keep the default response unchanged.
      - `include_dignity` boolean, nullable
      - `include_rulers` boolean, nullable
      - `include_configurations` boolean, nullable
      - `zodiac_type` string, nullable
      - `sidereal_ayanamsa` string, nullable
      - `view` 'all' | 'grouped-top' | 'grouped-all' | 'grouped-canonical', nullable
      - `separate_signatures_from_facts` boolean, nullable
      - `response_format` 'full' | 'flat', nullable: Use 'flat' to return a shallow no-code-friendly response with a single text field.
      - `interpretation` InterpretationSettings
        - `enable` boolean
        - `template_id` string, nullable
        - `language` string, nullable
        - `style` string, nullable
      - `psychological_report` PsychologicalReportSettings
        - `enabled` boolean
        - `mode` 'async' | 'sync'
        - `style` 'standard' | 'jungian_parental', nullable
        - `tone` string, nullable
        - `depth` string, nullable
        - `audience` string, nullable
        - `focus_areas` string[], nullable
        - `excluded_topics` string[], nullable
        - `custom_instructions` string, nullable
        - `report_structure` object, nullable
        - `markdown` boolean
        - `output_format` 'json' | 'pdf', nullable
        - `include_chart_in_pdf` boolean
        - `include_svg_chart_in_pdf` boolean
        - `include_natal_chart_in_response` boolean
        - `pdf_matrix_position` 'end' | 'after_chart', nullable
        - `chart_config` object, nullable
        - `pdf_footer_label` string, nullable
        - `include_profile_branding_logo` boolean
        - `callback_url` string, nullable
        - `callback_signing_secret` string, nullable
    - object
      - `name` string, nullable
      - `year` integer, required: Astronomical year (0-2399; 0 = 1 BCE)
      - `month` integer, required
      - `day` integer, required
      - `hour` integer, nullable
      - `minute` integer, nullable
      - `time_known` boolean
      - `city` string, nullable
      - `lat` number, nullable, required
      - `lng` number, nullable, required
      - `tz_str` string, nullable
      - `dst_policy` 'reject' | 'earlier' | 'later' | 'shift_forward', nullable: Optional DST fold/gap policy. Omit to preserve legacy behavior; use reject for strict integrations.
      - `renderer` 'default'
      - `theme` string, nullable
      - `format` string, nullable
      - `lang` string, nullable
      - `size` integer, nullable
      - `glyphs` boolean, nullable
      - `show_aspects` boolean, nullable
      - `show_houses` boolean, nullable
      - `show_positions_panel` boolean, nullable
      - `show_legend` boolean, nullable
      - `custom_css` string, nullable
      - `house_system` string, nullable
      - `orb_settings` AspectOrbSettings: Per-aspect detection orbs, expressed in degrees.
        - `conjunction` number, nullable
        - `opposition` number, nullable
        - `trine` number, nullable
        - `square` number, nullable
        - `sextile` number, nullable
        - `quincunx` number, nullable
        - `quintile` number, nullable
        - `semi_sextile` number, nullable
        - `semi_square` number, nullable
        - `sesquiquadrate` number, nullable
      - `include_speed` boolean, nullable
      - `lilith` boolean, nullable
      - `mean_lilith` boolean, nullable
      - `true_lilith` boolean, nullable
      - `chiron` boolean, nullable
      - `chiron_invisible_door` boolean, nullable
      - `chiron_visible_door` boolean, nullable
      - `true_node` boolean, nullable
      - `mean_node` boolean, nullable
      - `pholus` boolean, nullable
      - `ceres` boolean, nullable
      - `pallas` boolean, nullable
      - `juno` boolean, nullable
      - `vesta` boolean, nullable
      - `eris` boolean, nullable
      - `eros` boolean, nullable
      - `vertex` boolean, nullable
      - `include_minor_aspects` boolean, nullable
      - `include_declination_aspects` boolean, nullable
      - `declination_orb` number, nullable
      - `include_stelliums` boolean, nullable
      - `stellium_policy` 'legacy' | 'classified', nullable: Optional stellium classification policy. Natal insights defaults omission to 'classified'; other shared-request endpoints retain legacy omission behavior. 'legacy' preserves count-based sign/house groups; 'classified' requires a conjunction cluster and reports loose sign/house occupancy as concentrations.
      - `include_tables` boolean, nullable
      - `include_fixed_stars` boolean, nullable
      - `fixed_stars` string[], nullable
      - `fixed_star_packs` string[], nullable
      - `include_features` string[], nullable
      - `include_dominants` boolean, nullable
      - `dominants_method` 'traditional' | 'modern', nullable: Opt in to detailed planet dominance scores, weighted elements, and a signature sign. Omit this field to keep the default response unchanged.
      - `include_dignity` boolean, nullable
      - `include_rulers` boolean, nullable
      - `include_configurations` boolean, nullable
      - `zodiac_type` string, nullable
      - `sidereal_ayanamsa` string, nullable
      - `view` 'all' | 'grouped-top' | 'grouped-all' | 'grouped-canonical', nullable
      - `separate_signatures_from_facts` boolean, nullable
      - `response_format` 'full' | 'flat', nullable: Use 'flat' to return a shallow no-code-friendly response with a single text field.
      - `interpretation` InterpretationSettings
        - `enable` boolean
        - `template_id` string, nullable
        - `language` string, nullable
        - `style` string, nullable
      - `psychological_report` PsychologicalReportSettings
        - `enabled` boolean
        - `mode` 'async' | 'sync'
        - `style` 'standard' | 'jungian_parental', nullable
        - `tone` string, nullable
        - `depth` string, nullable
        - `audience` string, nullable
        - `focus_areas` string[], nullable
        - `excluded_topics` string[], nullable
        - `custom_instructions` string, nullable
        - `report_structure` object, nullable
        - `markdown` boolean
        - `output_format` 'json' | 'pdf', nullable
        - `include_chart_in_pdf` boolean
        - `include_svg_chart_in_pdf` boolean
        - `include_natal_chart_in_response` boolean
        - `pdf_matrix_position` 'end' | 'after_chart', nullable
        - `chart_config` object, nullable
        - `pdf_footer_label` string, nullable
        - `include_profile_branding_logo` boolean
        - `callback_url` string, nullable
        - `callback_signing_secret` string, nullable
  - `range_start` string, required
  - `range_end` string, required
  - `mode` 'month' | 'year_slow'
  - `include_houses` boolean, nullable
  - `transit_categories` string[], nullable
  - `transit_planets` string[], nullable
  - `natal_points` string[], nullable
  - `aspect_types` string[], nullable
  - `orb_settings` object, nullable

## Response `200`

Successful Response

- TransitTimelineResponse
  - `meta` TransitTimelineMeta, required
    - `endpoint` string
    - `version` string
    - `range_start` string, required
    - `range_end` string, required
    - `generated_at` string, required
    - `resolved_time` object, nullable
  - `input` TransitTimelineInput, required
    - `mode` string
    - `include_houses` boolean, required
    - `transit_categories` string[], required
    - `transit_planets` string[], required
    - `natal_points` string[], required
    - `aspect_types` string[], required
  - `transits` TransitTimelineTransit[], required
    - `id` string, required
    - `series_key` string, required
    - `category` string, required
    - `transit_planet` string, required
    - `natal_point` string, required
    - `aspect_type` string, required
    - `label` string, required
    - `short_symbol_label` string, required
    - `start_datetime` string, required
    - `exact_datetimes` string[], required
    - `end_datetime` string, required
    - `duration_days` number, required
    - `pass_type` string, required
    - `visible_start_day` integer, required
    - `visible_end_day` integer, required
    - `continues_from_previous_month` boolean, required
    - `continues_to_next_month` boolean, required
    - `exact_hits_in_month` string[], required
    - `row_key` string, required
    - `pair_key` string, required
    - `houses` TransitTimelineTransitHouses
      - `natal_point_house` integer, nullable
      - `transit_house_at_exact` integer, nullable
      - `transit_house_in_month` integer, nullable

## 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)
