Timeline (SVG)
POST /render/timeline
POST
/render/timeline
Gantt-style horizontal timeline of transit/aspect events over a date window. Caller supplies events array.
Authorizations
Section titled “Authorizations ”Code Samples
Section titled “ Code Samples ”curl -X POST https://api.astroway.info/v1/render/timeline \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "rangeStart": "2026-01-01", "rangeEnd": "2026-12-31", "events": [ { "label": "Saturn ☐ Sun", "start": "2026-03-15", "end": "2026-04-20", "exact": "2026-04-02", "category": "Square" } ], "options": { "theme": "light", "width": 1000 } }'const res = await fetch('https://api.astroway.info/v1/render/timeline', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ "rangeStart": "2026-01-01", "rangeEnd": "2026-12-31", "events": [ { "label": "Saturn ☐ Sun", "start": "2026-03-15", "end": "2026-04-20", "exact": "2026-04-02", "category": "Square" } ], "options": { "theme": "light", "width": 1000 } }),});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/render/timeline', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'rangeStart': "2026-01-01", 'rangeEnd': "2026-12-31", 'events': [ { 'label': "Saturn ☐ Sun", 'start': "2026-03-15", 'end': "2026-04-20", 'exact': "2026-04-02", 'category': "Square" } ], 'options': { 'theme': "light", 'width': 1000 } },)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('render/timeline', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'rangeStart' => '2026-01-01', 'rangeEnd' => '2026-12-31', 'events' => [[ 'label' => 'Saturn ☐ Sun', 'start' => '2026-03-15', 'end' => '2026-04-20', 'exact' => '2026-04-02', 'category' => 'Square', ]], 'options' => [ 'theme' => 'light', 'width' => 1000, ], ],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Request Body required
Section titled “Request Body required ”object
rangeStart
required
string
rangeEnd
required
string
events
required
Array<object>
object
label
required
string
start
required
string
end
required
string
exact
string
category
string
color
string
options
object
size
integer
theme
string
showAspects
boolean
showRetrograde
boolean
title
string
format
string
width
integer
rowHeight
integer
Example
{ "rangeStart": "2026-01-01", "rangeEnd": "2026-12-31", "events": [ { "label": "Saturn ☐ Sun", "start": "2026-03-15", "end": "2026-04-20", "exact": "2026-04-02", "category": "Square" } ], "options": { "theme": "light", "width": 1000 }}Responses
Section titled “ Responses ”Successful calculation
object
ok
boolean
Example
true data
object
svg
string
format
string
byteLength
number
Example
{ "ok": true, "data": { "svg": "<svg ...>", "format": "svg", "byteLength": 4000 }}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" }} Корисно?
Дякуємо за фідбек.