Build With the AnrizVoIP API
RESTful APIs to manage tenants, agents, campaigns, calls, CDRs, IVRs, and every aspect of your contact center programmatically. Real-time webhooks for event-driven architectures.
https://api.anrizvoip.com/v1Quick Start
Get Your API Key
Navigate to Settings > API Keys in your admin dashboard. Generate a new key and store it securely.
Make Your First Call
Use the API key in the X-API-Key header to authenticate. Start with GET /v1/tenants to verify access.
Set Up Webhooks
Subscribe to real-time events via POST /v1/webhooks. Receive call, agent, and campaign notifications instantly.
Authenticate Your Requests
All API requests require authentication. Choose between API Key authentication for server-side integrations or JWT tokens for session-based access.
API Key Authentication
RecommendedUse your API key in the X-API-Key header for server-to-server integrations. Best for backend services and automated workflows.
curl -X GET https://api.anrizvoip.com/v1/tenants \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json"Bearer Token (JWT)
Session-BasedAuthenticate via the /auth/token endpoint to receive a JWT. Pass it as a Bearer token. Best for frontend apps and session-based access.
curl -X POST https://api.anrizvoip.com/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "your_password"}'
# Response: { "token": "eyJhbG...", "expires_in": 3600 }
curl -X GET https://api.anrizvoip.com/v1/agents \
-H "Authorization: Bearer eyJhbG..."API Endpoints
Complete reference for all available endpoints organized by resource type. Click any group to expand its endpoint list.
Tenants
Create, manage, and configure tenants in a multi-tenant environment.
/v1/tenantsAdmin/v1/tenantsAdmin/v1/tenants/{id}Admin/v1/tenants/{id}Admin/v1/tenants/{id}Admin/v1/tenants/{id}/statsAdminAgents & Users
Manage agents, supervisors, and admin users within tenants.
Campaigns
Create and manage inbound, outbound, and blended calling campaigns.
Calls & Dialer
Initiate calls, manage active calls, and control the dialer engine.
Leads & Contacts
Manage lead lists, import contacts, and handle DNC lists for campaigns.
IVR & Call Routing
Manage IVR flows, ring groups, queues, and time-based routing rules.
CDR & Analytics
Access call detail records, real-time metrics, agent performance data, and campaign analytics.
SIP Trunks & DIDs
Configure SIP trunk connections, manage DIDs, and route inbound calls.
Webhooks & Events
Subscribe to real-time event notifications for calls, agents, campaigns, and system events.
Copy, Paste, Ship
Production-ready code examples for the most common API operations. Copy the code and start integrating in minutes.
curl -X POST https://api.anrizvoip.com/v1/agents \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "John Smith",
"email": "john@company.com",
"extension": "1001",
"role": "agent",
"campaigns": ["campaign_abc123"],
"skills": ["english", "sales"],
"max_concurrent_calls": 1
}'
# Response (201 Created):
{
"id": "agent_xyz789",
"name": "John Smith",
"extension": "1001",
"status": "offline",
"created_at": "2026-04-03T10:30:00Z"
}Webhook Events
Subscribe to events and receive real-time HTTP POST notifications to your endpoint whenever something happens in the platform.
| Event | Description |
|---|---|
call.started | Fired when a new call is initiated (inbound or outbound) |
call.answered | Fired when a call is answered by an agent or endpoint |
call.ended | Fired when a call ends, includes duration and disposition |
call.transferred | Fired when a call is transferred to another agent or queue |
agent.login | Fired when an agent logs into the system |
agent.logout | Fired when an agent logs out or is automatically logged out |
agent.status_change | Fired when agent status changes (Available, Busy, Paused, etc.) |
campaign.started | Fired when a campaign is started |
campaign.completed | Fired when all leads in a campaign have been processed |
lead.disposition | Fired when a lead is dispositioned after a call |
Example Webhook Payload
{
"event": "call.ended",
"timestamp": "2026-04-03T10:35:00Z",
"data": {
"call_id": "call_def456",
"direction": "outbound",
"from": "+14155551234",
"to": "+14155559876",
"duration": 245,
"disposition": "answered",
"agent_id": "agent_xyz789",
"agent_name": "John Smith",
"campaign_id": "campaign_abc123",
"recording_url": "https://storage.anrizvoip.com/recordings/call_def456.mp3",
"hangup_cause": "normal_clearing"
},
"signature": "sha256=a1b2c3d4e5f6..."
}Client Libraries
Official SDKs in popular languages to accelerate your integration. Type-safe, well-documented, and maintained by our engineering team.
JavaScript / Node.js
npm install @anrizvoip/sdkPython
pip install anrizvoipPHP
composer require anrizvoip/sdkGo
go get github.com/anrizvoip/go-sdkRate Limits
| Plan | Limit | Burst |
|---|---|---|
| Standard | 1,000 requests/min | 50 requests/sec |
| Professional | 5,000 requests/min | 200 requests/sec |
| Enterprise | Custom | Custom |
Rate limit headers are included in every response: X-RateLimit-Remaining
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | OK Request succeeded |
201 | Created Resource created successfully |
400 | Bad Request Invalid request body or parameters |
401 | Unauthorized Missing or invalid API key / token |
403 | Forbidden Insufficient permissions for this resource |
404 | Not Found Resource does not exist |
409 | Conflict Resource already exists or state conflict |
429 | Rate Limited Too many requests, retry after cooldown |
500 | Server Error Internal server error, contact support |
Ready to Integrate?
Get your API key from the admin dashboard and start building. Our engineering team is available for integration support.