Developer Tools

Build on top of Barpel. Integrate AI voice support into your existing workflows with our API, webhooks, and SDKs.

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.

REST API

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
API Endpoints
GET/v1/calls
GET/v1/calls/:id
POST/v1/agents
GET/v1/analytics
POST/v1/webhooks
GET/v1/transcripts/:id
Webhooks

Real-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 begins
call.completedFired when a call ends with full transcript data
call.transferredFired when AI transfers a call to a human agent
call.failedFired when a call fails or is dropped unexpectedly
agent.updatedFired when an AI agent configuration is modified
analytics.dailyDaily summary of call metrics and performance

Example Integration

webhook-handler.js
// 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);
SDKs

Official SDKs

Use our official SDKs for a faster integration experience with built-in type safety, error handling, and automatic retries.

JavaScript / TypeScript

Available
npm install @barpel/sdk

Python

Coming Soon
pip install barpel

Ruby

Coming Soon
gem install barpel

PHP

Coming Soon
composer require barpel/sdk

Join the developer community

Connect with other developers building on Barpel. Share integrations, get help, and shape the future of our API.

Power up your customer support

Get started in seconds — for free. No credit card required.