1. Reference
  • 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
    • Changelog
    • Error Codes
    • Rate Limits
    • Troubleshooting
  • Sdk
    • Node.js SDK
Documentation
API Reference
Documentation
API Reference
Book a meeting
Linkedin
Github
  1. Reference

Changelog

Changelog#

All notable changes to HMS Sovereign are documented here. Dates are in YYYY-MM-DD format.

2026-03-23#

Node.js SDK — v0.1.0 (initial release)#

Official TypeScript/Node.js SDK published at github.com/flireo-bv-org/hmsovereign-node.
Zero-dependency SDK using native fetch (Node 20+)
Typed resources for all API endpoints: assistants, calls, numbers, campaigns, SIP trunks, voices, usage, BYOK, tool templates, analysis templates, domains, organizations
Auto-pagination with for await...of on calls and usage
Webhook HMAC-SHA256 signature verification
Outbound calls with 3 config modes (reference, hybrid, transient)
Real-time call control (inject context, say, transfer, end)
Typed errors: AuthenticationError, NotFoundError, RateLimitError, InsufficientCreditsError
Debug mode for request/response logging
CI on Node 20 + 22, npm publish on GitHub Release

API#

New /v1/assistants endpoint — successor to the deprecated /v1/agents endpoint. Full CRUD support (list, get, create, update, delete) with the same capabilities.
Enforced snake_case response keys across all v1 API endpoints. Affected: tool-templates, analysis-templates, domains/sync. This is a breaking change if you consumed the previous camelCase keys (toolTemplates, analysisTemplates, selectedDomainId).

Dashboard#

Two-factor authentication (2FA) — TOTP-based MFA with security settings section
Whitelabel enterprise upsell — access gating and plan-based feature visibility

2026-03-17#

Dashboard#

Phone number ordering portal — order Dutch 085 numbers directly from the dashboard via Telnyx integration, with order tracking and pool management
Documentation overhaul — renamed "agents" to "assistants" across all docs, restructured guides, added sitemap

Agent#

Web call metadata passthrough — custom metadata from assistant_override is now included in all webhook payloads (status-update, tool-calls, end-of-call-report) at message.assistant.metadata

2026-03-10 — Provider expansion#

Agent#

Mistral STT (Voxtral) — added as speech-to-text provider (non-streaming). Streaming support pending upstream LiveKit plugin.
Inworld TTS — added as BYOK text-to-speech provider with per-voice language selection
GDPR-safe email notifications — notification emails now respect GDPR mode settings

Dashboard#

Mistral STT support — language selector and save logic for Voxtral configuration
Inworld TTS support — voice selection in agent configuration
Resend as BYOK provider — managed accounts can now bring their own Resend API key
Instant agent setup improvements — auto-generated analysis templates, notification email field, auto-link phone number to agent on creation
Developer mode toggle in settings

2026-03-09 — Infrastructure#

Agent#

Zero-downtime blue/green deployment — rolling deploys with drain timeout and restart-loop protection. Two systemd services (hms-agent-blue, hms-agent-green) replace the old single hms-agent service.
Per-call provider usage tracking — STT, LLM, and TTS usage metrics tracked via LiveKit UsageCollector for cost attribution

2026-03-04 — Web calls#

Agent#

Web calls (browser-based WebRTC) — users can now speak to an AI assistant directly from their browser. No phone number required. Calls appear in the dashboard with direction: "web".
Public web calls API (POST /v1/web-calls) — embeddable in any app. Supports all 3 config modes (reference, hybrid, transient). Returns a short-lived LiveKit JWT for browser connection.
White-label web calls — server_url field with rtc.* subdomain support for custom domains
Live transcription — real-time STT and TTS transcripts published via LiveKit text streams (lk.transcription topic), enabled by default
Multilingual turn detection — improved interruption handling and language-aware turn detection in the voice pipeline
Higher concurrency — idle worker pool increased from 5 to 50

Security#

Call control API routed through TLS via L4 Caddy proxy

2026-03-02 — Internationalization fixes#

Agent#

Language-aware summaries — post-call summaries now use the conversation language instead of defaulting to English
Language-aware analysis — structured post-call analysis respects the STT language setting
Language-aware transfers — transfer messages are generated in the conversation language
Async tool calls fixed — truly fire-and-forget using asyncio.create_task, no longer blocking the conversation

2026-02-25#

Agent#

Webhook URL override for hybrid/transient agents — agents with inline webhook config now correctly use their own webhook URL instead of the saved agent's
Per-tool URL extraction fix — tool-specific webhook URLs in OpenAI-format tool definitions are now correctly extracted

2026-02-12#

Agent#

Telnyx SIP trunk IP whitelist — added Telnyx IP ranges for inbound trunk authentication
Config error call logging — calls that fail due to configuration errors are now logged to the calls table with end_reason: "config_error"

2026-02-10 — Hetzner migration#

Infrastructure#

Orchestrator migrated to Hetzner — LiveKit, agent, and Piper moved from DigitalOcean to Hetzner CPX31 in Germany for lower latency and EU data residency
Self-hosted Supabase on Hetzner CPX41 — full stack (DB, Auth, REST, Realtime, Storage, Edge Functions) with daily backups
Recording URL signing — fixed for self-hosted Supabase S3-compatible storage

2026-02-08#

Agent#

xAI Grok as text LLM provider — uses the existing xai_secret_id BYOK key. Separate from xAI Realtime (speech-to-speech).
Configurable silence timeout — default reduced from 22s to 8s, configurable per-agent via silence_timeout_seconds

2026-02-05#

Agent#

Mistral AI as LLM provider — added with dedicated plugin for proper tool format support
GDPR mode — agent-level toggle for data retention control. When enabled, transcripts and recordings are not stored.
Modified at 2026-03-23 15:09:25
Previous
xAI Grok Integration
Next
Error Codes
Built with