Chart Shape Classification
The Chart Shape endpoint classifies any birth chart by its geometric shape (Bundle, Bowl, Bucket, Locomotive, Seesaw, Splash, Splay) with a rendered SVG diagram.
DivineAPI Team
Updated: April 25, 2026
Published: April 25, 2026 Western
What is the Chart Shape endpoint?
You need the overall geometric shape a chart's planets form on the wheel. The Chart Shape endpoint takes birth data and returns the classification name (Bundle, Bowl, Bucket, Locomotive, Seesaw, Splash, Splay, Dual Cluster, and others) plus a pre-rendered SVG diagram showing how the planets cluster around the wheel.
This endpoint is part of the Natal Chart API.
Why does this endpoint exist?
You are surfacing high-level chart character and you want the Marc Edmund Jones shape classification without writing the geometric detection logic yourself. Detecting a Bundle (all planets within 120 degrees), a Bowl (within 180 degrees), or a Bucket (Bowl with one planet across) means measuring the angular gaps between consecutive bodies on the wheel. This endpoint handles the classification rules and returns a ready-to-display result.
What inputs does it need?
You pass standard birth data: API key, full name, date components, time components, gender, place, decimal latitude and longitude, and timezone offset from UTC. Shape classification works on the underlying ecliptic positions, so no house_system parameter is needed. Authentication uses a Bearer token in the Authorization header.
| Parameter | Required | What it is |
|---|---|---|
api_key |
yes | From your DivineAPI dashboard |
full_name |
yes | Native's full name |
day, month, year |
yes | Birth date components |
hour, min, sec |
yes | Birth time, 24-hour |
gender |
yes | male / female / other |
place |
yes | City + country, free text |
lat, lon |
yes | Decimal latitude + longitude |
tzone |
yes | Offset from UTC (e.g. 5.5 for IST) |
What does the response data look like?
You get an envelope with status, code, message, and data. The data object carries just two fields: the classification name as a string and a rendered SVG diagram showing the planet distribution on the wheel. The SVG is large (typically 70-90 KB) since it draws the full wheel with planet glyphs.
| Field | What it is |
|---|---|
status |
"success" on a successful response |
code |
HTTP status code (e.g. 200) |
message |
Human-readable status string |
data.chart_shape |
Classification name (e.g. "Bundle", "Bowl", "Bucket", "Locomotive", "Seesaw", "Splash", "Splay", "Dual Cluster") |
data.svg |
Pre-rendered SVG markup of the chart with planets positioned to highlight the shape |
The classification is one of the standard Marc Edmund Jones shapes plus modern variants like "Dual Cluster" for charts where bodies form two distinct groupings rather than a single recognizable shape.
What does a real response look like?
Below is the response shape for a sample birth (24 May 2023, 14:40:43 IST, New Delhi). The classification is "Dual Cluster". The svg field is truncated for readability; the live response runs about 80 KB of SVG markup.
{
"status": "success",
"code": 200,
"message": "Request successful",
"data": {
"chart_shape": "Dual Cluster",
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"705\" height=\"705\"> ...truncated, ~80 KB of SVG markup highlighting the planet distribution... </svg>"
}
}
What can you build with this endpoint?
You use Chart Shape whenever your product surfaces high-level chart character as a single classification rather than per-planet detail. The shape name is short enough for a card title; the SVG is a finished visual you can embed directly.
- "Your chart at a glance" cards. Show the shape name as a headline ("You have a Locomotive chart") with the SVG diagram below. Pair with prose drawn from your content layer.
- Personality archetype features. Use the classification to drive shape-based interpretation content. A Bundle chart suggests focused energy, a Splash suggests scattered interests.
- Onboarding signature stat. Surface the chart shape on the first profile screen alongside Sun sign, Moon sign, and Ascendant for a richer initial snapshot.
- Comparison features. Detect when two charts share the same shape ("you both have Bowl charts") for relationship or family astrology UI.
How accurate is the calculation?
You are running geometric classification on the underlying planet positions. Position data comes from Swiss Ephemeris with NASA JPL ephemeris data, so the inputs are arc-second accurate. The classification logic applies threshold rules (Bundle: all bodies within 120 degrees, Bowl: within 180, etc.) to those positions.
Some charts sit on the boundary between two classifications. For those edge cases the endpoint picks the closest match; if the result feels ambiguous, render it alongside the SVG so users can see the geometry themselves.
How does this relate to the parent API?
You are layering chart-shape interpretation on top of the standard birth chart. This endpoint complements the Natal Chart API by classifying the overall planet distribution into one named geometric shape with a rendered diagram.
Planetary Positions returns the underlying body positions; this endpoint runs the shape-detection logic across them. The Aspect Patterns endpoint (separate cluster) detects multi-body configurations; Chart Shape detects the single overall distribution. The two pair naturally for high-level chart-character UI.
Summary
The Chart Shape endpoint returns the geometric classification of any birth chart (Bundle, Bowl, Bucket, Locomotive, Seesaw, Splash, Splay, or modern variants) plus a pre-rendered SVG diagram. It runs on Swiss Ephemeris with NASA JPL data and applies the standard Marc Edmund Jones classification rules. Use it for chart-at-a-glance cards, archetype-based interpretation, and any UI that needs a single high-level shape signature.
Ready to integrate?
Start your free 7-day trial and get API access in under 2 minutes. No credit card required.