VoixCall

VoixCall for developers

Build with VoixCall

Connect an AI assistant or your own code to a VoixCall account. OAuth, /v1/me and the read endpoints are live on api.voixcall.com; the rest of the surface ships in dated, additive steps.

VoixCall lets people call phone numbers in 160+ countries from a browser or app at published per-minute rates, with their own verified number as caller ID, virtual numbers in 60 countries, an SMS inbox for receiving codes, and AI call summaries. Most paying users are abroad, calling US toll-free lines, banks and government offices that block foreign SIMs. The public API and the MCP server expose the user's own account to the assistants and apps they choose to connect: first who they are, then rates, balance, calls, contacts and numbers, later summaries, verification codes and hands-free calling where VoixCall rings the user's phone and bridges them abroad.

Live today production

  • OAuth 2.1 with PKCE (S256) at https://api.voixcall.com/oauth/authorize and /oauth/token, with refresh-token rotation and revocation. Clients register by Client ID Metadata Document or Dynamic Client Registration. Discovery at /.well-known/oauth-authorization-server.
  • GET /v1/me: the account the token or key acts for. OpenAPI 3.1 at api.voixcall.com/v1/openapi.json.
  • Read endpoints (since 2026-09-28): GET /v1/rates?to=, /v1/credits/balance, /v1/credits/transactions, /v1/calls, /v1/calls/{id}, /v1/contacts?q=, /v1/numbers and /v1/caller-id, each behind its read scope. Samples in the quickstart.
  • Call summaries, transcripts and text messages (since 2026-10-04): GET/POST /v1/calls/{id}/transcript, expand[]=transcript, GET /v1/messages and /v1/messages/threads on numbers the user opts in, each behind a sharing switch in Settings โ†’ Connected apps that is off by default. Transcript text is redacted before it is shared. See the changelog entry.
  • Scopes offered to connections: rates:read, credits:read, calls:read, calls:place, contacts:read, numbers:read, numbers:manage, transcripts:read, messages:read, messages:send, messages:history, webhooks:manage and voice:manage, as listed at /.well-known/oauth-protected-resource/mcp.
  • MCP server at https://api.voixcall.com/mcp. Read tools: rates, balance, contact search, call history, call details, numbers, voixcall_whoami, voixcall_get_call_summary and voixcall_read_messages. Calling tools: voice_start_call places an AI voice call and voice_get_call, voice_events_call, voice_end_call and voice_transfer_call follow it (all voice:manage); voixcall_quote_call, voixcall_place_call and voixcall_end_call ring the user's own phone and bridge them to a destination (calls:place). Agents start from skills.md. See the MCP page.
  • API keys (vc_live_ / vc_test_): the management endpoints exist, but the screen to create a key in Settings ships later, so there is no self-serve way to get one yet. Use OAuth in the meantime.
  • Rate limiting with RateLimit, RateLimit-Policy, X-RateLimit-* and Retry-After headers. See rate limits.
  • TypeScript SDK (since 2026-09-29): @voixcall/sdk, npm install @voixcall/sdk (Node 20+, ESM). Typed resources for every read endpoint, for await pagination, retries that honour Retry-After, automatic idempotency keys and typed errors. See the quickstart.

Coming next planned

Next: the Settings screen to create API keys, then webhooks. Each lands as an additive changelog entry.

What a connected app can see

Tokens act on the user's personal account only. Organization (team) calls, numbers and transcripts are never reachable through the public API or MCP, even for organization admins. Through the REST API an app can read what its scopes allow: rates, balance and credit history, call history (numbers, times, cost), contacts matching a search, virtual numbers and caller-ID settings; the MCP read tools expose the same data to assistants, and with voice:manage or calls:place an assistant can also place calls charged to the user's balance. Call summaries, transcripts and messages are readable only after the user turns on the matching sharing switch (both off by default). Details in privacy for connected apps.

Support and availability

Write to support@voixcall.com. Every response from api.voixcall.com carries a Request-Id header, and every error body repeats it as request_id. Include the Request-Id header value when you write: it is how we find your request in the logs.

Availability target: 99.9 % monthly availability for the API and the MCP server. This is a service-level objective, not a contractual guarantee; see the terms.

Security reports: /.well-known/security.txt.