Back to Docs
SVG Synastry Chart Generator
SVG Synastry Chart Generator
POST
/api/v1/natal/chart/synastryGenerate a true synastry bi-wheel SVG/PNG chart using person A as the reference frame, with person B overlaid. Supports independent planet colors, aspect visibility toggles, secondary house ring/angles, and independent A/B lane background colors.
Related SVG Endpoints
Synastry is the bi-wheel relationship view. If you want one standalone chart from two people, use the midpoint composite endpoint instead.
Full URL
https://api.freeastroapi.com/api/v1/natal/chart/synastryTop-level Parameters
Request-level controls specific to the synastry endpoint.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| person_a | object | Yes | - | Primary person object using the same birth-data fields as the SVG/PNG Chart Generator. |
| person_b | object | Yes | - | Secondary person object using the same birth-data fields as the SVG/PNG Chart Generator. |
| show_a_aspects | boolean | No | false | Show aspect lines inside person A set. |
| show_inter_aspects | boolean | No | true | Show aspect lines between person A and person B. |
| show_b_aspects | boolean | No | false | Show aspect lines inside person B set. |
| person_a_planet_color | string|null | No | #1565C0 | Color override for person A planets and degree labels. |
| person_b_planet_color | string|null | No | #C62828 | Color override for person B planets and degree labels. |
| person_a_angle_color | string|null | No | #1A1A1A | Color override for person A angle glyphs (ASC/MC/DSC/IC). |
| person_b_angle_color | string|null | No | #1A1A1A | Color override for person B angle glyphs (ASC/MC/DSC/IC). |
| show_person_b_houses | boolean | No | true | Render secondary house ring (only when person_b.time_known=true). |
| show_person_b_angles | boolean | No | true | Render secondary angle axes and angle glyphs (only when person_b.time_known=true). |
| person_a_zone_bg_color | string|null | No | null | Background color for person A planet lane. |
| person_a_zone_bg_opacity | float|null | No | null | Opacity for person A lane background (0.0 to 1.0). |
| person_b_zone_bg_color | string|null | No | null | Background color for person B planet lane. |
| person_b_zone_bg_opacity | float|null | No | null | Opacity for person B lane background (0.0 to 1.0). |
person_a / person_b Schema
Both nested objects use the same birth-data schema as the SVG/PNG Chart Generator.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | No | User | Display name for the person. |
| year | integer | Yes | - | Birth year. |
| month | integer | Yes | - | Birth month (1-12). |
| day | integer | Yes | - | Birth day (1-31). |
| hour | integer | No | 12 | Birth hour (0-23). |
| minute | integer | No | 0 | Birth minute (0-59). |
| time_known | boolean | No | true | Set false if time is unknown. Houses/angles are removed for that person. |
| city | string | No | - | Birth city. Optional when lat/lng are provided. |
| lat | float | No | auto | Optional latitude override. Required with lng if city is omitted. |
| lng | float | No | auto | Optional longitude override. Required with lat if city is omitted. |
| tz_str | string | No | AUTO | Timezone or AUTO. |
| format | string | No | svg | Output format: 'svg' or 'png' (from person_a). |
| size | integer | No | 700 | Output width/height in px (from person_a). |
| theme_type | string | No | light | Theme: 'light', 'dark', 'mono' (from person_a). |
| display_settings | object | No | null | Per-person body visibility toggles (sun, moon, mercury... asc/mc, nodes, asteroids). |
| chart_config | object | No | null | Advanced chart styling controls shared with the SVG/PNG Chart Generator. |
display_settings (nested)
Optional body visibility toggles inside each person object.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| sun..pluto | boolean | No | true | Show or hide major planets. |
| north_node | boolean | No | true | Show North Node. |
| asc | boolean | No | true | Show Ascendant glyph. |
| mc | boolean | No | false | Show Midheaven glyph. |
| chiron / asteroids / lilith | boolean | No | false | Optional extras. |
chart_config (nested)
Optional advanced styling settings shared with the SVG/PNG Chart Generator.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| custom_sign_bg_color | string | No | null | Single sign background color. |
| custom_house_bg_color | string | No | null | Single house background color. |
| show_retrograde_markers | boolean | No | false | Show retrograde marker on degree text. |
| retrograde_marker_style | string | No | R | R or rx. |
| houses_inside_planets | boolean | No | true | Preferred layout for synastry bi-wheel. |
| line/ring/aspect widths + colors | various | No | varies | Advanced visual style controls. |
Sample Code
curl -X POST "https://api.freeastroapi.com/api/v1/natal/chart/synastry" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"person_a": {
"name": "Person A",
"year": 1990,
"month": 5,
"day": 15,
"hour": 14,
"minute": 30,
"time_known": true,
"city": "London",
"tz_str": "AUTO",
"format": "svg",
"size": 900,
"theme_type": "light"
},
"person_b": {
"name": "Person B",
"year": 1992,
"month": 8,
"day": 6,
"hour": 6,
"minute": 45,
"time_known": true,
"city": "Paris",
"tz_str": "AUTO"
},
"show_a_aspects": false,
"show_inter_aspects": true,
"show_b_aspects": false,
"person_a_planet_color": "#1565C0",
"person_b_planet_color": "#C62828",
"person_a_angle_color": "#1A1A1A",
"person_b_angle_color": "#1A1A1A",
"show_person_b_houses": true,
"show_person_b_angles": true,
"person_a_zone_bg_color": "#fde3e3",
"person_a_zone_bg_opacity": 0.55,
"person_b_zone_bg_color": "#e3ecff",
"person_b_zone_bg_opacity": 0.55
}' --output synastry_chart.svgSample Output (PNG)
