0
API channels
0
languages
3.1
OpenAPI spec
Free
to get started
One platform, every channel
One HTTP API plus webhooks and MCP: calls, assistants, WhatsApp Business, SMS, numbers & SIP, campaigns and leads.
- Calls & campaigns: outbound/inbound lifecycle, statuses, integrations
- Assistants & knowledge bases: prompts, voices, models, KB documents
- Conversations & AI replies: chat sessions, messaging, takeover handoff
- WhatsApp Business: senders, templates, sessions within the 24h window
- SMS: API sends, two-way conversations with AI replies, history and manual replies
- Webhooks: post-call, conversation-ended and signed booking payloads
- MCP Server & Famulor Skill: connect MCP-compatible AI hosts
curl --request GET \
--url https://app.famulor.io/api/v1/calls \
--header 'Authorization: Bearer YOUR_API_TOKEN'// List your AI calls (User API)
const res = await fetch('https://app.famulor.io/api/v1/calls', {
headers: {
Authorization: 'Bearer YOUR_API_TOKEN',
Accept: 'application/json',
},
})
const payload = await res.json()Integrate in any stack
From a simple outbound call trigger to a full AI communication platform: the Famulor API adapts to your product.
Your platform. Your customers.
Build your own customer portal. Create accounts, manage access and transfer credits through the API. Your domain uses the same API paths.
Read the white-label docscurl https://your-domain.example/api/v1/platform/users \
--request POST \
--header "Authorization: Bearer $FAMULOR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"name": "Alex Example",
"email": "alex@customer.example",
"mode": "invite"
}'Create customer accounts
Register customers with their own workspace and retrieve their account overview.
GET · POST /platform/usersGET /platform/users/{user_id}Manage customer access
Issue customer tokens, connect a login flow and revoke access when needed.
POST /platform/users/{user_id}/tokenPOST /platform/users/loginPOST /platform/users/{user_id}/logoutTransfer credits
Move credits between your reseller balance and customer accounts.
POST /platform/users/{user_id}/balanceConfigure onboarding
Control registration, prepaid defaults and welcome credits from your software.
GET · PATCH /platform/default-limitsGET · PATCH /platform/welcome-creditsConnect your domain
Add your domain, receive DNS records and check activation through the API.
GET · POST · DELETE /custom-domainPOST /custom-domain/verifyManage through MCP
Connect customer management and credit tools to your AI client.
/mcp?toolsets=platformFor resellers with API Access and an Owner or Admin role. Customer management uses platform:read / platform:write; domains use the relevant settings scopes.
React to every outcome, in real time
Webhook events to your endpoint when a call or conversation ends or a booking comes in. No polling: your backend knows when a lead is qualified or a booking is confirmed.
call.completedCall ended: outcome & transcript ready
conversation.endedEmail or messaging conversation ended, with transcript
booking.createdBooking created, signed with HMAC-SHA256
booking.rescheduledBooking moved, with its previous start time
{
"event": "call.completed",
"call_id": "call_9f2ac1",
"assistant": "front-desk",
"outcome": "appointment_booked",
"duration_seconds": 96
}Give your AI agent a real phone line
A hosted MCP server for Claude, ChatGPT, Cursor and other hosts, plus the official Famulor plugin in ChatGPT and Codex. Your agents place calls, send WhatsApp, manage leads and ask Milian.
// Connect Famulor as an MCP server
const client = new Anthropic();
const response = await client.messages.create({
model: 'claude-opus-4-6',
max_tokens: 1024,
tools: [{
type: 'mcp',
server_label: 'famulor',
server_url: 'https://app.famulor.io/mcp',
headers: { Authorization: 'Bearer YOUR_API_TOKEN' },
}],
});Compatible with
The whole API in your terminal
Every API operation as a command, with JSON, table or JSONL output. For scripts, CI and coding agents like Claude Code or Codex.
- API key in your OS keychain
- --dry-run and a prompt before every delete
- Command schemas as JSON for agents
npm install -g famulor
famulor login
famulor list-assistants --output table
famulor create-call --assistant-id <id> --to-number +4930123456Secure by default
Every API request uses a Bearer token: a workspace API key with its own scopes and expiry, or an OAuth 2.0 token. Booking webhooks are signed with HMAC-SHA256 so you can verify authenticity before processing.
- Workspace API keys with their own permissions and expiry
- OAuth 2.0 with PKCE for apps acting for users
- HMAC-SHA256 signatures on booking webhooks
- TLS encryption on all endpoints
# Bearer token
curl --request GET \
--url https://app.famulor.io/api/v1/calls \
--header 'Authorization: Bearer YOUR_API_TOKEN'
# Verify a booking webhook signature (X-Famulor-Signature: sha256=<hex>)
import hmac, hashlib
def verify_signature(payload: bytes, sig: str, secret: str) -> bool:
expected = hmac.new(secret.encode(), payload, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, sig)