Create a consultation
Computes the Kundli and asks Kaal the first question. Costs $9 from your API wallet.
Request body
Full name of the person. Up to 120 characters.
One of Male, Female, Other.
Date of birth, e.g. "2 Sep 1990".
Local time of birth, e.g. "5:24 PM". The more exact, the better the house placements.
Place of birth as "City, State, Country", e.g. "Jaipur, Rajasthan, India".
IANA time zone of the birth place, e.g. "Asia/Kolkata".
Latitude of the birth place, −90 to 90. Recommended. If omitted, the place is geocoded from placeOfBirth.
Longitude of the birth place, −180 to 180. Recommended together with latitude.
Language Kaal answers in. Defaults to English. See Languages.
The first question, 2 to 600 characters.
Request
curl -X POST {BASE}/v1/consultations \
-H "Authorization: Bearer $KAALERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fullName": "Asha Verma",
"gender": "Female",
"dateOfBirth": "2 Sep 1990",
"timeOfBirth": "5:24 PM",
"placeOfBirth": "Jaipur, Rajasthan, India",
"timezone": "Asia/Kolkata",
"latitude": 26.9124,
"longitude": 75.7873,
"language": "English",
"question": "When is a good window for a career change?"
}'const res = await fetch("{BASE}/v1/consultations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KAALERA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"fullName": "Asha Verma",
"gender": "Female",
"dateOfBirth": "2 Sep 1990",
"timeOfBirth": "5:24 PM",
"placeOfBirth": "Jaipur, Rajasthan, India",
"timezone": "Asia/Kolkata",
"latitude": 26.9124,
"longitude": 75.7873,
"language": "English",
"question": "When is a good window for a career change?"
}),
});
const data = await res.json();
console.log(res.status, data);import os, requests
res = requests.post(
"{BASE}/v1/consultations",
headers={"Authorization": f"Bearer {os.environ['KAALERA_API_KEY']}"},
json={
"fullName": "Asha Verma",
"gender": "Female",
"dateOfBirth": "2 Sep 1990",
"timeOfBirth": "5:24 PM",
"placeOfBirth": "Jaipur, Rajasthan, India",
"timezone": "Asia/Kolkata",
"latitude": 26.9124,
"longitude": 75.7873,
"language": "English",
"question": "When is a good window for a career change?"
},
)
print(res.status_code, res.json())Response
{
"consultation": {
"id": "6e241e38-dd8f-428b-ae09-a8d7169335d3",
"name": "Asha Verma",
"language": "English",
"status": "ready",
"created_at": "2026-10-12T02:21:34.792Z",
"expires_at": "2026-10-19T02:21:35.278Z"
},
"balance_cents": 9100
}Consultation ID. Use it to poll and to ask follow-ups.
The fullName you sent.
Default answer language for this consultation.
Session state, starting or ready. The answer itself arrives later; see Get a consultation.
ISO 8601 timestamp.
When the consultation closes (7 days after it starts). After that it is read-only.
Your wallet balance in US cents after this request.
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | A field is missing or invalid. The message lists each problem. |
| 400 | chart_failed | The Kundli could not be computed. Check date, time, place and timezone. |
| 401 | invalid_api_key | Missing, wrong or revoked API key. |
| 402 | insufficient_credits | Your wallet balance is too low. Recharge at /developers. |
| 503 | unavailable | Kaal could not start. You were not charged; retry later. |
{
"error": {
"code": "invalid_request",
"message": "fullName: Required; gender: Required; dateOfBirth: Required; timeOfBirth: Required; placeOfBirth: Required; timezone: Required; question: Required"
}
}