LifeAstroAPILifeAstroAPI

API Reference / Vedic Astrology / Chart (Kundli)

GET
20 credits

/v1/chart/sensitivity

Birth-time sensitivity: how many minutes the lagna (D1 and chosen vargas), the Moon nakshatra and pada stay the same around the given birth time, and any planet sign change inside the window.

What this tells you

How much the chart depends on the exact birth time. For the lagna in D1 and each requested varga, and for the Moon's nakshatra and pada, it returns the span of time around the given birth time during which the value stays the same, with the neighbouring values on either side. In the sample, the D1 lagna holds for 11 more minutes but the D9 lagna changes in under a minute. Values at the birth time equal /v1/chart/ascendant, /v1/chart/divisional/{varga} and /v1/chart/planets. Every instant is given as *_local (RFC 3339 with offset) and *_jd (Julian Day, UT).

Birth details are unprefixed: `date`, `time`, `tz`, `lat`, `lon`.

Request

All requests require an Authorization header with your dv_live_* API key.

example request
curl "https://api.lifeastroapi.com/v1/chart/sensitivity?date=1990-01-15&tz=Asia%2FKolkata&lat=19.076&lon=72.8777&time=10%3A30" \
  -H "Authorization: Bearer YOUR_API_KEY"

Query parameters

Checked against the API: a parameter is marked required when the request fails without it.

