Generate Stellaforge Birth-Chart Poster (PDF or HTML)
curl -X POST https://api.astroway.info/v1/reports/stellaforge \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "chart": { "name": "Ada Lovelace", "date": "1815-12-10", "time": "18:00:00", "city": "London" }, "style": "celestial", "language": "en" }'const res = await fetch('https://api.astroway.info/v1/reports/stellaforge', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ "chart": { "name": "Ada Lovelace", "date": "1815-12-10", "time": "18:00:00", "city": "London" }, "style": "celestial", "language": "en" }),});const { ok, data, error } = await res.json();if (!ok) throw new Error(error.message);console.log(data);import os, requests
r = requests.post( 'https://api.astroway.info/v1/reports/stellaforge', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'chart': { 'name': "Ada Lovelace", 'date': "1815-12-10", 'time': "18:00:00", 'city': "London" }, 'style': "celestial", 'language': "en" },)result = r.json()if not result['ok']: raise RuntimeError(result['error']['message'])print(result['data'])<?phpuse GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $client->post('reports/stellaforge', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'chart' => [ 'name' => 'Ada Lovelace', 'date' => '1815-12-10', 'time' => '18:00:00', 'city' => 'London', ], 'style' => 'celestial', 'language' => 'en', ],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Render a data-rich, print-ready natal chart poster. A high-detail western wheel (colored element sectors, colored glyphs, degree labels, ASC arrow, MC marker, house cusps) plus the Sun/Moon/Rising trio, a placements table, element/modality balance bars, and the top aspects — fully deterministic, 0 AI. Three styles via style: editorial (light), celestial (dark + gold), classic (minimal). White-label via whitelabel. i18n via language. PDF default; ?format=html returns HTML. NB style is read from the request BODY, not the query string.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss). Defaults to lat/lon/tz=0 if omitted; pass real values for accurate computation.
object
object
Accent colour — used for section heading text and inline emphasis.
Colour of the divider rule under each section heading (not the heading text — that is themeColor).
Example
{ "chart": { "name": "Ada Lovelace", "date": "1815-12-10", "time": "18:00:00", "city": "London" }, "style": "celestial", "language": "en"}Responses
Section titled “ Responses ”Successful calculation
object
object
Example
{ "ok": true, "data": { "url": "https://api.astroway.info/reports/abc-stellaforge.pdf", "storage_key": "reports/abc-stellaforge.pdf", "byte_length": 120000, "page_count": 1, "duration_ms": 3200, "expires_at": "2026-06-26T07:00:00Z" }}Validation error
Example
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Date must be YYYY-MM-DD", "details": [ { "path": "date", "message": "Date must be YYYY-MM-DD" } ] }}Missing or invalid API key
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }}