Developer Platform

Build with Famulor AI
in your own product

Full REST API for Voice Calls, WhatsApp AI, SMS, and Messaging — plus an MCP server, real-time webhooks, and dashboard embedding. Add AI communication to any product in minutes.

REST APIMCP ServerWebhooksOpenAPI 3.1SDKs

<50ms

API latency

99.9%

uptime SLA

5 APIs

channels

Free

to get started

API Explorer

One platform,
every channel

Famulor exposes a unified HTTP API plus webhooks and MCP tooling. Covers calls, assistants with knowledge bases, conversations and AI replies, WhatsApp Business, SMS, phone numbers & SIP, campaigns/leads — one intro page; browse the interactive reference after you skim the pillars below.

  • 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 — programmatic sends tied to Famulor phone numbers
  • Webhooks — post-call payload, conversation-ended, assistant toggles (signed)
  • MCP Server & Famulor Skill — connect Cursor, Claude, and other MCP hosts
Shell · Quick Start (cURL)
curl --request GET \
  --url https://app.famulor.de/api/user/calls \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
JavaScript · Voice API
// List your AI calls (User API)
const res = await fetch('https://app.famulor.de/api/user/calls', {
  headers: {
    Authorization: 'Bearer YOUR_API_TOKEN',
    Accept: 'application/json',
  },
})
const payload = await res.json()
// → Example: pagination + call records — see Calls / List in docs

What you can build

Webhooks

React to every call,
in real time

Famulor sends signed webhook events to your endpoint for every step of the call lifecycle. No polling needed — your backend instantly knows when a lead is qualified or a booking is confirmed.

call.started

Fired when the call connects

call.variable_extracted

AI has captured a key lead data point

call.completed

Call ended — outcome & transcript ready

appointment.created

Booking confirmed in your calendar

JavaScript · Express webhook handler
// Express webhook handler
app.post('/webhooks/famulor', (req, res) => {
  const sig  = req.headers['x-famulor-signature']
  const body = req.rawBody

  // Verify HMAC-SHA256 signature
  if (!verifySignature(body, sig, process.env.WEBHOOK_SECRET)) {
    return res.status(401).send('Unauthorized')
  }

  const { event, call_id, outcome, metadata } = req.body

  switch (event) {
    case 'call.completed':
      await crm.updateLead(metadata.lead_id, { status: outcome })
      break
    case 'appointment.created':
      await calendar.confirmBooking(req.body.appointment)
      break
  }
  res.sendStatus(200)
})

MCP Integration

Give your AI agent
a real phone line

Famulor ships a fully compliant MCP (Model Context Protocol) server. Connect it to Claude, GPT-4, or any MCP host — and let your AI agents make real phone calls, send WhatsApp messages, and manage leads autonomously.

stdio transport
SSE transport
OAuth 2.0 auth
Full tool schema
JavaScript · Claude + Famulor MCP
// Connect Famulor as an MCP server
import Anthropic from '@anthropic-ai/sdk'

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://mcp.famulor.io',
    headers:      { Authorization: 'Bearer YOUR_API_TOKEN' },
  }],
  messages: [{
    role:    'user',
    content: 'Call lead_001 and qualify them for the Pro plan.',
  }],
})

Compatible with

Claude (Anthropic)GPT-4 (OpenAI)Gemini (Google)CursorWindsurfClaude Code

Authentication

Secure by default

Every API request is authenticated with a scoped Bearer token. Webhook payloads are signed with HMAC-SHA256 so you can verify authenticity before processing.

  • Bearer token authentication — per-team, rotatable
  • Webhook HMAC-SHA256 signature verification
  • TLS encryption on all endpoints
  • IP allowlist support for enterprise plans
Shell + Python · Auth examples
# User API · Bearer token (see API Reference → Authentication)
curl --request GET \
  --url https://app.famulor.de/api/user/calls \
  --header 'Authorization: Bearer YOUR_API_TOKEN'

# Verify webhook signature in your handler
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)

Resources

Get Started

Ready to build?

Sign up for free and get your API key instantly. No credit card required for the trial — start making AI phone calls in under 5 minutes.