Back to Docs

SVG Composite Chart Generator

SVG Composite Chart Generator

POST/api/v1/natal/chart/composite

Generate a standalone midpoint composite SVG/PNG chart from two people. The endpoint reuses the natal SVG styling contract while building one composite wheel from midpoint planets and, when both birth times are known, midpoint houses and angles.

If either person has time_known: false, the composite falls back to an untimed chart and hides houses and angles.

Related SVG Endpoints

Full URL

https://api.freeastroapi.com/api/v1/natal/chart/composite

Top-level Parameters

Request-level controls for the composite endpoint.

ParameterTypeRequiredDefaultDescription
person_aobjectYes-Primary person object. Also controls output format, size, theme, and chart styling.
person_bobjectYes-Secondary person object used to build midpoint positions.
show_aspectsbooleanNotrueShow aspect lines inside the composite wheel.
chart_configobjectNonullOptional top-level chart style overrides merged after person_a.chart_config.
custom_planet_colorstring|nullNonullTop-level alias for composite planet color.
custom_sign_colorstring|nullNonullTop-level alias for sign symbol color.
custom_house_colorstring|nullNonullTop-level alias for house number color.
custom_sign_bg_colorstring|nullNonullSingle sign background color alias.
custom_house_bg_colorstring|nullNonullSingle house background color alias.
show_sign_backgroundboolean|nullNonullExplicit sign background toggle alias.
show_house_backgroundboolean|nullNonullExplicit house background toggle alias.
custom_sign_colorsstring[]|nullNonullPer-sign background colors alias.
custom_house_colorsstring[]|nullNonullPer-house background colors alias.
sign_background_opacityfloat|nullNonullSign background opacity alias.
house_background_opacityfloat|nullNonullHouse background opacity alias.
show_retrograde_markersboolean|nullNonullTop-level alias for retrograde markers on degree labels.
retrograde_marker_stylestring|nullNonullTop-level alias for retrograde marker style: R or rx.

person_a / person_b Schema

Both nested objects follow the natal SVG request schema.

ParameterTypeRequiredDefaultDescription
namestringNoUserDisplay name for the person.
yearintegerYes-Birth year.
monthintegerYes-Birth month (1-12).
dayintegerYes-Birth day (1-31).
hourintegerNo12Birth hour (0-23).
minuteintegerNo0Birth minute (0-59).
time_knownbooleanNotrueWhen either person is untimed, the composite falls back to planets-only and hides houses/angles.
citystringNo-Birth city. Optional when lat/lng are provided.
latfloatNoautoOptional latitude override. Required with lng if city is omitted.
lngfloatNoautoOptional longitude override. Required with lat if city is omitted.
tz_strstringNoAUTOTimezone or AUTO.
formatstringNosvgOutput format from person_a only: 'svg' or 'png'.
sizeintegerNo700Output width/height in px from person_a only.
theme_typestringNolightTheme from person_a only: 'light', 'dark', or 'mono'.
display_settingsobjectNonullOptional body visibility toggles. Both nested objects are accepted and merged into the composite display config.
chart_configobjectNonullAdvanced styling settings inherited from the natal SVG contract.

display_settings (nested)

Optional body visibility toggles inside each person object.

