Birth Chart SVG Image
The Birth Chart SVG Image endpoint returns natal wheel SVG output from the in-house engine with full wheel/render option support.
-f59e0b?style=flat-square)
Language support: This engine-backed /api/v1/birth-chart/svg endpoint currently supports English only (lang=en).
Endpoint
| Method | Path |
POST | https://api.numerologyapi.com/api/v1/birth-chart/svg |
Request Body
Top-Level Fields
| Name | Required | Type | Example | Description |
sign | No | string | CANCER | Zodiac sign. Allowed: ARIES, TAURUS, GEMINI, CANCER, LEO, VIRGO, LIBRA, SCORPIO, SAGITTARIUS, CAPRICORN, AQUARIUS, PISCES. |
target_date | No | string | 2026-04-08 | Public/sign fallback date (YYYY-MM-DD). |
birth | No | object | {...} | Engine-native birth block (see nested table). |
sections | No | array[string] | ["general"] | Requested sections. |
zodiac_system | No | string | tropical | Allowed: sidereal, tropical. |
ayanamsa | No | string | lahiri | Allowed: lahiri, fagan_bradley, krishnamurti, raman, yukteswar. |
house_system | No | string | placidus | Allowed: placidus, whole_sign, equal, koch. |
node_type | No | string | true | Allowed: true, mean. |
tenant_id | No | string | docs-smoke | Optional tenant/cache namespace override. |
user_name | No | string | Docs Smoke User | User label for chart rendering. |
output_mode | No | string | wheel_only | Allowed: full, report_only, wheel_only. |
include_wheel_svg | No | boolean | true | Include wheel SVG artifact in render path. |
split | No | boolean | false | false: binary SVG response. true: split JSON SVG bundle when supported. |
round_wheel_only | No | boolean | true | Render circular wheel only. |
transparent_background | No | boolean | true | Transparent background mode. |
svg_compression | No | string | none | Allowed: none, gzip. |
language | No | string | en | Engine language key (2-16 chars). |
locale | No | string | en-US | Engine locale key (2-20 chars). |
wheel | No | object | {...} | Wheel rendering options (see nested table). |
theme | No | string | classic | Legacy compatibility key mapped to wheel.theme (classic->paper, light->day, dark->night, dark-high-contrast->obsidian). |
lang | No | string | en | Legacy compatibility key mapped to language. |
name | No | string | User | Legacy alias for user_name. |
year | No | integer | 1992 | Legacy flattened birth year (use with month and day). |
month | No | integer | 7 | Legacy flattened birth month. |
day | No | integer | 16 | Legacy flattened birth day. |
hour | No | integer | 13 | Legacy flattened birth hour. |
minute | No | integer | 45 | Legacy flattened birth minute. |
lat | No | number | 40.7128 | Legacy flattened latitude (must pair with lng). |
lng | No | number | -74.0060 | Legacy flattened longitude (must pair with lat). |
tz_str | No | string | America/New_York | Legacy flattened timezone alias. |
city | No | string | New York | Legacy compatibility field. |
country | No | string | US | Legacy compatibility field. |
birth Object Fields
| Name | Required | Type | Example | Description |
birth.date | Yes (if birth supplied) | string | 1992-07-16 | Birth date (YYYY-MM-DD). |
birth.time | No | string | 13:45 | Birth time (HH:MM, 24h). |
birth.coordinates | No | object | { "latitude": 40.7128, "longitude": -74.006 } | Coordinate block. |
birth.coordinates.latitude | No | number | 40.7128 | Range: -90 to 90. |
birth.coordinates.longitude | No | number | -74.0060 | Range: -180 to 180. |
birth.timezone | No | string | America/New_York | IANA timezone. |
wheel Object Fields
| Name | Required | Type | Example | Description |
wheel.preset_id | No | string | minimal_app | Allowed: minimal_app, editorial_full, print_clean. |
wheel.preset_override_mode | No | string | merge | Allowed: merge, preset_only. |
wheel.size | No | integer | 720 | Range: 720 to 2400. |
wheel.theme | No | string | paper | Allowed: night, day, aurora, paper, obsidian, sunset, zenith, mono. |
wheel.panel_layout | No | string | bottom | Allowed: right, bottom. |
wheel.accent_color | No | string | #3ddd77 | Hex color. |
wheel.background_gradient | No | array[string] | ["#0b1020", "#111b3b", "#1b2f6d"] | Optional 3-color gradient override. |
wheel.panel_opacity | No | number | 0.78 | Range: 0.2 to 1.0. |
wheel.aspect_line_opacity | No | number | 0.58 | Range: 0.1 to 1.0. |
wheel.show_aspect_lines | No | boolean | true | Show aspect lines. |
wheel.show_house_cusps | No | boolean | true | Show house cusp markers. |
wheel.show_house_numbers | No | boolean | true | Show house numbers. |
wheel.show_sign_symbols | No | boolean | true | Show zodiac symbols. |
wheel.show_sign_names | No | boolean | true | Show zodiac labels. |
wheel.show_degree_ticks | No | boolean | true | Show degree ticks. |
wheel.show_degree_labels | No | boolean | true | Show degree labels. |
wheel.degree_tick_interval | No | integer | 5 | Range: 1 to 30. |
wheel.show_planet_symbols | No | boolean | true | Show planet glyphs. |
wheel.planet_symbol_size | No | number | 15.0 | Range: 10.0 to 30.0. |
wheel.planet_marker_size | No | number | 6.3 | Range: 3.0 to 12.0. |
wheel.show_planet_table | No | boolean | true | Show planet table panel. |
wheel.show_aspect_table | No | boolean | true | Show aspect table panel. |
wheel.show_sign_legend | No | boolean | true | Show sign legend. |
wheel.show_element_balance | No | boolean | true | Show element balance panel. |
wheel.show_metadata | No | boolean | true | Show metadata panel. |
wheel.show_title | No | boolean | true | Show title/subtitle. |
wheel.show_angle_markers | No | boolean | true | Show ASC/MC markers. |
wheel.show_center_signature | No | boolean | true | Show center signature text. |
wheel.title | No | string | Docs SVG | Optional wheel title. |
wheel.subtitle | No | string | Expanded parity example | Optional wheel subtitle. |
wheel.custom_planet_colors | No | object | { "Sun": "#ffbb33" } | Planet-name to hex-color map. |
Response
This endpoint returns SVG (image/svg+xml) by default. It can return split JSON SVG parts when split=true.
Personalized Mode Example (Recommended)
curl --request POST \
--url "https://api.numerologyapi.com/api/v1/birth-chart/svg" \
--header "X-API-Key: YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"sign": "CANCER",
"target_date": "2026-04-08",
"zodiac_system": "tropical",
"ayanamsa": "lahiri",
"house_system": "placidus",
"node_type": "true",
"tenant_id": "docs-smoke",
"user_name": "Docs Smoke User",
"output_mode": "wheel_only",
"include_wheel_svg": true,
"split": false,
"round_wheel_only": true,
"transparent_background": true,
"svg_compression": "none",
"language": "en",
"locale": "en-US",
"birth": {
"date": "1992-07-16",
"time": "13:45",
"coordinates": { "latitude": 40.7128, "longitude": -74.006 },
"timezone": "America/New_York"
},
"wheel": {
"preset_id": "minimal_app",
"theme": "paper",
"panel_layout": "bottom",
"size": 720
}
}'
Public Mode Example (General Sign-Based)
curl --request POST \
--url "https://api.numerologyapi.com/api/v1/birth-chart/svg" \
--header "X-API-Key: YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"sign": "CANCER",
"target_date": "2026-04-08",
"output_mode": "wheel_only",
"split": false,
"round_wheel_only": true,
"language": "en",
"locale": "en-US",
"wheel": { "preset_id": "minimal_app", "theme": "paper", "size": 720 }
}'
Example Response
{
"content_type": "image/svg+xml",
"content_length": 31774,
"preview": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"538\" height=\"538\" viewBox=\"0 0 538 538\"><g transform=\"translate(-111.25 -13.97)\"><circle cx=\"380.00\" cy=\"282.72\" r=\"214.32\" fill=\"none\" stroke=\"#3ddd77\" stroke-width=\"3.1\" /><circle cx=\"380.00\" cy=\"282.72\" r=\"144.40\" fill=\"none\" stroke=\"#ad9478\" stroke-width=\"2.3\" /><circle cx=\"380.00\" cy=\"282.72\" r=\"90.97\" fill=\"#f0e7d8\" stroke=\"#c4ad92\" stroke-width=\"1.0\" opacity=\"0.95\" /><line x1=\"380.00\" y1=\"65.19\" x2=\"380.00\" y2=\"55.11\" stroke=\"#c7b399\" stroke-width=\"1.4\" opacity=\"0.86\" /><text x=\"380.00\" y=\"49.11\" text-anchor=\"middle\" dominant-baseline=\"middle\" font-size=\"10.0\" font-family=\"'Menlo','Consolas','SFMono-Regular','DejaVu Sans Mono','Liberation Mono',monospace\" fill=\"#745f47\">0\u00b0</text><line x1=\"398.77\" y1=\"68.15\" x2=\"399.33\" y2=\"61.74\" stroke"
}
Rendered SVG Examples
Print Preset (Merge Override) With Aspect Lines Enabled

Tropical Zenith Example

Sidereal Obsidian Example
