Loading...
Loading...
Build powerful VoIP applications with our comprehensive REST API. Complete documentation, code examples, and SDKs for popular programming languages.
Everything you need to integrate VoIP services into your applications
Enterprise-grade security with 99.9% uptime SLA and comprehensive rate limiting
RESTful API with JSON responses, webhooks, and official SDKs for popular languages
Full API coverage for calls, numbers, billing, users, and advanced VoIP features
Important: Keep your API keys secure. Never expose them in client-side code or public repositories.
Get up and running with the KCVoIP API in minutes
Generate your API key from the KCVoIP dashboard
// Your API key will look like this:
const apiKey = 'kc_live_1234567890abcdef';
Test your authentication with a simple API call
curl -X GET "https://api.kcvoip.com/v1/accounts" \
-H "Authorization: Bearer kc_live_1234567890abcdef" \
-H "Content-Type: application/json"
Parse the JSON response and handle errors appropriately
{
"status": "success",
"data": {
"id": "acc_123456",
"name": "Your Company",
"created_at": "2025-01-01T00:00:00Z"
}
}
Comprehensive REST API organized by functionality
API key management and authentication methods
Manage customer accounts and user profiles
Purchase, port, and manage phone numbers
Initiate, manage, and control voice calls
Usage tracking, invoicing, and payment processing
Real-time event notifications for your applications
Real-world examples to get you started quickly
Initiate an outbound call using the KCVoIP API
const response = await fetch('https://api.kcvoip.com/v1/calls', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
from: '+18165551234',
to: '+19135551234',
webhook_url: 'https://your-app.com/call-events'
})
});
const call = await response.json();
console.log('Call initiated:', call.id);
Find available phone numbers in a specific area code
import requests
url = 'https://api.kcvoip.com/v1/numbers/search'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'area_code': '816',
'limit': 10,
'type': 'local'
}
response = requests.post(url, headers=headers, json=data)
numbers = response.json()
for number in numbers['data']:
print(f"Available: {number['phone_number']}")
Process incoming webhook events from KCVoIP
<?php
// Verify webhook signature
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_KCVOIP_SIGNATURE'];
$expected = hash_hmac('sha256', $payload, $webhook_secret);
if (!hash_equals($signature, $expected)) {
http_response_code(401);
exit('Invalid signature');
}
$event = json_decode($payload, true);
switch ($event['type']) {
case 'call.completed':
// Handle completed call
$call_id = $event['data']['id'];
$duration = $event['data']['duration'];
break;
case 'number.ported':
// Handle number port completion
$number = $event['data']['phone_number'];
break;
}
http_response_code(200);
echo 'OK';
?>
Get started faster with our official software development kits
Official JavaScript/TypeScript SDK for Node.js applications
API usage limits to ensure fair access and optimal performance
Endpoint Category | Rate Limit | Status |
---|---|---|
Authentication | 100 requests/hour | Standard |
Account Management | 1,000 requests/hour | Standard |
Call Control | 500 requests/minute | Important |
Billing APIs | 100 requests/minute | Standard |
Number Search | 50 requests/minute | Limited |
Enterprise customers can request higher rate limits. Contact our support team to discuss your specific requirements.
Our Kansas City development team is here to help you build amazing VoIP applications
Free developer support • Dedicated team • Fast response times