ParameterTypeRequiredDefaultDescription
sunbooleanNotrueShow Sun.
moonbooleanNotrueShow Moon.
mercurybooleanNotrueShow Mercury.
venusbooleanNotrueShow Venus.
marsbooleanNotrueShow Mars.
jupiterbooleanNotrueShow Jupiter.
saturnbooleanNotrueShow Saturn.
uranusbooleanNotrueShow Uranus.
neptunebooleanNotrueShow Neptune.
plutobooleanNotrueShow Pluto.
north_nodebooleanNotrueShow North Node.
south_nodebooleanNofalseShow South Node.
chironbooleanNotrueShow Chiron.
ceresbooleanNofalseShow Ceres.
pallasbooleanNofalseShow Pallas.
junobooleanNofalseShow Juno.
vestabooleanNofalseShow Vesta.
ascbooleanNotrueShow Ascendant glyph when timed.
icbooleanNofalseShow IC glyph when timed.
dscbooleanNofalseShow Descendant glyph when timed.
mcbooleanNofalseShow Midheaven glyph when timed.
lilithbooleanNotrueShow mean Lilith.
mean_lilithbooleanNofalseAlias toggle for mean Lilith.
true_lilithbooleanNofalseShow true Lilith.
erisbooleanNofalseShow Eris.
erosbooleanNofalseShow Eros.
vertexbooleanNofalseShow Vertex.
part_of_fortunebooleanNofalseShow Part of Fortune.

chart_config

Composite styling uses the same advanced settings as the SVG/PNG Chart Generator. The fields below are accepted by this endpoint even if some are more relevant to other SVG modes.

