API reference
Base URL https://gateway.vedakjyoti.com. JSON in, JSON out. Machine-readable spec: /openapi.json.
Send your key as a bearer token. Keys are issued per account; keep them server-side and never ship them in a browser or mobile app.
Authorization: Bearer vj_live_xxxxxxxx_...
curl -X POST https://gateway.vedakjyoti.com/v1/charts/calculate \
-H "Authorization: Bearer $VJ_KEY" \
-H "Content-Type: application/json" \
-d '{ "birth": { "date": "1990-02-10", "local_time": "14:32:00", "time_certainty": "exact", "timezone": "Asia/Kolkata", "utc_offset_hint": "+05:30", "latitude": 28.6139, "longitude": 77.209 }, "evaluation_time_utc": "2026-08-20T12:00:00Z" }'
2xx. Validation errors and server errors are free.402 and nothing is charged.X-VJ-Charged-Paise and X-VJ-Balance-Paise (100 paise = ₹1).Idempotency-Key header on retries. Re-sending the same key with the same body is not charged again; the same key with a different body returns 409.GET /v1/version and GET /v1/capabilities are free.| Status | Code | Meaning |
|---|---|---|
| 401 | unauthorized | Missing, malformed or revoked key. |
| 402 | insufficient_balance | Top up to continue. Not charged. |
| 403 | endpoint_not_enabled / account_suspended | Ask us to enable the endpoint or contact us about the account. |
| 404 / 405 | not_found / method_not_allowed | Unknown path, or wrong HTTP method. |
| 409 | idempotency_conflict | The key was used with a different request. |
| 413 | request_too_large | Body above 256 KB. |
| 422 | (validation) | The request failed validation. The body names the field. Not charged. |
| 429 | rate_limit_exceeded | Slow down; see the Retry-After header. Not charged. |
| 502 / 503 | upstream_unavailable | Calculation service unavailable. Retry with backoff. Not charged. |
Errors return {"error": {"code", "message", "request_id"}}. Quote the X-Request-ID if you contact us.
POST /v1/charts/calculate · Core
Sidereal (Lahiri) positions, houses, divisional charts, dignities, Vimshottari Dasha and Manglik status for one birth.
| Request field | Type | Required |
|---|---|---|
person_ref | string | |
birth | BirthInput | yes |
evaluation_time_utc | string (date-time) | yes |
ruleset | string |
POST /v1/compatibility/calculate · Core
Ashtakoot (36-point) matching and Manglik comparison for two births.
| Request field | Type | Required |
|---|---|---|
groom | ChartRequest | yes |
bride | ChartRequest | yes |
POST /v1/transits/calculate · Core
Planetary transits for a date, with optional Sade Sati and Dhaiya windows.
| Request field | Type | Required |
|---|---|---|
chart | ChartRequest | yes |
start_time_utc | string (date-time) | yes |
end_time_utc | string (date-time) | yes |
step_hours | integer | |
include_sade_sati | boolean |
POST /v1/marriage/timing · Insight
Evidence windows for marriage timing from Dasha and transit factors.
| Request field | Type | Required |
|---|---|---|
primary | ChartRequest | yes |
partner | ChartRequest | |
start_time_utc | string (date-time) | yes |
end_time_utc | string (date-time) | yes |
step_days | integer | |
ruleset | string |
POST /v1/relationship/analyze · Insight
Six traceable relationship evidence dimensions drawn from two charts.
| Request field | Type | Required |
|---|---|---|
primary | ChartRequest | yes |
partner | ChartRequest | yes |
ruleset | string |
POST /v1/career/analyze · Insight
Traceable career evidence from D1, D9 and D10.
| Request field | Type | Required |
|---|---|---|
person | ChartRequest | yes |
ruleset | string |
POST /v1/relocation/analyze · Insight
Evidence for candidate places using D1 and D4 factors.
| Request field | Type | Required |
|---|---|---|
person | ChartRequest | yes |
ruleset | string | |
places | array |
POST /v1/family-children/analyze · Insight
Family-house evidence from D1, D7 and D9. Not a medical or fertility assessment.
| Request field | Type | Required |
|---|---|---|
person | ChartRequest | yes |
ruleset | string |
POST /v1/business/analyze · Insight
Business evidence from D1 and D10. Not financial advice.
| Request field | Type | Required |
|---|---|---|
person | ChartRequest | yes |
ruleset | string |
Full request and response schemas are in /openapi.json. A person is described by birth (date, local time, certainty, timezone, latitude, longitude) and an evaluation_time_utc.
Questions or a higher rate limit: hello@lightsapien.com.