Secondary Progressions
Secondary Progressions
Compute a secondary progressed chart using the classic symbolic rule: 1 day after birth equals 1 year of life. The endpoint makes the progressed basis explicit, returns the progressed chart itself, and can optionally add natal reference data, lifecycle movements, highlights, and a forward-looking timeline.
Date-only target_date values are normalized to 00:00:00Z. Timeline mode scans forward from the target date and returns future ingresses, stations, major aspect exact hits, and major progressed Moon phase changes within timeline_years.
Timeline aspect events now distinguish exact_at_target from becomes_exact so client apps can separate “already exact now” from genuinely upcoming exact hits. To keep the timeline usable in user-facing products, low-signal angle-led exact hits are filtered out.
Node behavior is intentional: the default north_node remains the endpoint’s canonical node for backward compatibility, and requesting true_node adds a separate true-node point instead of replacing it. Stelliums exclude derived points such as nodes and vertex to avoid inflated grouping counts.
Request Parameters
| Parameter | Type | Req | Description |
|---|---|---|---|
| natal.datetime | string | Yes | Birth datetime. Naive local strings are normalized using natal.location.tz_str. |
| natal.location.tz_str | string | No | Timezone string such as `Europe/Paris` or `AUTO`. Default: `AUTO`. |
| natal.time_known | boolean | No | Include houses and angles only when the birth time is known. |
| secondary_progression.target_date | string | Yes | Target date as YYYY-MM-DD or full ISO datetime. Date-only values normalize to 00:00:00Z. |
| settings.zodiac_type | string | No | Tropical or sidereal zodiac. |
| settings.sidereal_ayanamsa | string | No | When zodiac_type is sidereal: lahiri, raman, kp, fagan_bradley, or yukteshwar. |
| settings.orb_deg | number | No | Aspect orb for progressed aspects. Must be greater than 0 and less than or equal to 5. |
| settings.orb_settings | object | No | Optional per-aspect orb overrides such as { Conjunction: 2.0, Trine: 1.5 }. |
| response_mode | query string | No | Response shape. Default: `full`. Use `full` for the nested chart payload or `table` for lighter row-oriented tables. |
| settings.include_speed | boolean | No | Return point speed fields and stationary flags. Default: false. |
| settings.include_dignity | boolean | No | Return classical dignity labels on applicable points. Default: false. |
| settings.include_minor_aspects | boolean | No | Include supported minor aspects in addition to the major set. Default: false. |
| settings.include_stelliums | boolean | No | Return derived chart-level stellium groups. Default: false. |
| settings.include_features | array[string] | No | Extra points to include, such as chiron, lilith, true_node, mean_node, or vertex. |
| settings.include_dominants | boolean | No | Return chart-level dominant distributions. Default: false. |
| settings.timeline_years | number | No | Forward timeline window in years. Only used when include=timeline. |
| include | query string | No | Comma-separated or repeated query values: natal_reference, movements, lifecycle, timeline, highlights. |
curl -X POST "https://api.freeastroapi.com/api/v1/western/progressions/secondary?response_mode=full&include=natal_reference,movements,lifecycle,timeline,highlights" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"natal": {
"name": "User",
"datetime": "1990-01-01 12:00",
"time_known": true,
"location": {
"city": "London",
"lat": 51.5074,
"lng": -0.1278,
"tz_str": "AUTO"
}
},
"secondary_progression": {
"target_date": "2026-03-30"
}
}'Response Excerpt
This excerpt was captured from the live API on April 14, 2026 using the request above.
{
"meta": {
"endpoint": "secondary_progressions",
"version": "v1",
"zodiac_type": "tropical",
"house_system": "placidus",
"calculation_method": "secondary_progressions_day_for_year",
"target_date": "2026-03-30",
"target_datetime": "2026-03-30T00:00:00Z",
"orb_deg": 1,
"generated_at": "2026-04-14T15:54:50Z"
},
"progression_basis": {
"age_years_decimal": 36.240337,
"progressed_days_after_birth": 36.240337,
"natal_datetime_utc": "1990-01-01T12:00:00Z",
"progressed_datetime_utc": "1990-02-06T17:46:05Z"
},
"progressed_chart": {
"points": {
"sun": {
"name": "Sun",
"longitude_deg": 317.683036,
"longitude_text": "17°41' Aqu",
"latitude_deg": 0.000109,
"distance_au": 0.986195,
"sign": {
"name": "Aquarius",
"index": 10,
"abbr": "Aqu"
},
"position_in_sign_deg": 17.683036,
"house": 6,
"retrograde": false
},
"moon": {
"name": "Moon",
"longitude_deg": 99.435703,
"longitude_text": "09°26' Can",
"latitude_deg": 3.189366,
"distance_au": 0.002508,
"sign": {
"name": "Cancer",
"index": 3,
"abbr": "Can"
},
"position_in_sign_deg": 9.435703,
"house": 11,
"retrograde": false
},
"mercury": {
"name": "Mercury",
"longitude_deg": 293.169941,
"longitude_text": "23°10' Cap",
"latitude_deg": -0.005584,
"distance_au": 1.089444,
"sign": {
"name": "Capricorn",
"index": 9,
"abbr": "Cap"
},
"position_in_sign_deg": 23.169941,
"house": 5,
"retrograde": false
}
},
"angles": {
"ascendant": {
"longitude_deg": 146.991,
"longitude_text": "26°59' Leo",
"sign": {
"name": "Leo",
"index": 4,
"abbr": "Leo"
},
"position_in_sign_deg": 26.991
},
"midheaven": {
"longitude_deg": 45.46,
"longitude_text": "15°28' Tau",
"sign": {
"name": "Taurus",
"index": 1,
"abbr": "Tau"
},
"position_in_sign_deg": 15.46
}
}
},
"movements": {
"ingresses": [
{
"point": "moon",
"from_sign": {
"name": "Gemini",
"index": 2,
"abbr": "Gem"
},
"to_sign": {
"name": "Cancer",
"index": 3,
"abbr": "Can"
},
"event_date": "2025-07-24T14:26:15Z",
"interpretation_key": "progressed_moon_ingress_cancer"
}
],
"stations": [],
"phase_markers": []
},
"lifecycle": {
"progressed_moon": {
"phase_angle_deg": 141.753,
"phase_name": "Waxing Gibbous",
"waxing": true,
"next_major_phase": {
"name": "New Moon",
"event_date": "2029-04-21T11:10:25Z"
}
},
"progressed_sun": {
"sign": {
"name": "Aquarius",
"index": 10,
"abbr": "Aqu"
},
"position_in_sign_deg": 17.683036
}
},
"highlights": [
{
"type": "aspect",
"title": "Progressed Pluto Square Progressed Sun",
"severity": "strong",
"score": 99,
"category": "career",
"interpretation_key": "progressed_pluto_square_progressed_sun",
"reason_codes": [
"MAJOR_ASPECT",
"TIGHT_ORB",
"LUMINARY_WEIGHTED"
]
},
{
"type": "aspect",
"title": "Progressed Mars Conjunction Natal Uranus",
"severity": "strong",
"score": 90,
"category": "general",
"interpretation_key": "progressed_mars_conjunction_natal_uranus",
"reason_codes": [
"MAJOR_ASPECT",
"TIGHT_ORB"
]
},
{
"type": "ingress",
"title": "Progressed Moon entered Cancer",
"severity": "medium",
"score": 71,
"category": "relationships",
"interpretation_key": "progressed_moon_ingress_cancer",
"reason_codes": [
"SIGN_CHANGE",
"LIFECYCLE_TRANSITION"
]
},
{
"type": "aspect",
"title": "Progressed Sun Square Natal Pluto",
"severity": "light",
"score": 48,
"category": "career",
"interpretation_key": "progressed_sun_square_natal_pluto",
"reason_codes": [
"MAJOR_ASPECT",
"LUMINARY_WEIGHTED"
]
},
{
"type": "aspect",
"title": "Progressed Pluto Conjunction Natal Pluto",
"severity": "light",
"score": 35,
"category": "general",
"interpretation_key": "progressed_pluto_conjunction_natal_pluto",
"reason_codes": [
"MAJOR_ASPECT"
]
}
],
"aspects": {
"progressed_to_natal": [
{
"id": "p_mars_conjunction_n_uranus",
"aspect": {
"name": "conjunction",
"angle_deg": 0
},
"progressed_point": "mars",
"natal_point": "uranus",
"orb_deg": 0.1,
"separation_deg": 0.1,
"applying": false,
"exact": false,
"exact_date": "2026-02-08T00:00:00Z",
"polarity": "neutral",
"strength": 0.9,
"category": "major",
"interpretation_key": "progressed_mars_conjunction_natal_uranus"
},
{
"id": "p_ic_sextile_n_saturn",
"aspect": {
"name": "sextile",
"angle_deg": 60
},
"progressed_point": "ic",
"natal_point": "saturn",
"orb_deg": 0.197,
"separation_deg": 60.197,
"applying": false,
"exact": false,
"exact_date": "2026-03-30T04:46:31Z",
"polarity": "soft",
"strength": 0.803,
"category": "major",
"interpretation_key": "progressed_ic_sextile_natal_saturn"
},
{
"id": "p_midheaven_trine_n_saturn",
"aspect": {
"name": "trine",
"angle_deg": 120
},
"progressed_point": "midheaven",
"natal_point": "saturn",
"orb_deg": 0.197,
"separation_deg": 119.803,
"applying": false,
"exact": false,
"exact_date": "2026-03-30T04:46:31Z",
"polarity": "soft",
"strength": 0.867,
"category": "major",
"interpretation_key": "progressed_midheaven_trine_natal_saturn"
}
],
"progressed_to_progressed": [
{
"id": "p_pluto_square_p_sun",
"aspect": {
"name": "square",
"angle_deg": 90
},
"point_1": "pluto",
"point_2": "sun",
"orb_deg": 0.058,
"separation_deg": 89.942,
"applying": true,
"exact": false,
"exact_date": "2026-04-19T22:30:00Z",
"polarity": "hard",
"strength": 0.999,
"category": "major",
"interpretation_key": "progressed_pluto_square_progressed_sun"
}
]
}
}The checked-in live sample is available at frontend/src/app/docs/western/secondary-progressions/live_response.json.