ParameterTypeRequiredDefaultDescription
stroke_widthintegerNo1Base SVG stroke width.
stroke_opacityfloatNo1.0Global stroke opacity.
fontstringNosans-serifSVG font family.
font_size_fractionfloatNo0.35Base label scaling factor.
inner_min_degreefloatNo9.0Minimum spacing for inner wheel placements.
outer_min_degreefloatNo8.0Minimum spacing for outer wheel placements.
margin_factorfloatNo0.04Outer SVG margin factor.
ring_thickness_fractionfloatNo0.15Fallback ring thickness fraction.
sign_ring_thickness_fractionfloat|nullNo0.16Sign ring thickness fraction.
house_ring_thickness_fractionfloat|nullNo0.05House ring thickness fraction.
center_disk_fractionfloat|nullNo0.45Center disk radius fraction.
planet_symbol_scalefloat|nullNo0.35Planet glyph scale.
sign_symbol_scalefloat|nullNo0.6Sign glyph scale.
house_number_scalefloat|nullNo0.25House number scale.
chart_backgroundstring|nullNonullChart background color.
custom_planet_colorstring|nullNonullOverride all planet colors.
custom_sign_colorstring|nullNonullOverride all sign symbol colors.
custom_house_colorstring|nullNo#000000Override house number color.
sign_line_widthfloat|nullNo2.0Sign separator width.
sign_line_colorstring|nullNoblackSign separator color.
house_line_widthfloat|nullNo1.0House separator width.
house_line_colorstring|nullNo#919191House separator color.
sign_ring_inner_widthfloat|nullNo1.5Inner sign ring width.
sign_ring_inner_colorstring|nullNo#000000Inner sign ring color.
sign_ring_outer_widthfloat|nullNo2.0Outer sign ring width.
sign_ring_outer_colorstring|nullNo#000000Outer sign ring color.
house_ring_inner_widthfloat|nullNo1.0Inner house ring width.
house_ring_inner_colorstring|nullNo#000000Inner house ring color.
house_ring_outer_widthfloat|nullNo1.0Outer house ring width.
house_ring_outer_colorstring|nullNo#000000Outer house ring color.
asc_line_widthfloat|nullNo3.0ASC axis width.
asc_line_colorstring|nullNo#000000ASC axis color.
dsc_line_widthfloat|nullNo3.0DSC axis width.
dsc_line_colorstring|nullNo#000000DSC axis color.
mc_line_widthfloat|nullNo3.0MC axis width.
mc_line_colorstring|nullNo#000000MC axis color.
ic_line_widthfloat|nullNo3.0IC axis width.
ic_line_colorstring|nullNo#000000IC axis color.
sign_tick_widthfloat|nullNo0.5Degree tick width.
sign_tick_colorstring|nullNo#000000Degree tick color.
aspect_conjunction_widthfloat|nullNo3.0Conjunction line width.
aspect_conjunction_colorstring|nullNo#1A1A1AConjunction line color.
aspect_opposition_widthfloat|nullNo3.0Opposition line width.
aspect_opposition_colorstring|nullNo#C00000Opposition line color.
aspect_trine_widthfloat|nullNo2.2Trine line width.
aspect_trine_colorstring|nullNo#0047ABTrine line color.
aspect_square_widthfloat|nullNo2.6Square line width.
aspect_square_colorstring|nullNo#C00000Square line color.
aspect_sextile_widthfloat|nullNo1.9Sextile line width.
aspect_sextile_colorstring|nullNo#0047ABSextile line color.
aspect_quincunx_widthfloat|nullNo1.7Quincunx line width.
aspect_quincunx_colorstring|nullNo#2E7D32Quincunx line color.
scale_adj_factorfloatNo600.0Glyph scale adjustment baseline.
pos_adj_factorfloatNo2.2Glyph position adjustment baseline.
show_color_backgroundbooleanNofalseEnable color background mode.
show_sign_backgroundboolean|nullNonullShow per-sign backgrounds.
show_house_backgroundboolean|nullNonullShow per-house backgrounds.
custom_sign_colorsstring[]|nullNonullPer-sign background colors.
custom_house_colorsstring[]|nullNonullPer-house background colors.
sign_background_opacityfloat|nullNonullSign background opacity.
house_background_opacityfloat|nullNonullHouse background opacity.
custom_sign_bg_colorstring|nullNonullSingle sign background color.
custom_house_bg_colorstring|nullNonullSingle house background color.
show_retrograde_markersbooleanNofalseShow retrograde markers on degree text.
retrograde_marker_stylestringNoRRetrograde marker style: R or rx.
show_inner_ring_anglesboolean|nullNofalseRenderer flag inherited from the shared config model.
show_data2_house_wheelboolean|nullNofalseRenderer flag inherited from the shared config model.
show_data2_house_numbersboolean|nullNofalseRenderer flag inherited from the shared config model.
invert_data2_orientationboolean|nullNonullRenderer flag inherited from the shared config model.
invert_data2_radial_placementboolean|nullNonullRenderer flag inherited from the shared config model.
data2_house_ring_scalefloat|nullNo0.62Renderer flag inherited from the shared config model.
data2_house_ring_extra_width_pxfloat|nullNo3.0Renderer flag inherited from the shared config model.
data2_house_line_widthfloat|nullNo1.0Renderer flag inherited from the shared config model.
data2_house_line_colorstring|nullNo#919191Renderer flag inherited from the shared config model.
data2_house_ring_inner_widthfloat|nullNo1.0Renderer flag inherited from the shared config model.
data2_house_ring_inner_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_house_ring_outer_widthfloat|nullNo1.0Renderer flag inherited from the shared config model.
data2_house_ring_outer_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_custom_house_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_asc_line_widthfloat|nullNo3.0Renderer flag inherited from the shared config model.
data2_asc_line_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_dsc_line_widthfloat|nullNo3.0Renderer flag inherited from the shared config model.
data2_dsc_line_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_mc_line_widthfloat|nullNo3.0Renderer flag inherited from the shared config model.
data2_mc_line_colorstring|nullNo#000000Renderer flag inherited from the shared config model.
data2_ic_line_widthfloat|nullNo3.0Renderer flag inherited from the shared config model.
data2_ic_line_colorstring|nullNo#000000Renderer flag inherited from the shared config model.

Sample Code

curl -X POST "https://api.freeastroapi.com/api/v1/natal/chart/composite" \
 -H "Content-Type: application/json" \
 -H "x-api-key: YOUR_API_KEY" \
 -d '{
  "person_a": {
    "year": 1990,
    "month": 5,
    "day": 15,
    "city": "London"
  },
  "person_b": {
    "year": 1992,
    "month": 8,
    "day": 6,
    "city": "Paris"
  }
}' --output composite_chart.svg