Overview
The Barpel API is a RESTful interface that gives you full programmatic control over your AI voice support system. Use it to initiate outbound calls, query call history, retrieve analytics, look up orders, and manage webhook subscriptions.
https://api.barpel.ai/v1Authentication
All API requests must include a valid API key in the Authorization header. You can generate and manage API keys from your Barpel dashboard under Settings > API Keys.
Authorization: Bearer barpel_sk_live_xxxxxxxxxxxxPrefixed with barpel_sk_live_. Use in production to make real calls and access live data.
Prefixed with barpel_sk_test_. Use in development to simulate calls without charges.
Endpoints
Core API endpoints for managing calls, orders, analytics, and webhooks.
/api/callsStart an AI-powered outbound call to a customer for cart recovery, follow-ups, or notifications.
phone_numberrequiredpurposerequiredcontextlanguage/api/calls/:idRetrieve the current status, transcript, and metadata for a specific call.
idrequired/api/analyticsRetrieve aggregated analytics for calls, resolution rates, and customer satisfaction over a time range.
start_daterequiredend_daterequiredgranularity/api/orders/lookupSearch for an order by order number, email, or phone number. Returns order status and tracking info.
queryrequiredtype/api/webhooksSubscribe to real-time event notifications for calls, escalations, and order updates.
urlrequiredeventsrequiredsecretCode Examples
Quick-start examples for initiating an outbound cart recovery call.
curl -X POST https://api.barpel.ai/v1/calls \
-H "Authorization: Bearer barpel_sk_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+14155551234",
"purpose": "cart_recovery",
"context": {
"cart_items": ["Blue Running Shoes", "White T-Shirt"],
"cart_value": 89.99,
"customer_name": "Sarah"
}
}'Response
{
"id": "call_a1b2c3d4e5f6",
"status": "in_progress",
"phone_number": "+14155551234",
"purpose": "cart_recovery",
"started_at": "2026-03-15T14:30:00Z",
"duration": null,
"transcript": null,
"resolution": null,
"metadata": {
"cart_value": 89.99,
"customer_name": "Sarah"
}
}Rate Limits
API rate limits vary by plan. When you exceed your limit, the API returns a 429 Too Many Requests response with a Retry-After header.
| Plan | Rate Limit | Burst Limit |
|---|---|---|
| Starter | 100 requests/min | 20 requests/sec |
| Growth | 500 requests/min | 50 requests/sec |
| Scale | 2,000 requests/min | 200 requests/sec |
| Enterprise | Custom | Custom |
SDKs Coming Soon
Official client libraries for Node.js, Python, Ruby, and PHP are in development. Sign up to be notified when they launch.