Life-area timing: education
curl -X POST https://api.astroway.info/v1/vedic/timing/education \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "date": "1990-05-15", "time": "15:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52, "fromDate": "2026-11-01", "years": 5 }'const res = await fetch('https://api.astroway.info/v1/vedic/timing/education', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ "date": "1990-05-15", "time": "15:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52, "fromDate": "2026-11-01", "years": 5 }),});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/vedic/timing/education', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'date': "1990-05-15", 'time': "15:30:00", 'timezoneOffset': 3, 'latitude': 50.45, 'longitude': 30.52, 'fromDate': "2026-11-01", 'years': 5 },)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('vedic/timing/education', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'date' => '1990-05-15', 'time' => '15:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52, 'fromDate' => '2026-11-01', 'years' => 5, ],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Education windows from the 4th and 5th houses, their lords and the karakas Mercury and Jupiter, 9th supporting; KP group 4, 9, 11. Windows over years (1 to 20, default 5) from fromDate, cut at every Vimshottari period change (level pratyantar by default, or antar) and every Jupiter or Saturn sign change. Each window has score, its components (dasha, transit, kp) and every rule that fired, with basis (classical, modern, kp) and a source key into sources. Double transit (K.N. Rao, basis modern): Jupiter and Saturn both occupy or aspect a primary house or the sign of its lord. convergence marks a maha or antar rule plus a double transit. kp: true adds KP significators. No prediction text; the weights are the API’s and are returned in rulesBasis.scoring.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.
Example
planets.name,planets.longitudeRound every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.
Example
4Header Parameters
Section titled “Header Parameters ”Unique per logical operation, kept across retries. For 24 hours from the first request, a repeat with the same key, method, path, body and query string returns the stored response with Idempotent-Replayed: true and costs 0 credits. The same key with a different body or query string is a 409 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running is a 409 IDEMPOTENCY_IN_PROGRESS. Only 2xx responses are kept. See /idempotency/.
Example
01HXY2A7ZM0ABCDEFRequest Body required
Section titled “Request Body required ”Birth data (time and coordinates required: the houses come from the Lagna) and the span to scan for one life area.
object
Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC. Ignored when timezone is sent.
IANA zone name such as Europe/Kyiv, or auto to look the zone up from latitude and longitude. The server takes the offset that zone kept at this local date and time, summer time included, and uses it in place of timezoneOffset. A clock time that happened twice takes the first occurrence; one skipped when clocks went forward takes the offset from before the change. Abbreviations such as EST are refused. Before 1970 the tz database is not reliable for every place, so send timezoneOffset when the local clock is known.
Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.
Start of the span, YYYY-MM-DD (UTC). Today when omitted.
Length of the span in years, 1 to 20. Default 5.
Finest dasha level that cuts the windows. pratyantar (default): maha, antar and pratyantar lords are scored. antar: maha and antar only, fewer and longer windows.
Add KP significators (Placidus cusps): each dasha lord scores for the houses of the area’s KP group it signifies. Default false.
Leave out windows scoring below this. Default 1: every window where at least one rule fired.
Example
{ "date": "1990-05-15", "time": "15:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52, "fromDate": "2026-11-01", "years": 5}Responses
Section titled “ Responses ”Successful calculation
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "ok": true, "data": { "method": "life-area-timing", "window": { "from": "2026-11-01", "to": "2031-11-01", "years": 5, "fromJd": 2461345.5, "toJd": 2463171.75 }, "level": "pratyantar", "natal": { "lagna": { "sign": "Virgo", "signIndex": 5 }, "moonNakshatra": 21, "ayanamsa": 23.722551115821318, "houses": "whole sign from the sidereal Lagna (Parashari); KP uses Placidus cusps" }, "area": "education", "houses": [ { "house": 4, "role": "primary", "meaning": "schooling, formal education", "basis": "modern", "source": "Modern Parashari reading of the 4th for education; no verse found", "sign": "Sagittarius", "lord": "Jupiter" }, { "house": 5, "role": "primary", "meaning": "learning, intelligence (vidya, buddhi)", "basis": "classical", "source": "BPHS ch. 16 (effects of the 5th house), Santhanam numbering", "sign": "Capricorn", "lord": "Saturn" }, { "house": 9, "role": "supporting", "meaning": "higher learning", "basis": "modern", "source": "Modern Parashari reading of the 9th; no verse found", "sign": "Taurus", "lord": "Venus" } ], "karakas": [ { "graha": 2, "meaning": "intellect, speech, learning", "basis": "classical", "source": "Phaladeepika ch. 2 (karakatwa of the planets)", "name": "Mercury" }, { "graha": 5, "meaning": "knowledge, teachers", "basis": "classical", "source": "Phaladeepika ch. 2 (karakatwa of the planets)", "name": "Jupiter" } ], "kpHouses": null, "sources": { "dasha-phala": "BPHS dasha-phala chapters (a dasha gives the results of the houses its lord rules and occupies); Phaladeepika ch. 19 (dasa phala)", "drishti": "BPHS graha drishti: all planets aspect the 7th, Mars also the 4th and 8th, Jupiter the 5th and 9th, Saturn the 3rd and 10th", "node": "Widely taught Parashari convention that Rahu and Ketu give the results of the lord of the sign they occupy; no verse found", "double-transit": "K.N. Rao, double transit of Jupiter and Saturn (Astrology, Destiny and the Wheel of Time; Journal of Astrology). A 20th-century rule, not a classical verse", "convergence": "K.N. Rao: the dasha promises, the double transit times. Convergence here = a maha or antar rule on a primary house or karaka plus a double transit in the same window", "kp": "K.S. Krishnamurti, KP Readers: a planet signifies the houses its star lord occupies and owns, then the houses it occupies and owns (Placidus cusps); house groups per event as taught in KP", "karaka-mercury": "Phaladeepika ch. 2 (karakatwa of the planets)", "karaka-jupiter": "Phaladeepika ch. 2 (karakatwa of the planets)" }, "windows": [ { "start": "2026-11-01", "end": "2027-01-24", "startJd": 2461345.5, "endJd": 2461430.3344726562, "dasha": { "maha": "Rahu", "antar": "Moon", "pratyantar": "Venus" }, "transitAtStart": { "jupiter": "Leo", "saturn": "Pisces" }, "score": 12.5, "components": { "dasha": 8.5, "transit": 4, "kp": 0 }, "convergence": true, "rules": [ { "id": "lord-in-house", "level": "maha", "planet": "Rahu", "house": 5, "points": 3, "basis": "classical", "source": "dasha-phala", "rule": "Mahadasha lord Rahu occupies the 5th house (Capricorn)." }, { "id": "node-dispositor", "level": "maha", "planet": "Rahu", "house": 5, "points": 2, "basis": "modern", "source": "node", "rule": "Mahadasha lord Rahu in Capricorn acts for its dispositor Saturn, which rules the 5th house." }, { "id": "lord-in-house", "level": "antar", "planet": "Moon", "house": 5, "points": 3, "basis": "classical", "source": "dasha-phala", "rule": "Antardasha lord Moon occupies the 5th house (Capricorn)." }, { "id": "lord-rules-house", "level": "pratyantar", "planet": "Venus", "house": 9, "points": 0.5, "basis": "classical", "source": "dasha-phala", "rule": "Pratyantardasha lord Venus rules the 9th house (Taurus)." }, { "id": "double-transit-house", "house": 4, "points": 4, "basis": "modern", "source": "double-transit", "rule": "Transit Jupiter in Leo aspects and transit Saturn in Pisces aspects the 4th house (Sagittarius)." } ] } ], "summary": { "windows": 39, "convergenceWindows": 15, "maxScore": 21, "best": [ { "start": "2028-07-24", "end": "2028-10-30", "score": 21, "convergence": true } ] }, "rulesBasis": { "dasha": "Vimshottari, scored at maha, antar and pratyantar level", "transit": "Jupiter and Saturn by sidereal sign, graha drishti (Jupiter 5, 7, 9; Saturn 3, 7, 10)", "convergence": "K.N. Rao: the dasha promises, the double transit times. Convergence here = a maha or antar rule on a primary house or karaka plus a double transit in the same window", "scoring": { "points": { "lord-rules-house": { "primary": 3, "supporting": 1 }, "lord-in-house": { "primary": 3, "supporting": 1 }, "lord-aspects-house": { "primary": 2, "supporting": 0 }, "karaka": { "classical": 2, "modern": 1 }, "node-dispositor": { "primary": 2, "supporting": 0 }, "double-transit-house": 4, "double-transit-lord": 3, "kp-significator": 1 }, "levelWeight": { "maha": 1, "antar": 1, "pratyantar": 0.5 }, "basis": "scoring", "note": "Points and level weights are this API's, not a text's. They rank windows; the rules that fired are the evidence." }, "dates": "UTC, YYYY-MM-DD; startJd and endJd are exact" } }}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" }}