Comprehensive REST API

Full API coverage for every platform feature. If you can do it in the UI, you can automate it via API.

API Terminal

API Architecture

  • RESTful design with GraphQL support
  • OpenAPI specification for automatic client generation
  • Webhook system for event-driven architectures
  • Idempotent operations for safe retries
  • Pagination and filtering on all list endpoints
Example Endpoints
GET    /api/v1/agents              # List all agents
POST   /api/v1/agents              # Create agent
GET    /api/v1/agents/{id}         # Get agent details
PUT    /api/v1/agents/{id}         # Update agent
DELETE /api/v1/agents/{id}         # Delete agent
POST   /api/v1/calls               # Initiate call
GET    /api/v1/calls/{id}          # Get call details
GET    /api/v1/analytics           # Query analytics
description

OpenAPI Spec

Auto-generate clients in any language from our OpenAPI specification.

terminal

Interactive Explorer

Test API calls directly from documentation with live responses.

speed

<100ms Response

P95 response time under 100ms. Built for real-time applications.

all_inclusive

1000 req/sec

Standard rate limits with higher tiers available for enterprise.

Official SDKs

Native libraries for your language of choice. Get started in minutes.

🐍

Python

pip install arkade

Node.js

npm install @arkade/sdk
🔵

Go

go get github.com/arkade-ai/arkade-go
💎

Ruby

gem install arkade
🐘

PHP

composer require arkade/arkade-php
Create and Start a Call
import arkade

client = arkade.Client(api_key="sk_live_abc123...")

# Create and start a call
call = client.calls.create(
    agent_id="agt_xyz789",
    to_number="+14155551234",
    variables={
        "customer_name": "John Doe",
        "order_id": "12345"
    }
)

print(f"Call initiated: {call.id}")

Webhooks & Events

Real-time event notifications for event-driven architectures.

Available Events

call.initiated When a call starts dialing
call.connected When call is answered
call.completed When call ends successfully
call.failed When call fails to connect
agent.deployed When agent goes live
test.completed When test session finishes
quota.warning Approaching usage limits
quota.exceeded Usage limit reached
Example Webhook Payload
{
  "event": "call.completed",
  "timestamp": "2026-01-26T10:30:00Z",
  "data": {
    "call_id": "call_abc123",
    "agent_id": "agt_xyz789",
    "duration": 180,
    "outcome": "success",
    "transcript": "...",
    "sentiment": 0.82,
    "intent": "product_purchase"
  }
}
tune

Configurable

Choose exactly which events to receive

replay

Auto Retry

Automatic retries with exponential backoff

verified_user

Signed

HMAC signatures for verification

bug_report

Debuggable

Delivery logs and test tools

Developer Tools

Everything you need to build, test, and debug your integrations.

explore

API Explorer

Interactive API testing directly in the browser. Try requests, see responses, copy code.

science

Sandbox Environment

Full-featured test environment. Simulated calls, test numbers, no charges.

collections_bookmark

Postman Collection

Pre-built Postman collection with every endpoint. Import and start testing.

auto_fix_high

Code Generation

Generate API clients in 6+ languages from OpenAPI spec.

live_tv

Webhook Debugger

Real-time webhook delivery monitoring. See payloads, debug failures.

analytics

Usage Dashboard

Real-time API usage metrics. Track calls, latency, and errors.

Ready to Build?

Get API access and start building voice AI applications today.