canonical: https://jentic.com/apis/hmsovereign.com/hmsovereign

# Hmsovereign HMS Sovereign API

The HMS Sovereign API manages AI voice agents end to end: it creates and configures assistants, registers phone numbers, places and controls outbound calls, and runs lead campaigns across them. It also exposes SIP trunks, usage logs, and per-organization settings so a voice program can be driven programmatically. Use it to stand up and operate automated phone calling without wiring each telephony piece by hand.

## For AI agents

Create and configure AI voice assistants, register phone numbers, place and control outbound calls, and run lead campaigns for an organization.

## Scope

Does not send email, process payments, or host a help desk. Use for AI voice assistants, phone numbers, calls, and outbound campaigns only.

## Capabilities

- Create and configure AI voice assistants and update their settings
- Register and manage the phone numbers used for inbound and outbound calls
- Place outbound calls and list call records with their status
- Send control commands to an active call
- Run outbound campaigns and manage the leads attached to them
- Configure SIP trunks for call routing
- Read usage logs for calls and assistants

## Use cases

### Outbound Voice Campaign

Run an automated calling campaign against a list of leads so each one is dialed by a configured voice assistant. The API creates a campaign, attaches leads to it, and places outbound calls from registered numbers. Sales and support teams use this to drive outbound phone outreach without a human dialing each number.

Example prompt: Create a campaign with POST /campaigns, add leads with POST `/campaigns/{id}/leads`, then place calls with POST `/calls/outbound.`

### Live Call Control

Act on a call while it is in progress, for example transferring or ending it based on what the conversation needs. The API lists calls and sends control commands to a specific active call by id. Operations teams use this to steer live calls from an external system rather than only reviewing them afterward.

Example prompt: List active calls with GET /calls, then POST `/calls/{id}/control` to transfer or end a specific call.

### Voice Assistant Provisioning

Stand up a new voice assistant and the phone number it answers on in one flow, instead of configuring them in separate places. The API creates an assistant with its settings and registers a phone number for the organization. Builders use this to provision calling capacity programmatically as they onboard new use cases.

Example prompt: POST /assistants to create a voice assistant, then POST /numbers to register a phone number for the organization.

### Agent-Orchestrated Calling

An AI agent sets up and places a phone call without a hand-built telephony client. Through Jentic the agent discovers the assistant, number, and call operations, loads their schemas, and chains them to dial a target. This lets an assistant initiate and track outbound calls directly from a higher-level task.

Example prompt: Search Jentic for 'place an outbound call', create an assistant with POST /assistants, register a number with POST /numbers, and dial with POST `/calls/outbound.`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/assistants` | List all assistants |
| POST | `/assistants` | Create a new assistant |
| POST | `/calls/outbound` | Initiate an outbound call |
| GET | `/calls` | List calls |
| POST | `/calls/{id}/control` | Send a control command to an active call |
| GET | `/numbers` | List all phone numbers |
| POST | `/numbers` | Register a phone number |
| GET | `/campaigns` | List all campaigns |

## Key resources

- **Assistants** — Create, read, update, and delete AI voice assistants and their settings
- **Numbers** — Register, read, update, and delete the phone numbers used for calls
- **Calls** — Place outbound calls, list and read call records, and send control commands
- **Campaigns** — Create campaigns and add or remove the leads attached to them
- **SIP Trunks and Usage** — Configure SIP trunks for routing and read usage logs

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 62 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 44 / 100
  - Developer Experience & Jentic Compatibility: 67 / 100
  - AI-Readiness & Agent Experience: 56 / 100
  - Agent Usability: 90 / 100
  - Security: 60 / 100
  - AI Discoverability: 79 / 100
- **View full report:** https://jentic.com/apis/hmsovereign.com/hmsovereign/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring HMS Sovereign by hand means handling its bearer auth, provisioning numbers, and sequencing the assistant, number, and call operations yourself. Through Jentic you install once, import HMS Sovereign from the API Directory, store the token once, and your agent calls those operations in order.
- **Permission scoping:** HMS Sovereign puts the assistant and call id in the URL path, such as `/assistants/{id}` and `/calls/{id}/control`, so a rule can pin your agent to one assistant's operations. You choose the operations it may call, so destructive ones like deleting a number or ending a call are not included unless you add them.
- **Credential handling:** Your HMS Sovereign bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place an outbound call' or 'create a voice assistant', and Jentic returns the matching HMS Sovereign operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Bland AI API** — AI phone-calling agents with programmable prompts
- **Retell AI API** — Voice agents with low-latency conversation handling
- **Telnyx API** — Programmable telephony, numbers, and SIP trunking

## FAQ

### Is there an HMS Sovereign MCP server?

You do not need an MCP server to give your agent the HMS Sovereign API. Jentic connects it directly from the API Directory: import HMS Sovereign, store your bearer token once, and your agent calls the assistant, number, and call endpoints. Operations are discovered on demand, so no extra server's tool definitions load into the agent's context.

### What authentication does the HMS Sovereign API use?

The HMS Sovereign API authenticates with a bearer token in the Authorization header, per its OpenAPI spec, and each key is scoped to a specific organization. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### Can I place and control calls with the HMS Sovereign API?

Yes. POST `/calls/outbound` initiates an outbound call, GET /calls lists call records, and POST `/calls/{id}/control` sends a control command to an active call. Each call is tied to an assistant you configure through the assistants endpoints.

### What are the rate limits for the HMS Sovereign API?

The HMS Sovereign spec documents 100 requests per minute per API key, with call control commands limited to 10 per minute per active call. The API returns standard HTTP status codes, so treat a 429 response as the signal to back off.

### How do I place an outbound call through Jentic?

Search Jentic with the query 'place an outbound call', load the schema for POST `/calls/outbound`, and execute it with the assistant and number to dial from. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the HMS Sovereign API?

Yes. Write a rule that allows only the read and outbound-call operations you need, such as GET /calls and POST `/calls/outbound`, so the agent can place and inspect calls but cannot delete assistants or numbers, and every call it makes is logged. Because assistant and call ids live in the URL path, you can confine the agent to one assistant's operations.
