Ga naar inhoud
AstroWay/api v2.254.12 · nl
alle systemen normaal

Snelstart

Vijf minuten van registratie tot een volledige geboortehoroscoop in JSON. Behandelt de installatie van de SDK, het eerste verzoek, de responseheaders, authenticatie en foutafhandeling.

  1. Ga naar het dashboard en klik op Generate key. Het gratis plan geeft 10 000 credits/maand voor altijd - zonder creditcard. Sleutels beginnen met:

    • aw_live_*: productie, echte kosten
    • aw_test_*: sandbox, geen credits afgeschreven, deterministische response
  2. De API is gewone REST + JSON, dus een SDK is niet verplicht. Maar alle drie zijn al gepubliceerd: TypeScript (@astroway/sdk), Python (astroway) en PHP (astroway/sdk), plus een MCP-server (@astroway/mcp) voor AI-agents.

    Terminal window
    # No SDK needed - just curl and a key:
    export AW_KEY="aw_test_demo_replaceme"
  3. Berekening van een geboortehoroscoop voor 24 augustus 1991, 16:30 EEST, Kyiv:

    first-request.sh
    curl -X POST https://api.astroway.info/v1/chart \
    -H "X-Api-Key: $AW_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "date": "1991-08-24",
    "time": "16:30:00",
    "timezoneOffset": 3,
    "latitude": 50.4501,
    "longitude": 30.5234,
    "houseSystem": "P"
    }'

    timezoneOffset is de verschuiving die de klok op die datum aanhield, in uren. Weet je die niet, stuur dan in plaats daarvan "timezone": "Europe/Kyiv" of "timezone": "auto" om de zone uit de coördinaten te halen, en de server berekent de verschuiving zelf, inclusief zomertijd: veldformaten.

  4. Elke response is JSON met planeten, huizen, aspecten en een meta-blok (cache hit, credits, engine version).

    response.json
    {
    "ok": true,
    "data": {
    "julianDay": 2448493.0625,
    "planets": [
    { "id": 0, "name": "Sun", "longitude": 150.894819, "latitude": 0.00019, "isRetrograde": false, "declination": 11.15726 },
    { "id": 1, "name": "Moon", "longitude": 321.634655, "latitude": 2.834053, "isRetrograde": false, "declination": -11.609723 }
    ],
    "houses": {
    "system": "P",
    "cusps": [264.384681, 306.997683, 353.867426],
    "ascendant": 264.384681,
    "mc": 207.315669
    },
    "aspects": [
    {
    "planet1": "Sun",
    "planet2": "Moon",
    "type": { "name": "Opposition", "angle": 180, "isMajor": true },
    "exactAngle": 170.739837,
    "orb": 9.260163,
    "isApplying": true
    }
    ],
    "chartSect": "diurnal",
    "meta": { "engineVersion": "2.10.03", "calculatedAt": "2026-08-22T20:53:31.431Z" }
    }
    }
  5. Het dashboard toont het gebruik in realtime: api.astroway.info/dashboard. Of via de API:

    Terminal window
    curl https://api.astroway.info/v1/keys/usage \
    -H "X-Api-Key: $AW_KEY"

De AstroWay API authenticeert verzoeken via de header X-Api-Key. Bearer-tokens en sleutels in de query-string worden niet ondersteund.

Terminal window
curl -H "X-Api-Key: aw_live_..." https://api.astroway.info/v1/health
Type sleutelPrefixGedrag
Productionaw_live_*Schrijft echte credits van het account af
Sandboxaw_test_*Deterministische mock-response, zonder kosten
Restricted (Pro+)aw_live_* met beperkingBeperkt tot specifieke endpoints / IP / RPS

Sleutels roteren zonder downtime - de oude sleutel blijft 24 uur werken nadat de nieuwe is gegenereerd. Details: /authentication/.

Alle fouten komen terug in het formaat ok: false + een object error. Het veld error.code (UPPER_SNAKE_CASE) is stabiel voor scripts - switch daarop, niet op message.

error-response.json
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Invalid input: expected string, received undefined",
"details": [
{ "path": "date", "message": "Invalid input: expected string, received undefined" }
]
}
}

De meest voorkomende codes:

  • INVALID_INPUT (400): mislukte Zod-validatie; details bevat een array { path, message }
  • INVALID_API_KEY (401): de sleutel bestaat niet of is revoked
  • PLAN_UPGRADE_REQUIRED (402): een hoger plan of add-on pack is nodig
  • CREDITS_EXHAUSTED (429): het maandelijkse creditbudget is op
  • RATE_LIMIT (429): RPM overschreden; komt terug met de header Retry-After: <sec>
  • internal_calc_error (500): efemeridenfout; automatische retry aan de kant van de SDK

Volledige lijst en semantiek: /errors/.

PlanQuota
Free10 req/min
Indie30 req/min
Starter120 req/min
Pro400 req/min
Business1 000 req/min
Enterprisecustom

Overschrijding → 429 met Retry-After (sec). De officiële SDK’s hebben standaard retries met exponential backoff. Details: /rate-limits-credits/.

Nuttig?
Wijziging voorstellen

Laatst bewerkt: