Skip to main content
PATCH
Update a counsellor

Authorizations

X-API-Key
string
header
required

Your AI calling API key (vak_call_…). Authorization: Bearer <key> also works.

Path Parameters

id
string
required

Body

application/json
name
string

Only for a login that belongs to your account alone (else 409 shared_account).

Maximum string length: 120
mobile_number
string

E.164. Same rule as name. Cannot be removed.

airtel_extension
string | null

null removes the mapping.

active
boolean

false deactivates (as DELETE), true reactivates.

Response

The updated counsellor.

id
string

Use as counsellor_id on POST /human-calls.

object
string
Allowed value: "counsellor"
name
string
email
string | null
roles
string[]
Example:
can_call
boolean

Whether this person can take a human call right now on your calling provider.

blocked_reason
string | null

Why can_call is false, e.g. no mobile number on their profile (Vacademy Voice, Exotel) or no Airtel extension mapped.

status
enum<string>

inactive after DELETE /counsellors/{id} (deactivated); GET /counsellors lists active ones only.

Available options:
active,
invited,
inactive
mobile_number
string | null

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.

Example:

"919876543210"

airtel_extension
string | null

Only on single-counsellor responses, for keys with counsellors:manage.

manageable
boolean

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.

shared_account
boolean

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.

created
boolean

true when this request made the person a counsellor here; false when they already were (nothing changed).

existing_account
boolean

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.

welcome_email_sent
boolean
effects
object

On deactivation / reactivation: what else changed (see the counsellors guide).

warnings
object[]

Non-fatal notes about what was (not) done, e.g. mobile_number_missing.

idempotent_replay
boolean