1. reference
VoiceDock
  • introduction
  • configuration
    • analysis-templates
    • custom-tools
    • sip-trunks
    • tool-templates
  • core-concepts
    • assistants
    • calls
    • phone-numbers
    • webhooks
  • features
    • ai-generation
    • autonomous-silence-handling
    • call-analysis
    • call-transfers
    • campaigns-setup
    • campaigns
    • privacy-compliance
    • voicemail-detection
    • web-calls
  • get-started
    • authentication
    • quickstart
  • guides
    • data-processing-agreement
  • integrations
    • byok-setup
    • mcp-server
    • provider-pricing
    • xai-grok-integration
  • platform
    • billing
    • dashboard-security
    • eu-data-sovereignty
    • privacy-policy
    • voice-selection-psychology
    • whitelabel
  • reference
    • error-codes
    • rate-limits
    • troubleshooting
  • sdks
    • node
  • webhooks
    • assistant-request
    • end-of-call-report
    • overview
    • security
    • status-update
    • tool-calls
Book a meeting
Linkedin
Github
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
  1. reference

rate-limits

HMS Sovereign applies rate limits to ensure fair usage and maintain service quality for all users.

Current Limits#

Limit TypeRateScope
API Requests100 requests/minutePer API key
Call Control10 commands/minutePer active call

Rate Limit Headers#

Every API response includes headers to help you track your usage:
HeaderDescription
X-RateLimit-LimitMaximum requests allowed
X-RateLimit-RemainingRequests remaining in current window
X-RateLimit-ResetUnix timestamp when the limit resets

Exceeding the Limit#

When you exceed the rate limit, the API returns:
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1702479600
Retry-After: 45
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Please retry after 45 seconds."
  }
}

Best Practices#

1. Monitor Rate Limit Headers#

Check headers before making requests:

2. Implement Exponential Backoff#

When you receive a 429 response:

3. Cache Responses#

Cache data that doesn't change frequently:

4. Batch Operations#

Instead of multiple individual requests, use batch-friendly patterns:

5. Use Webhooks for Real-Time Data#

Instead of polling for call status, use webhooks:
{
  "webhook_url": "https://your-domain.com/webhook",
  "webhook_events": ["status-update", "end-of-call-report"]
}

Call Control Limits#

Call control commands have a separate limit of 10 commands per minute per active call. This prevents abuse while allowing normal interaction patterns.
Examples that count toward the limit:
inject-context
say
end-call
transfer

Higher Limits#

If you need higher rate limits for your use case, contact support@hmsovereign.com with:
Your organization ID
Expected request volume
Use case description

Related#

Authentication
Error Codes
Call Control API
Modified at 2026-05-04 13:09:53
Previous
error-codes
Next
troubleshooting
Built with