API Key Authentication
Simple, secure API key-based auth. Generate and rotate keys from your dashboard.
Rate Limiting
1,000 requests per minute on all plans. Higher limits available for enterprise.
RESTful Design
Standard REST conventions with JSON request and response bodies throughout.
Real-time Webhooks
Get instant notifications for call events. HMAC-signed payloads for security.
Full control via REST API
Access call records, manage AI agent configurations, retrieve analytics, and control every aspect of your Barpel setup programmatically.
View full API documentation/v1/calls/v1/calls/:id/v1/agents/v1/analytics/v1/webhooks/v1/transcripts/:idReal-time event notifications
Subscribe to webhook events and get instant notifications when calls start, end, transfer, or fail. All payloads are HMAC-signed for security.
Available Events
call.startedFired when an inbound or outbound call beginscall.completedFired when a call ends with full transcript datacall.transferredFired when AI transfers a call to a human agentcall.failedFired when a call fails or is dropped unexpectedlyagent.updatedFired when an AI agent configuration is modifiedanalytics.dailyDaily summary of call metrics and performanceExample Integration
// Express.js webhook handler
const express = require('express');
const crypto = require('crypto');
const app = express();
app.post('/webhooks/barpel', express.json(), (req, res) => {
// Verify webhook signature
const signature = req.headers['x-barpel-signature'];
const hmac = crypto
.createHmac('sha256', process.env.BARPEL_WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');
if (signature !== hmac) {
return res.status(401).json({ error: 'Invalid signature' });
}
const { event, data } = req.body;
switch (event) {
case 'call.completed':
console.log('Call completed:', data.call_id);
console.log('Duration:', data.duration, 'seconds');
console.log('Resolution:', data.resolution_status);
// Update your CRM, analytics, etc.
break;
case 'call.transferred':
console.log('Call transferred to human agent');
// Notify your support team
break;
}
res.status(200).json({ received: true });
});
app.listen(3000);Official SDKs
Use our official SDKs for a faster integration experience with built-in type safety, error handling, and automatic retries.
JavaScript / TypeScript
Availablenpm install @barpel/sdkPython
Coming Soonpip install barpelRuby
Coming Soongem install barpelPHP
Coming Sooncomposer require barpel/sdkJoin the developer community
Connect with other developers building on Barpel. Share integrations, get help, and shape the future of our API.