DocumentationAPI Reference
DocumentationAPI Reference
Book a meeting
Linkedin
Github
  1. Calls
  • Agents
    • List all agents
      GET
    • Create a new agent
      POST
    • Get an agent
      GET
    • Update an agent
      PATCH
    • Delete an agent
      DELETE
  • Tool Templates
    • List all tool templates
      GET
    • Create a new tool template
      POST
    • Get a tool template
      GET
    • Update a tool template
      PATCH
    • Delete a tool template
      DELETE
  • Numbers
    • List all phone numbers
      GET
    • Register a phone number
      POST
    • Get a phone number
      GET
    • Update a phone number
      PATCH
    • Delete a phone number
      DELETE
  • Calls
    • List calls
      GET
    • Get call by ID
      GET
    • Initiate outbound call
      POST
  • Call Control
    • Send control command to active call
      POST
  • Usage
    • Get usage logs
      GET
  • SIP Trunks
    • List SIP trunks
      GET
    • Create a SIP trunk
      POST
    • Get a SIP trunk
      GET
    • Delete a SIP trunk
      DELETE
  • Voices
    • List available voices
  • BYOK
    • Get BYOK configurations
    • Add BYOK configuration
    • Delete BYOK configuration
    • Get BYOK provider configurations
  • Domains
    • Get your domain
    • Add a domain
    • Delete your domain
    • List available Resend domains
    • Select and sync a Resend domain
    • Verify domain DNS records
    • Refresh domain status
  • Webhooks
    • Dynamic assistant configuration webhook
    • Tool/Function Call
    • Call Status Update
    • End of Call Report
  • Analysis Templates
    • List analysis templates
    • Create analysis template
    • Get analysis template
    • Update analysis template
    • Delete analysis template
  • Organization
    • Get organization information
    • Create organization
    • Get organization information (deprecated)
  • Campaigns
    • List all campaigns
    • Create a campaign
    • Get a campaign
    • Update a campaign
    • Delete a campaign
    • List campaign leads
    • Add a lead
    • Remove a lead
  • Schemas
    • Error
    • Pagination
    • UUID
    • Timestamp
    • SuccessResponse
    • STTConfig
    • LLMConfig
    • TTSConfig
    • XAIRealtimeConfig
    • Agent
    • AgentCreate
    • AgentUpdate
    • PhoneNumber
    • PhoneNumberCreate
    • PhoneNumberUpdate
    • Call
    • CallControlCommand
    • InjectContextCommand
    • SayCommand
    • EndCallCommand
    • TransferCommand
    • CallControlResponse
    • OutboundCallRequest
    • Account
    • UsageLog
    • OutboundCallResponse
    • UsageSummary
    • Organization
    • SipTrunk
    • SipTrunkCreate
    • OrganizationChild
    • Voice
    • OrganizationCreate
    • OrganizationCreated
    • AssistantRequestPayload
    • CallObject
    • Customer
    • AssistantRequestResponse
    • XAIRealtimeVoice
    • AssistantConfigOverride
    • AnalysisPlan
    • AssistantWebhookObject
    • ToolCallsPayload
    • ToolCall
    • ToolCallsResponse
    • StatusUpdatePayload
    • EndOfCallReportPayload
    • ToolDefinition
    • EndCallTool
    • TransferCallTool
    • WebhookHeaders
    • XAIRealtimeWebhookNotes
    • ToolFunctionConfig
    • ToolTransferConfig
    • ToolTemplate
    • ToolTemplateCreate
    • ToolTemplateUpdate
    • AnalysisTemplate
    • CreateAnalysisTemplate
    • UpdateAnalysisTemplate
    • AnalysisTemplateListResponse
    • CampaignLead
    • Campaign
    • CampaignCreate
    • CampaignUpdate
    • CampaignLeadCreate
DocumentationAPI Reference
DocumentationAPI Reference
Book a meeting
Linkedin
Github
  1. Calls

Initiate outbound call

POST
https://api.hmsovereign.com/api/v1/calls/outbound
Calls
Last modified:2026-01-30 13:43:45
Maintainer:Jesper Rietbergen
Initiate an outbound call from an AI agent to a destination phone number.
Phone Number Selection (Important for Resellers):
You can specify which phone number to call from using the number_id parameter. This is highly recommended for:
Resellers: Ensure calls are made from numbers dedicated to specific clients
Branding: Always use the same caller ID for recognition
Compliance: Meet legal requirements for specific numbers
Local presence: Use local numbers for better answer rates
If number_id is not provided, the system will automatically select an available number from your organization's pool, which may not be appropriate for reseller scenarios where numbers are client-specific.
Three Usage Modes:
1.
Reference Mode (agent_id)
Reference an existing agent from your dashboard
Uses the agent's pre-configured settings
Simplest option for standard calls
2.
Transient Mode (agent)
Create a one-time agent configuration without saving
Full control over STT/LLM/TTS configuration
Perfect for personalized or context-specific calls
3.
Hybrid Mode (agent_id + agent_override)
Reference a saved agent as the base
Override specific fields (e.g., first_message, llm_config.messages)
Best for personalization while keeping base config
⚠️ Deprecated: agent_config is deprecated. Use agent instead for transient configurations.
Use Cases:
Appointment reminders with personalized greetings
Customer follow-ups with dynamic context
Survey calls with specific question flows
Delivery notifications
Payment reminders with account-specific details
Configuration Notes:
When using xai_realtime provider, omit stt_config and tts_config (handled internally)
For other providers (openai, anthropic, groq), both stt_config and tts_config are required
The call will be initiated immediately and the response will include a call_id to track progress
Response Time: Your call will typically connect within 2-5 seconds.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Outbound call initiated successfully
Body

🟠400
🟠404Unauthorized
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location --request POST 'https://api.hmsovereign.com/api/v1/calls/outbound' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "destination": "+31612345678",
    "agent_id": "17a0cb75-fa09-4bdd-9a44-92a70d829c88"
}'
Response Response Example
200 - Example 1
{
    "success": true,
    "call_id": "call-outbound-abc123",
    "status": "dialing"
}
Modified at 2026-01-30 13:43:45
Previous
Get call by ID
Next
Send control command to active call
Built with