DevelopersChanges data

update_voice_settings

API reference — one of the tools an AI assistant can call on an Avrosh account.

What it does

Change how the business sounds on the phone. Send ONLY what the human asked to change; omitted fields are left alone, and an empty string CLEARS a field back to its default rather than storing a blank. ⚠️ agent_greeting is spoken WORD FOR WORD on inbound calls and replaces the shipped opener entirely - so a greeting written as 'Good morning' will still say good morning at midnight, while leaving it unset gets the time of day right in the caller's language automatically. Only set one if the operator dictated the sentence. Write {name} where the business name should go. voice_id must be an id from list_voice_options, or null to go back to routing the voice by the caller's language.

This is the exact text the model reads before deciding to call.

Parameters

business_idstringrequired

The id returned by list_businesses.

agent_namestringoptional

What the AI calls itself, e.g. 'Rina'. '' clears it.

agent_rolestringoptional

How it describes its job, e.g. 'front desk'. Short - it is a role, not a script. '' clears it.

agent_greetingstringoptional

Inbound opening line, spoken verbatim. '' clears it back to the shipped time-of-day greeting.

voice_idstringnulloptional

An id from list_voice_options, or null for language routing.

voice_cuesstringoptional

Little spoken acknowledgements while the caller talks. 'backchannel' is the usual setting.

one of: off · backchannel · all

voice_interrupt_msnumbernulloptional

How long the caller must speak before the AI stops talking, 0-2000. LOWER interrupts sooner. Raise it if a noisy line keeps cutting the AI off; lower it if callers complain it talks over them. Null uses the tested default.

Request

curl -X POST https://us.avrosh.com/mcp \
  -H "Authorization: Bearer $AVROSH_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"update_voice_settings","arguments":{"business_id":"926135ac-487d-4367-8bad-25397d0d4b87","agent_name":"Rina","agent_role":"front desk"}}}'

Response

The result arrives as an MCP content block; the JSON below is what the text field parses to.

{
  "updated": true,
  "fields": [
    "agent_name",
    "agent_role"
  ]
}

Connecting

Paste the URL into your assistant and log in. Avrosh implements OAuth 2.1, so an MCP client discovers the authorisation server, registers itself, and opens a browser asking you to sign in here. That is the whole setup: nothing to copy, no key to keep, and nothing to rotate later.

https://us.avrosh.com/mcp

For something with no browser to log in with — a cron job, a script, an automation platform — there is a second door: a bearer key made in the dashboard under Docs, shown once because only its hash is stored, and revocable at any time.

curl https://us.avrosh.com/mcp \
  -H "Authorization: Bearer $AVROSH_KEY"

Either way the boundary is the same one: an assistant reaches every business on the account it signed in to, and no others. There are no scopes to configure and nothing to switch on — what bounds it is whose account it is, enforced in the database rather than by a permission anybody sets.