NameRequiredExampleDescription
dateyes1990-01-15Birth date (YYYY-MM-DD).
tzyesAsia/KolkataBirth place timezone: IANA name (Asia/Kolkata) or UTC offset (+05:30).
latyes19.076Birth place latitude in decimal degrees.
lonyes72.8777Birth place longitude in decimal degrees.
timeno10:30Birth time (HH:MM, 24-hour, local). Defaults to 12:00.
ayanamsano—Ayanamsa (sidereal offset) to use. Defaults to lahiri.
windowno—Half-width of the scan in minutes. Default 120 (±2 h), max 180.
vargasno—Comma-separated vargas besides D1 (D2..D60). Default D9,D10,D24; at most 16.
topocentric_moonno—Topocentric Moon for the nakshatra/pada spans, as on /v1/chart/*. Default false.

Response (200 OK)

The real response to the example request above, generated from the API itself. Long arrays are trimmed to their first two items. Field names are stable across versions.

200 response
{
  "date": "1990-01-15",
  "time": "10:30",
  "location": {
    "lat": 19.076,
    "lon": 72.8777,
    "alt": 0
  },
  "tz": "Asia/Kolkata",
  "ayanamsa": "lahiri",
  "ayanamsa_value": 23.71795,
  "house_system": "whole_sign",
  "birth_jd": 2447906.708333,
  "window_minutes": 120,
  "window_start_local": "1990-01-15T08:30:00+05:30",
  "window_start_jd": 2447906.625,
  "window_end_local": "1990-01-15T12:30:00+05:30",
  "window_end_jd": 2447906.791667,
  "lagna": {
    "D1": {
      "sign_index": 10,
      "stable_from": "1990-01-15T09:04:32+05:30",
      "stable_from_jd": 2447906.648985,
      "stable_to": "1990-01-15T10:41:16+05:30",
      "stable_to_jd": 2447906.716162,
      "minutes_before": 85.46,
      "minutes_after": 11.27,
      "open_before": false,
      "open_after": false,
      "sign_before_index": 9,
      "sign_after_index": 11
    },
    "D10": {
      "sign_index": 6,
      "stable_from": "1990-01-15T10:22:30+05:30",
      "stable_from_jd": 2447906.70312,
      "stable_to": "1990-01-15T10:31:54+05:30",
      "stable_to_jd": 2447906.709652,
      "minutes_before": 7.51,
      "minutes_after": 1.9,
      "open_before": false,
      "open_after": false,
      "sign_before_index": 5,
      "sign_after_index": 7
    },
    "D24": {
      "sign_index": 1,
      "stable_from": "1990-01-15T10:29:33+05:30",
      "stable_from_jd": 2447906.708024,
      "stable_to": "1990-01-15T10:33:29+05:30",
      "stable_to_jd": 2447906.710748,
      "minutes_before": 0.45,
      "minutes_after": 3.48,
      "open_before": false,
      "open_after": false,
      "sign_before_index": 0,
      "sign_after_index": 2
    },
    "D9": {
      "sign_index": 1,
      "stable_from": "1990-01-15T10:20:24+05:30",
      "stable_from_jd": 2447906.701666,
      "stable_to": "1990-01-15T10:30:52+05:30",
      "stable_to_jd": 2447906.708936,
      "minutes_before": 9.6,
      "minutes_after": 0.87,
      "open_before": false,
      "open_after": false,
      "sign_before_index": 0,
      "sign_after_index": 2
    }
  },
  "moon": {
    "nakshatra": {
      "nakshatra_index": 10,
      "stable_from": "1990-01-15T08:30:00+05:30",
      "stable_from_jd": 2447906.625,
      "stable_to": "1990-01-15T12:30:00+05:30",
      "stable_to_jd": 2447906.791667,
      "minutes_before": 120,
      "minutes_after": 120,
      "open_before": true,
      "open_after": true
    },
    "pada": {
      "nakshatra_index": 10,
      "pada": 3,
      "stable_from": "1990-01-15T10:15:26+05:30",
      "stable_from_jd": 2447906.698217,
      "stable_to": "1990-01-15T12:30:00+05:30",
      "stable_to_jd": 2447906.791667,
      "minutes_before": 14.57,
      "minutes_after": 120,
      "open_before": false,
      "open_after": true
    }
  },
  "planet_sign_changes": []
}

Field reference

Every field in the response, with its type, a real example, and what it means.

FieldTypeMeaning
date, time, tz, locationstring / object
Birth details you sent (unprefixed `date`, `time`, `tz`, `lat`, `lon`), echoed back. `time` is "12:00" when you leave it out.
example: "1990-01-15", "10:30", "Asia/Kolkata"
ayanamsa, ayanamsa_valuestring, number
Ayanamsa used (default lahiri) and its value in degrees at the birth moment.
example: "lahiri", 23.71795
house_systemstring
Always whole_sign: every `house` here is counted by whole signs from the lagna.
example: "whole_sign"
birth_jdnumber
Birth moment as a Julian Day (UT).
example: 2447906.708333
window_minutes, window_start_local, window_end_local (+ _jd)integer, string, number
The scanned window: ± `window` minutes around the birth time.
example: 120, "1990-01-15T08:30:00+05:30"
lagna.<varga>object
For D1 and each requested varga: the lagna sign at birth and the span over which it stays the same (boundaries to about 1 second, as *_local and *_jd).
example: { "sign_index": 10, "stable_from": "1990-01-15T09:04:32+05:30", "stable_to": "1990-01-15T10:41:16+05:30", "minutes_before": 85.46, "minutes_after": 11.27, … }
lagna.<varga>.sign_before_index, sign_after_indexinteger
The lagna sign just before and just after the span.
example: 9, 11
lagna.<varga>.open_before, open_afterboolean
True when no change happens inside the window on that side; stable_from/stable_to are then the window edges and the real span is longer.
example: false, false
moon.nakshatra, moon.padaobject
The same span for the Moon's nakshatra and pada (these drive the Vimshottari dasha balance and the name syllable).
example: { "nakshatra_index": 10, "pada": 3, "minutes_before": 14.57, "minutes_after": 120, "open_after": true, … }
planet_sign_changesarray
Any graha that changes sidereal sign inside the window. Empty when none does.
example: []

Usage tips

How to use it

  • Warn about uncertain birth times
    If minutes_before or minutes_after is smaller than the user's uncertainty (for example "around 10:30"), tell them which chart parts may differ. A D9 or D60 lagna can change within minutes.
  • Before birth-time rectification
    Use the sign_before_index / sign_after_index values to list the candidate charts a rectification has to choose between.
  • Parameters
    window is the half-width in minutes (default 120, max 180). vargas is a comma list besides D1 (default D9,D10,D24; at most 16). topocentric_moon=true uses the topocentric Moon, as on the other /v1/chart endpoints.

Errors

Every error follows the same envelope. Use the error.code field (not the message) for conditional logic in your integration.

401 Unauthorized

{
  "error": {
    "code": "unauthorized",
    "message": "missing or invalid API key",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

402 Payment Required

{
  "error": {
    "code": "trial_exhausted",
    "message": "your free trial credits are exhausted — pick a plan to continue",
    "top_up_url": "https://lifeastroapi.com/pricing",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

429 Too Many Requests

{
  "error": {
    "code": "rate_limited",
    "message": "rate limit exceeded; retry after 12 seconds",
    "request_id": "req_01hqy7k8c3e7m1n"
  }
}

Try it

Get a dv_live_* key from your dashboard and paste into the cURL snippet above. New accounts get 7,500 welcome credits plus 1,500 free credits a month. Sign up.