---
title: "Generate Kundali chart SVG"
method: POST
path: "/v1/astro/chart"
tags: ["Astrology"]
---

# Generate Kundali chart SVG

`POST /v1/astro/chart`

## Request

- Base URL: `https://api.asterwise.com`
- URL: `https://api.asterwise.com/v1/astro/chart`
- Auth: HTTP bearer

Generate Vedic astrological chart SVGs. Returns North Indian and South Indian style charts for both Lagna (D1) and Navamsa (D9), as SVG strings. Each planet shows abbreviation, degree°minutes', and superscripts for Vakri (ᴿ), Asta (ᶜ), and Vargottama (ᵛ). Returns North Indian (Uttar Bharatiya) and South Indian (Dakshina Bharatiya) Kundali charts as inline SVG. Also returns Navamsa (D9) chart. The response contains SVG strings for each chart style. To render them:

1. In browser: create an HTML file,
   paste the SVG string directly
   into the body tag.

2. In React/Vue/Angular: use
   dangerouslySetInnerHTML or v-html
   to render the SVG string.

3. To preview instantly: copy the
   lagna_north value and paste into
   https://svgviewer.dev

Chart styles returned:
- lagna_north: North Indian style
  (diamond layout)
- lagna_south: South Indian style
  (square grid layout)
- navamsa_north: D9 Navamsa chart
  North Indian style
- navamsa_south: D9 Navamsa chart
  South Indian style
- legend: R=Vakri(Retrograde)
  C=Asta(Combust) V=Vargottama

## Request body

- ChartRequest
  - `location` string, nullable: City name to resolve to lat/lon/tz automatically. Example: 'Mumbai' or 'New Delhi, India'. If provided, latitude, longitude and timezone are not required.
  - `name` string: Person name associated with the birth record
  - `date` string, required: Birth date in YYYY-MM-DD format
  - `time` string, nullable: Birth time in HH:MM 24-hour format. If omitted, sunrise chart is used as fallback.
  - `latitude` number, nullable: Latitude. Required if location not provided.
  - `longitude` number, nullable: Longitude. Required if location not provided.
  - `timezone` string, nullable: IANA timezone. Required if location not provided (unless utc_offset is given). For dates before the zone adopted a standard time, the birthplace's local mean time (longitude / 15 hours) is used.
  - `utc_offset` string, nullable: Optional explicit UTC offset of the birth time, as ±HH:MM or ±HH:MM:SS (e.g. '+04:51:31' for Bombay mean time). Overrides the offset `timezone` would give. Use it when the birth record states the offset, or for historical local times the IANA database cannot represent.
  - `ayanamsa` 'lahiri' | 'raman' | 'kp' | 'tropical': Sidereal ayanamsa mode used in calculations

## Response `200`

Chart SVG strings

- ApiResponseChartResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` ChartResponse, required
    - `birth_time_provided` boolean: True when a birth time was supplied. False when it was not: house, Ascendant and Moon-dependent results then carry the accuracy limits of an unknown birth time.
    - `lagna_north` string, required: North Indian Lagna chart SVG string
    - `lagna_south` string, required: South Indian Lagna chart SVG string
    - `navamsa_north` string, required: North Indian Navamsa (D9) chart SVG string
    - `navamsa_south` string, required: South Indian Navamsa (D9) chart SVG string
    - `legend` string, nullable: Superscript legend explaining chart markers

## Other responses

- `401`: Authentication failed
- `403`: Authorization failed
- `404`: Resource not found
- `413`: Payload too large
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream provider error
- `503`: Service unavailable

---

[API](https://skmtc.dev/asterwise/apis/asterwise-api.md) · [All operations](https://skmtc.dev/asterwise/apis/asterwise-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterwise/apis/asterwise-api/revisions/3c4bbb1194e2?raw)
