Submit polygon coordinates. Receive zone boundaries, Brahmasthan cell geometry, 81-pada Mandala overlay, entrance direction classification and traditional rule findings — computed by a deterministic geometry and rule engine (the griha pravesh muhurta endpoint also uses Swiss Ephemeris). No LLM required. Available on all plans.
The Vastu engine is geometry-first and deterministic. All results derive from the polygon coordinates and bearing values you submit — not from a database lookup or an LLM. Each call returns structured JSON you can render in any frontend.
All endpoints require an active API key. For POST endpoints, pass the key via the X-API-Key header. The ?api_key= query parameter and the api_key JSON body field are also accepted. For GET endpoints (/methodology and /versions), use the header or query parameter only.
curl -X POST https://vedintelastroapi.com/api/v1/vastu/direction \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"bearing_deg": 45}'curl "https://vedintelastroapi.com/api/v1/vastu/methodology?api_key=YOUR_API_KEY"
Polygon coordinates are Cartesian {"x": number, "y": number} in any consistent unit — metres, feet, or dimensionless grid units. The engine uses ratios, so the absolute unit does not affect computed fractions or classifications.
north_angle (degrees, default 0): the True North bearing of your plan's +Y (plan-up) axis, measured clockwise. 0 means +Y already points True North; 90 means plan-up faces East. Every bearing you send is converted with true bearing = bearing + north_angle, and the plot is rotated into a True North frame before zones, Mandala and rules are computed. Valid range −360 to +360.north_angle 0, +Y is True North and +X is East. Otherwise the plot is rotated into a True North frame first, so coordinates in the response are in that rotated frame.| Path | Method | Description |
|---|---|---|
| /api/v1/vastu/methodology | GET | Engine overview, coordinate conventions, rule corpus summary (23 rules) |
| /api/v1/vastu/versions | GET | Engine and rules version identifiers |
| /api/v1/vastu/direction | POST | Classify a bearing into 4/8/16-direction system with deity and labels |
| /api/v1/vastu/entrance | POST | Entrance direction analysis and applicable rule findings |
| /api/v1/vastu/zones | POST | 8-zone areas and percentages clipped to the plot polygon |
| /api/v1/vastu/brahmasthan | POST | Brahmasthan centre, cell boundary, and room-obstruction check |
| /api/v1/vastu/mandala | POST | 81-pada Vastu Purusha Mandala grid over the plot boundary |
| /api/v1/vastu/room-placement | POST | Zone assignment for each named room, plus applicable rules |
| /api/v1/vastu/plot-analysis | POST | Full geometry pass: zones, Brahmasthan, rooms and entrance in one call |
| /api/v1/vastu/plan/analyze | POST | Full geometry plus zone breakdown and Mandala grid — recommended combined endpoint |
| /api/v1/vastu/findings | POST | Rule engine only — accepts direction/room/obstruction fields without polygon geometry |
| /api/v1/vastu/muhurta | POST | Auspicious ceremony timing. griha_pravesh live. bhoomi_puja, griha_arambha, vastu_puja, griha_pravesh_renovation → HTTP 501 not yet implemented.Partial — see note |
| Field | Type | Requirement | Description |
|---|---|---|---|
| plot | Point[] | varies | Array of {x, y} polygon vertices. Required by most endpoints; optional or absent for /direction, /entrance, /findings, /muhurta. |
| rooms | Room[] | optional | Array of {name: string, polygon: Point[]} room definitions. Required by /room-placement. |
| entrance | object | optional/required | {bearing_deg: number}, 0–360 clockwise from plan-up (True North when north_angle is 0) — required by /entrance, optional on /plot-analysis and /plan/analyze. |
| bearing_deg | number | required | /direction only: bearing in degrees clockwise from plan-up (True North when north_angle is 0); any value, normalised to 0–360. |
| north_angle | number | optional | Degrees; default 0. True North bearing of your plan +Y (plan-up) axis, clockwise; true bearing = bearing + north_angle. Range −360 to +360. |
| lang | string | optional | Language code; default "en". 23 languages supported (hi, ta, te, sa, …). |
| api_key | string | optional in body | API key. Prefer X-API-Key header. Accepted in body for POST endpoints. |
The /vastu/plan/analyze endpoint runs the full geometry pass in one call: zones, Brahmasthan, Mandala, room placement and entrance analysis. This is the recommended starting point.
POST /api/v1/vastu/plan/analyze
X-API-Key: YOUR_API_KEY
Content-Type: application/json
{
"plot": [
{"x": 0, "y": 0},
{"x": 20, "y": 0},
{"x": 20, "y": 10},
{"x": 0, "y": 10}
],
"rooms": [
{
"name": "Master Bedroom",
"polygon": [
{"x": 0, "y": 5},
{"x": 8, "y": 5},
{"x": 8, "y": 10},
{"x": 0, "y": 10}
]
}
],
"entrance": {"bearing_deg": 45},
"north_angle": 0,
"lang": "en"
}{
"status": 200,
"response": {
"calculation": {
"plot": {
"area": <number>, // polygon area in input units²
"aspect_ratio": <number>, // bounding-box width / height
"centroid": {"x":..,"y":..},
"bounding_box": {"minX":..,"maxX":..,"minY":..,"maxY":..,"width":..,"height":..}
},
"brahmasthan": {
"polygon": [...], // centre cell of the 9×9 grid
"area": <number>,
"plot_fraction": <0–1>,
"is_obstructed": <boolean>, // a room covers more than 5% of the cell
"room_obstructions": [{"room_name":"..","overlap_pct":..,"is_obstruction":..}],
"is_fully_in_plot": <boolean>,
"centre_point": {"x":..,"y":..}
},
"zones": [ // 8 directional zones
{"direction_8":"NE","label_en":"North-East","deity":"Ishana (Shiva)",
"area":<number>,"area_pct":<0–100>}, ...
],
"mandala_summary": {"grid_size":"9x9","total_padas":81,"padas_in_plot":<number>, ...},
"rooms": [
{"name":"Master Bedroom","zone_8":"NW","centroid":{"x":..,"y":..},
"bearing_from_plot_centre_deg":<number>}
],
"entrance": {"direction_8":"NE","direction_4":"E","bearing_deg":45,
"deity":"Ishana (Shiva)","label_en":"North-East",
"label_hi":"Ishan","label_sa":"Ishana"}
},
"rule_evaluation": {
"findings": [ // only the rules that fired
{"rule_id":"entrance-ne-positive","subject":"main-entrance",
"category":"entrance","outcome":"positive","severity":"minor",
"source_type":"consensus","source_verification_status":"consensus_only",
"interpretive_confidence":"moderate","description":"..",
"trigger":"Main entrance faces NE"}, ...
],
"positive_count": <n>, "negative_count": <n>,
"critical_count": <n>, "informational_count": <n>,
"rules_version": "1.0.0"
},
"interpretation": null,
"metadata": {"geometry_engine_version":"1.0.0","vastu_rules_version":"1.0.0",
"north_angle_applied_deg":0, ...}
},
"remaining_api_calls": <number>
}griha_pravesh is implemented. bhoomi_puja, griha_arambha, vastu_puja and griha_pravesh_renovation return HTTP 501 NOT_YET_IMPLEMENTED.astro_vastu_rules_version: "0.0.0" — natal-chart based Vastu analysis (linking birth planets to spatial zones) is a planned Phase 2 feature, not currently available.The following guides walk through how practitioners can use the Vastu API endpoints in a real consultation workflow: