Bolcho Docs Back to app

Core resources

Assistants

An assistant (agent) is the voice AI persona: its prompt, model, voice, language, tools and knowledge. Edits create new versions; calls always run the published version.

GET/agents agents:read

List assistants

List all assistants in the workspace.

Query parameters

limitnumberPage size (default 20).
offsetnumberOffset for pagination.

Example request

bash
curl https://api.bolchoai.in/v1/agents -H "Authorization: Bearer $VOXA_API_KEY"
GET/agents/{id} agents:read

Get assistant

Retrieve a single assistant with its current config and versions.

Path parameters

id*uuidAssistant id.

Example request

bash
curl https://api.bolchoai.in/v1/agents/$ID \
  -H "Authorization: Bearer $VOXA_API_KEY"
POST/agents agents:write

Create assistant

Create a new assistant with an initial config version.

Body

name*stringDisplay name.
configobjectInitial config — see fields below.
config.systemPromptstringThe assistant's instructions / persona.
config.firstMessagestringSpoken greeting at call start.
config.llmProviderenumopenai | anthropic | google | sarvam | openai_compatible.
config.llmModelstringModel id, e.g. gpt-4o-mini, sarvam-30b.
config.sttProviderenumdeepgram | sarvam.
config.ttsProviderenumazure | cartesia | elevenlabs | sarvam.
config.ttsVoiceIdstringVoice id for the TTS provider.
config.languagestringBCP-47 language, e.g. en, hi-IN.
config.backgroundSoundenumoff | office | cafe | restaurant.
config.noiseCancellationenumoff | noise | bvc | telephony.

Example request

bash
curl -X POST https://api.bolchoai.in/v1/agents -H "Authorization: Bearer $VOXA_API_KEY" -H "Content-Type: application/json" \
  -d '{ "name": "Support Bot", "config": { "systemPrompt": "You are helpful.", "llmProvider": "openai", "llmModel": "gpt-4o-mini", "ttsProvider": "azure", "ttsVoiceId": "en-US-AvaMultilingualNeural" } }'

Response

json
{ "id": "a1b2…", "name": "Support Bot", "status": "draft", "publishedVersionId": null }
PATCH/agents/{id} agents:write

Update assistant

Update name/metadata. Pass a config to create a new draft version.

Path parameters

id*uuidAssistant id.

Example request

bash
curl -X PATCH https://api.bolchoai.in/v1/agents/$ID \
  -H "Authorization: Bearer $VOXA_API_KEY"
POST/agents/{id}/versions agents:write

Create a version

Save a new config version (the full config snapshot). Becomes the latest draft.

Path parameters

id*uuidAssistant id.

Example request

bash
curl -X POST https://api.bolchoai.in/v1/agents/$ID/versions \
  -H "Authorization: Bearer $VOXA_API_KEY"
POST/agents/{id}/publish agents:write

Publish assistant

Promote the latest version to published — calls run this version.

Path parameters

id*uuidAssistant id.

Example request

bash
curl -X POST https://api.bolchoai.in/v1/agents/$AGENT_ID/publish -H "Authorization: Bearer $VOXA_API_KEY"
PUT/agents/{id}/tools agents:write

Attach tools

Set the tools (function-calling) available to the assistant.

Path parameters

id*uuidAssistant id.

Body

toolIds*string[]Tool ids to enable.

Example request

bash
curl -X PUT https://api.bolchoai.in/v1/agents/$ID/tools \
  -H "Authorization: Bearer $VOXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "toolIds": [
    "..."
  ]
}'
PUT/agents/{id}/knowledge agents:write

Attach knowledge

Link knowledge bases the assistant can search at call time.

Path parameters

id*uuidAssistant id.

Body

knowledgeBaseIds*string[]Knowledge base ids.

Example request

bash
curl -X PUT https://api.bolchoai.in/v1/agents/$ID/knowledge \
  -H "Authorization: Bearer $VOXA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "knowledgeBaseIds": [
    "..."
  ]
}'
DELETE/agents/{id} agents:write

Delete assistant

Permanently delete an assistant.

Path parameters

id*uuidAssistant id.

Example request

bash
curl -X DELETE https://api.bolchoai.in/v1/agents/$ID \
  -H "Authorization: Bearer $VOXA_API_KEY"