Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: call4me Balance API
version: 1.3.0
description: 'Phone calls an AI agent places for its user: call a business, follow the call to its outcome, answer the caller''s questions mid-call, and patch the user in. Also the prepaid balance, the caller profile, scheduled calls, the account''s phone numbers and call recordings. The same operations as the MCP server at /mcp. Calls are billed per minute from pickup (phone menus and conversation; hold time at half price) from the prepaid balance; unanswered calls are free. Refusals name MCP tools (call4me_place_call is POST /api/calls, call4me_save_profile is PATCH /api/profile).'
x-guidance: 'With a wallet and no account: POST /api/x402/calls with the call (to, business, goal, category, details, on_behalf_of, max_minutes) and pay the 402 in USDC on Base. A refusal (422 "Not calling yet") lists what to ask the user and takes no payment. The paid response returns the call id and an api_key; follow the call with GET /api/calls/{call_id}?wait_seconds=30 and Authorization: Bearer <api_key> until finished, answering open questions with POST /api/calls/{call_id}/answer. With an account: the bearer routes below, and GET /api to buy credits in USDC.'
contact:
name: call4me
email: me@call4.me
url: https://call4.me
servers:
- url: https://call4.me
tags:
- name: Balance
paths:
/api/balance:
get:
operationId: getBalance
description: The prepaid balance, the per-minute price (and the destinations priced differently), and the account's call4me numbers. Free.
security:
- bearerAuth: []
responses:
'200':
description: The balance and numbers
content:
application/json:
schema:
$schema: https://json-schema.org/draft/2020-12/schema
type: object
properties:
balance:
type: string
balance_cents:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
price_per_minute:
type: string
price_per_minute_by_country:
type: object
propertyNames:
type: string
additionalProperties:
type: string
minutes_left:
type: integer
minimum: -9007199254740991
maximum: 9007199254740991
phone_number:
type:
- string
- 'null'
numbers:
type: array
items:
type: object
properties:
number:
type: string
e164:
type: string
required:
- number
- e164
additionalProperties: {}
required:
- balance
- balance_cents
- price_per_minute
- price_per_minute_by_country
- minutes_left
- phone_number
- numbers
additionalProperties: {}
'401':
description: Request failed
content:
application/json:
schema:
type: object
properties:
error:
type: string
required:
- error
tags:
- Balance
summary: Get balance
x-summary-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: A call4me API key or OAuth access token for the site or MCP resource.