Build your first verified voice agent
Learn how to make your first request through Cipher's Proxy Platform and connect your voice provider. The proxy is fully OpenAI-compatible and streams responses, so you can drop it into existing integrations.
Getting started
Follow these steps to integrate Cipher with your voice agent platform
Create an API key
Sign up for Cipher and create an API key in the Dashboard. Store it securely as an environment variable.
# Add to your environment
CIPHER_API_KEY=sk_live_your_key_hereConfigure your downstream model
Cipher forwards verified traffic to your preferred LLM provider and model. You can configure this in the dashboard, or via API:
curl -X POST https://api.getcipher.ai/proxy/model \
-H "Authorization: Bearer $CIPHER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "gpt-4o-mini"}'gpt-4o-mini, gpt-4o, and gemini-2.5-flash. Choose based on your latency and quality requirements.Make a test request
The proxy speaks OpenAI's Chat Completions API. Point your request at https://api.getcipher.ai/v1/chat/completions with your Cipher API key. If using phone verification, include the X-Office-Number header.
curl -N https://api.getcipher.ai/v1/chat/completions \
-H "Authorization: Bearer $CIPHER_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Office-Number: +14155551212" \
-d '{
"model": "gpt-4o-mini",
"stream": true,
"messages": [
{"role": "system", "content": "You are a helpful agent."},
{"role": "user", "content": "Say hello!"}
]
}'Connect your voice provider
Replace your provider's LLM URL with Cipher and keep streaming enabled. Use your Cipher API key as the bearer token.
Vapi Integration
- Create or edit an Assistant in Vapi
- Set LLM Provider to Custom/OpenAI-compatible
- Base URL:
https://api.getcipher.ai/v1 - Endpoint/Path:
/chat/completions - Auth:
Authorization: Bearer $CIPHER_API_KEY - (Optional) Header:
X-Office-Numberset to the caller's number

Vapi LLM configuration
ElevenLabs Agents Integration
- Open your Agent or Workspace settings in ElevenLabs
- Set the LLM provider to Custom/OpenAI-compatible
- Custom LLM URL:
https://api.getcipher.ai/v1/chat/completions - Auth:
Authorization: Bearer $CIPHER_API_KEY - (Optional) Header:
X-Office-Numberto enable phone verification

ElevenLabs LLM configuration
Troubleshooting
Common issues and how to resolve them
stream=true is passed in your request and your provider supports Server-Sent Events (SSE).Authorization: Bearer $CIPHER_API_KEY or the custom header x-cipher-api-key.X-Office-Number header with E.164 formatted numbers (e.g., +14155551212).Next steps
Vapi Setup →
Detailed guide for integrating Cipher with Vapi assistants
ElevenLabs Setup →
Step-by-step instructions for ElevenLabs agents integration
Platform Overview →
Learn more about Cipher's proxy architecture and features
MCP Platform →
Explore Model Context Protocol integration for advanced use cases