Stream Void-of-Course
POST
/stream/void-of-course
curl -X POST https://api.astroway.info/v1/stream/void-of-course \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{}'const res = await fetch('https://api.astroway.info/v1/stream/void-of-course', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({}),});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/stream/void-of-course', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={},)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('stream/void-of-course', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Current Moon VOC + next ingress.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
This endpoint reads nothing from the request body. Send {} (or any object, which is ignored).
object
Example
{}Responses
Section titled “ Responses ”Successful calculation
Media type application/json
object
ok
boolean
data
object
timestamp
string
julianDay
number
status
object
isVoC
boolean
currentPeriod
nextIngress
object
jd
number
at
string
sign
string
longitude
number
nextEventAt
string
tickSeconds
number
transport
string
sseUpgrade
string
pricing
string
Example
{ "ok": true, "data": { "timestamp": "2026-08-23T22:05:27.274Z", "julianDay": 2461276.4204513887, "status": { "isVoC": false, "currentPeriod": null }, "nextIngress": { "jd": 2461277.876115446, "at": "2026-08-25T09:01:36.374Z", "sign": "Aquarius", "longitude": 299.9992972156107 }, "nextEventAt": "2026-08-25T09:01:36.374Z", "tickSeconds": 600, "transport": "http-polling", "sseUpgrade": "Use the same endpoint with /sse subpath for Server-Sent Events (planned).", "pricing": "10 credits/call (Tier 1): each tick recomputes positions, so it is a live compute, not a cheap lookup. Poll on the returned `tickSeconds`; see docs/PRICING.md §11." }}Validation error
Media type application/json
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
Media type application/json
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }} Корисно?
Дякуємо за фідбек.