Ask a follow-up
Asks another question in an open consultation. Kaal keeps the chart and earlier answers in mind. Costs 1 credit.
POST/v1/consultations/:id/questions
Path parameters
idstringrequired
The consultation ID.
Request body
questionstringrequired
The question, 2 to 600 characters.
languagestringoptional
Answer language for this question and the ones after it (it also updates the consultation language). Defaults to the current consultation language. See Languages.
Request
curl -X POST {BASE}/v1/consultations/6e241e38-dd8f-428b-ae09-a8d7169335d3/questions \
-H "Authorization: Bearer $KAALERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"question": "Is the window after March 2027 better for starting my own business?",
"language": "Hinglish"
}'const res = await fetch("{BASE}/v1/consultations/6e241e38-dd8f-428b-ae09-a8d7169335d3/questions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KAALERA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"question": "Is the window after March 2027 better for starting my own business?",
"language": "Hinglish"
}),
});
const data = await res.json();
console.log(res.status, data);import os, requests
res = requests.post(
"{BASE}/v1/consultations/6e241e38-dd8f-428b-ae09-a8d7169335d3/questions",
headers={"Authorization": f"Bearer {os.environ['KAALERA_API_KEY']}"},
json={
"question": "Is the window after March 2027 better for starting my own business?",
"language": "Hinglish"
},
)
print(res.status_code, res.json())Response
{
"question_id": "52feaba7-c23a-4afb-bf6d-f39ec0b88005",
"status": "answering",
"credits_remaining": 1
}question_idstring
ID of your question. It appears as a user message in the consultation.
statusstring
Always answering.
credits_remaininginteger
Your credit balance after this request.
Then poll Get a consultation until status is ready again.
i
You can have at most 2 unanswered questions in a consultation at a time. A third returns 429 answer_pending.
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | question is missing or not 2–600 characters, or language is not supported. |
| 401 | invalid_api_key | Missing, wrong or revoked API key. |
| 402 | insufficient_credits | Your balance is 0. |
| 404 | not_found | No consultation with this ID on your account. |
| 409 | consultation_closed | The consultation is more than 7 days old. Create a new one. |
| 409 | consultation_not_ready | The consultation is not ready to take questions yet. |
| 429 | answer_pending | Two questions are already waiting for answers. |
| 503 | unavailable | The question could not be delivered. You were not charged. |
{
"error": {
"code": "answer_pending",
"message": "Wait for the current answer before asking again."
}
}