curl --request POST \
--url https://api.telleo.ai/v1/counsellors \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Asha Rao",
"email": "[email protected]"
}
'import requests
url = "https://api.telleo.ai/v1/counsellors"
payload = {
"name": "Asha Rao",
"email": "[email protected]"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Asha Rao', email: '[email protected]'})
};
fetch('https://api.telleo.ai/v1/counsellors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Add a counsellor
Makes a person a counsellor of your account. A NEW email gets a dashboard login (active at once) and, unless send_welcome_email is false, the welcome email with their username and password. An email whose login belongs to another account on the platform (or to none) is refused with 409 email_in_use_elsewhere, so your key never sees someone else’s details. The login of a person removed from your account earlier is reused: the counsellor role is added back, their name, mobile number and password stay as they are, and no email is sent. The API only ever grants the counsellor role.
Scope: counsellors:manage.
curl --request POST \
--url https://api.telleo.ai/v1/counsellors \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Asha Rao",
"email": "[email protected]"
}
'import requests
url = "https://api.telleo.ai/v1/counsellors"
payload = {
"name": "Asha Rao",
"email": "[email protected]"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Asha Rao', email: '[email protected]'})
};
fetch('https://api.telleo.ai/v1/counsellors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Authorizations
Your AI calling API key (vak_call_…). Authorization: Bearer <key> also works.
Headers
Same body + same key within 24 hours returns the first result.
255Body
120Their dashboard login. An email whose login belongs to another account is refused (email_in_use_elsewhere); the login of someone removed from your account earlier is reused (see existing_account).
E.164. Their phone rings first on a human call, so Vacademy Voice and Exotel need it (a warning says so when it is missing). Ignored for an existing account.
Their Airtel IQ extension, when your calling provider is Airtel. Unique in your account.
32Email a NEW account its login (username, password, dashboard link). Never sent to an existing account.
Response
Already a counsellor here (created: false), or a replay of this Idempotency-Key (idempotent_replay: true).
Use as counsellor_id on POST /human-calls.
"counsellor"["COUNSELLOR"]
Whether this person can take a human call right now on your calling provider.
Why can_call is false, e.g. no mobile number on their profile (Vacademy Voice, Exotel) or no Airtel extension mapped.
inactive after DELETE /counsellors/{id} (deactivated); GET /counsellors lists active ones only.
active, invited, inactive Only on GET /counsellors/{id} (and write responses) for keys with counsellors:manage, and null when the login also belongs to another account (shared_account). Digits with the country code, as stored on the profile.
"919876543210"
Only on single-counsellor responses, for keys with counsellors:manage.
Only for counsellors:manage keys: whether the API may change this person (their roles here are counsellor roles only). Admins and other staff are false.
Only for counsellors:manage keys: the login also belongs to another account on the platform, so its name and mobile number cannot be changed through the API.
true when this request made the person a counsellor here; false when they already were (nothing changed).
The email already had a login on the platform: it was reused, its name, mobile and password were not changed, and no email was sent.
On deactivation / reactivation: what else changed (see the counsellors guide).
Non-fatal notes about what was (not) done, e.g. mobile_number_missing.
Show child attributes
Show child attributes