Call2Me
DocsAPI Reference

API Documentation

Complete reference for the Call2Me REST API. Build voice AI agents, manage calls, and integrate with your applications.

Introduction

The Call2Me API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.

Base URL
https://api.call2me.app
Content Type
application/json
bash
# Example request
curl https://api.call2me.app/v1/agents \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"

Authentication

Call2Me uses a two-step authentication flow. First, log in to get a JWT token. Then create an API key for long-lived server-to-server access.

Getting Started Flow

1

Sign up & log in

POST /v1/auth/login with email/password → get JWT token

2

Create an API Key

POST /v1/api-keys with JWT → get sk_call2me_... key (or create from Dashboard)

3

Use API Key everywhere

All API calls: Authorization: Bearer sk_call2me_... — no JWT needed

JWT Token

Short-lived, for initial setup & dashboard

Authorization: Bearer eyJhbG...

Expires in 1 hour. Use refresh token to renew.

API Key (recommended)

Long-lived, for your backend integration

Authorization: Bearer sk_call2me_...

Create from Dashboard → API Keys, or via API with JWT.

Errors

Call2Me uses conventional HTTP response codes to indicate success or failure.

200OK - Request succeeded
201Created - Resource created successfully
400Bad Request - Invalid parameters
401Unauthorized - Missing or invalid authentication
402Payment Required - Insufficient balance
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
422Validation Error - Invalid request body
429Rate Limited - Too many requests
500Server Error - Internal server error
json
{
  "error": "validation_error",
  "message": "Invalid request parameters",
  "detail": {
    "field": "email",
    "reason": "Invalid email format"
  }
}

Rate Limiting

API requests are rate limited per user. Default limit is 600 requests per minute. Rate limit headers are included in every response.

X-RateLimit-Limit

Maximum requests per minute

X-RateLimit-Remaining

Remaining requests in current window

Retry-After

Seconds to wait when rate limited (429)

bash
# Rate limited response (HTTP 429)
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 0
Retry-After: 45

{"detail": "Rate limit exceeded. Please wait before retrying."}

Balance & Usage

Call2Me uses a prepaid wallet system. Voice calls, LLM, STT, and TTS usage is deducted from your balance in real-time. Outbound calls require a minimum balance of $0.01. Calls are automatically ended when balance runs out.

Auto-charge: Configure automatic top-up in Billing settings. When balance drops below your threshold, your saved payment method is charged automatically.

Authentication

JWT authentication and API key management

Ready to build?

Start building voice AI agents in minutes.