Call Bullet

Phone, SMS and voice agent API for developers

Call Bullet gives developers one scoped API key for UK phone numbers, call tracking, SMS with delivery receipts, AI voice agents and human click-to-call. Every guide below has copy-paste TypeScript against the documented endpoints and a ready-to-paste prompt for AI app builders, with honest steps from zero to a working result.

Last updated · Call Bullet

Developer guides

What can I build with the Call Bullet API?

You can add real UK telephony to an app without running your own carrier account: show tracked numbers, list calls with their marketing source, send texts with proof of delivery, create AI voice agents and let customers request a call back from a person.

Everything sits behind one base URL, https://callbullet.com/api/public/v1, and one bearer key that starts with cb_live_. Each key is scoped to the workspaces it may touch, and each product has its own permission, so a reporting dashboard never gains the power to send texts or place calls.

ProductReadWriteGuide
UK numbersnumbers:readBought in the app (identity checks)Add a UK phone number
Call trackingcalls:read, attribution:readSwap script on your siteAdd call tracking
Call logscalls:read, recordings:read—Show call logs
SMSsms:readsms:send, sms:webhooks:writeSend SMS
Delivery webhookssms:readsms:webhooks:writeReceive webhooks
AI voice agentsagents:read, agent_calls:readagents:write (drafts)Add an AI voice agent
Click-to-calloutbound_calls:readcalls:placeBuild click-to-call

How fast can I get a first result?

Most developers read their first API response within five minutes of creating a key. A simulated text with test: true takes another minute and costs nothing. Real-world steps take longer because UK rules require them, and the guides say so plainly:

  • UK numbers need business verification before activation, usually the same working day once documents are in.
  • SMS sender names are reviewed by Call Bullet, usually within one working day. Until then you can send free live tests to a verified mobile.
  • AI voice agents created through the API start as drafts. Testing, certification and billing are finished in Call Bullet before an agent takes real calls.
  • Click-to-call works as soon as you have an active outbound line with a staff phone set, inside UK calling hours.

How do I make my first API call?

Create a key under Integrations → Developer API in Call Bullet, save it as a server-side secret called CALL_BULLET_API_KEY, and add this helper. Every guide reuses it.

TypeScript · shared server helper
// lib/call-bullet.server.ts — server-only. Never import this in browser code.
const BASE = "https://callbullet.com/api/public/v1";

export async function cb<T>(path: string, init: RequestInit = {}): Promise<T> {
  const key = process.env.CALL_BULLET_API_KEY; // cb_live_… stored as a secret
  if (!key) throw new Error("CALL_BULLET_API_KEY is not set");
  const res = await fetch(BASE + path, {
    ...init,
    headers: { Authorization: `Bearer ${key}`, "Content-Type": "application/json", ...init.headers },
  });
  const body = await res.json();
  if (!res.ok) throw new Error(`${res.status} ${body.error?.code}: ${body.error?.message}`);
  return body as T;
}
TypeScript · list your workspaces
import { cb } from "./call-bullet.server";

const { data } = await cb<{ data: { id: string; name: string }[] }>("/workspaces");
console.log(data); // one entry per business the key can reach

Call the API only from server code, such as a server function or API route. A key in browser code can be copied by anyone who opens the page.

How do permissions keep the key safe?

Each product has read and write levels that you switch on per key. A key built for a call dashboard needs only workspaces:read and calls:read. A booking app that texts customers adds sms:send. The two most powerful writes, agents:write and calls:place, stay off even in the Everything preset, so they are only ever switched on deliberately.

Keys are stored only as hashes, shown once, and every request rechecks the workspace scope. See the scopes reference for the full list.

Can I paste one prompt into an AI app builder?

Yes. Each guide ends with a prompt you can paste into an AI app builder. This one connects any app to Call Bullet and stops before doing anything that costs money.

AI build prompt · connect to Call Bullet
Connect this app to the Call Bullet API.
- Docs: https://callbullet.com/developers/api.md and https://callbullet.com/openapi.json. Use only endpoints listed there.
- Ask me for my Call Bullet API key (starts cb_live_) and store it as the server secret CALL_BULLET_API_KEY. Never put it in browser code.
- Create one server helper that calls https://callbullet.com/api/public/v1 with Authorization: Bearer <key> and surfaces error.code and error.message.
- Call GET /workspaces and show me the result on a simple settings page.
- Do not send texts, create agents or place calls until I ask.

Which guide should I start with?

Pick the outcome you want first; each guide stands on its own.

The full reference lives at the Developer API docs, with an AI-readable copy at /developers/api.md and the OpenAPI file at /openapi.json.

Key takeaways

  • One scoped key covers numbers, calls, SMS, AI agents and click-to-call.
  • Call the API only from server code; keys are shown once.
  • Test sends are free; real numbers and senders go through UK checks first.
  • agents:write and calls:place are off unless switched on one by one.

Frequently asked questions

Is there a free way to try the API?

Yes. Read endpoints work as soon as you have a key, and SMS sends with test:true are simulated and free. Every workspace also starts with 25 SMS credits.

Can the API buy phone numbers?

No. Numbers are bought in Call Bullet because UK rules need business verification. The API then reads them.

Which languages are supported?

Any language that can make HTTPS requests. The guides use TypeScript with fetch.

Does it work with AI app builders?

Yes. Each guide includes a prompt you can paste into an AI app builder, pointing it at the documented endpoints.

What are the rate limits?

Call lists allow 600 requests a minute per key and other endpoints 120. A 429 response includes Retry-After.

Is it only for the UK?

Yes. Numbers, texts and calls are for UK businesses and UK phone numbers.

See which marketing makes your phone ring

Start with one UK tracking number or a full website pool. Every call is recorded, transcribed and traced back to its source.