1. Core concepts
  • HMS Sovereign API
  • Get started
    • Authentication
    • Introduction
    • Quickstart
  • Core concepts
    • Assistants
    • Calls
    • Phone Numbers
    • Webhooks
  • Platform
    • Billing & Credits
    • EU Data Sovereignty
    • Voice Selection
    • Whitelabel Portal
  • Webhooks
    • Assistant Request
    • End of Call Report
    • Webhooks Overview
    • Webhook Security
    • Status Update
    • Tool Calls
  • Configuration
    • Analysis Templates
    • Custom Tools
    • SIP Trunks
    • Tool Templates
  • Features
    • AI Generation
    • Autonomous Silence Handling
    • Call Analysis
    • Call Transfers
    • Campaigns Setup
    • Outbound Campaigns
    • Voicemail Detection
    • Web Calls
  • Integrations
    • BYOK Setup
    • Provider Pricing
    • xAI Grok Integration
  • Reference
    • Error Codes
    • Rate Limits
    • Troubleshooting
Documentation
API Reference
Documentation
API Reference
Book a meeting
Linkedin
Github
  1. Core concepts

Assistants

Assistants are AI-powered voice entities that handle phone conversations. Each assistant has its own personality, knowledge, and capabilities defined through configuration.
The /api/v1/agents endpoint is deprecated but still works as an alias for /api/v1/assistants. Similarly, agent_id works as an alias for assistant_id in API requests.

Assistant Components#

An assistant consists of three main AI components:

Speech-to-Text (STT)#

Converts the caller's speech to text. Currently powered by Deepgram.
{
  "stt_config": {
    "provider": "deepgram",
    "model": "nova-3-general",
    "language": "nl",
    "keyterms": ["ja", "nee", "oké"]
  }
}
FieldDescription
providerSTT provider (deepgram)
modelModel name (e.g., nova-3-general)
languageLanguage code (e.g., nl, en)
keytermsOptional array of words to boost recognition accuracy

Language Model (LLM)#

The brain of your assistant. Processes the conversation and generates responses.
{
  "llm_config": {
    "provider": "openai",
    "model": "gpt-4o-mini",
    "temperature": 0.7,
    "messages": [
      {
        "role": "system",
        "content": "Je bent een vriendelijke klantenservice medewerker..."
      }
    ],
    "tools": []
  }
}
FieldDescription
providerLLM provider (openai, mistral, xai, xai_realtime)
modelModel name (e.g., gpt-4o-mini, claude-3-sonnet)
temperatureResponse randomness (0-2, default 0.7)
messagesSystem prompts defining assistant behavior
toolsCustom tools the assistant can use (see Custom Tools)
xAI Text Models: The xai provider gives you access to Grok text models (e.g. grok-4-1-fast-non-reasoning) and uses the same API key as xai_realtime. Unlike xai_realtime, it operates as a standard text LLM and requires separate STT and TTS configuration.

Text-to-Speech (TTS)#

Converts the assistant's text responses to speech.
{
  "tts_config": {
    "provider": "elevenlabs",
    "model": "eleven_flash_v2_5",
    "voice_id": "21m00Tcm4TlvDq8ikWAM",
    "language": "nl",
    "stability": 0.5,
    "similarity_boost": 0.75,
    "use_speaker_boost": true
  }
}
Available Providers:
ProviderDescriptionAccess
elevenlabsHigh-quality voice cloning and natural speechAll users
inworldEU-based TTS with natural Dutch voices (Katrien, Erik)All users
ElevenLabs Models:
ModelDescription
eleven_flash_v2_5Fastest, low-latency (default)
eleven_v3Expressive dialogue with audio tag support
eleven_multilingual_v2Best quality, multilingual
eleven_turbo_v2_5Balanced speed and quality
eleven_monolingual_v1English only
Eleven v3 Audio Tags: When using eleven_v3, the LLM can insert audio tags in square brackets to control the emotional delivery of speech. For example, [sad], [laughing], [whispering], [cheerfully], or [cautiously]. Structure your system prompt to instruct the LLM to insert these tags before or within sentences. Example: [cheerfully] Welcome back! How can I help you today?
Common Fields:
FieldDescription
providerTTS provider
voice_idVoice identifier (snake_case)
languageLanguage code (e.g., nl, en)
modelModel name (provider-specific)
ElevenLabs-specific:
FieldDescription
stabilityVoice consistency (0-1, default 0.5)
similarity_boostVoice similarity to original (0-1, default 0.75)
use_speaker_boostEnhance speaker clarity (boolean)
speedSpeech speed multiplier
styleSpeaking style intensity (0-1)

Assistant Properties#

PropertyTypeDescription
idUUIDUnique identifier (auto-generated)
namestringDisplay name for the assistant
business_namestringBusiness the assistant represents
notification_emailemailEmail for call notifications
first_messagestringInitial greeting when call starts
is_activebooleanWhether assistant can handle calls
voicemail_detectionbooleanAutomatically detect voicemail
voicemail_messagestringMessage to leave on voicemail
max_duration_secondsnumberMaximum call duration (null = unlimited)
autonomous_silence_handlingbooleanAuto-detect silence and prompt caller
webhook_urlURLEndpoint for webhook events
webhook_secretstringSecret for signature verification
webhook_eventsarrayEvents to send to webhook
analysis_planobjectPost-call analysis configuration

Creating an Assistant#

Only the name is required. All other fields have sensible defaults.
Minimal assistant:
Full assistant:
See Create a New Assistant for complete API documentation.

Updating an Assistant#

Use PATCH to update specific fields. Only provided fields are updated.
See Update an Assistant for details.

Deleting an Assistant#

When you delete an assistant, any phone numbers assigned to it will have their assistant_id set to null.
See Delete an Assistant for details.

Related#

List All Assistants
Get an Assistant
Phone Numbers - Assign assistants to phone numbers
Webhooks - Configure event notifications
Modified at 2026-03-17 10:59:50
Previous
Quickstart
Next
Calls
Built with