Developer Platform

Intégrez Famulor AI dans votre produit

API REST pour les appels, WhatsApp, SMS et messagerie, plus serveur MCP, webhooks temps réel et tableau de bord. La communication IA dans n’importe quel produit, en quelques minutes.

calls.create.ts
POST /v1/calls
{
  "assistant_id": "front-desk",
  "to": "+1555010148"
}

→ 202 Accepted
{ "call_id": "call_9f2ac1" }
call.completed
Webhook delivered
MCP server online

0

canaux d'API

0

langues

3.1

spécification OpenAPI

Gratuit

pour commencer

API Explorer

Une plateforme, tous les canaux

Une API HTTP, des webhooks et MCP: appels, assistants, WhatsApp Business, SMS, numéros et SIP, campagnes et leads.

  • Appels & campagnes: cycle de vie sortant/entrant, statuts, intégrations
  • Assistants & bases de connaissances: prompts, voix, modèles, documents
  • Conversations & réponses IA: sessions de chat, messagerie, transfert à un humain
  • WhatsApp Business: expéditeurs, modèles, sessions dans la fenêtre de 24h
  • SMS : envois via API, conversations bidirectionnelles avec réponses IA, historique et réponses manuelles
  • Webhooks : payloads de fin d'appel, de fin de conversation et de réservation signés
  • Serveur MCP & Famulor Skill: connectez des hôtes IA compatibles MCP
Shell · Quick start (cURL)
curl --request GET \
  --url https://app.famulor.io/api/v1/calls \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
JavaScript · Voice API
// 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()
API en marque blanche

Votre plateforme. Vos clients.

Créez votre portail client. Ouvrez des comptes, gérez les accès et transférez des crédits par API. Votre domaine utilise les mêmes chemins API.

Lire la documentation
POST /api/v1/platform/users
curl 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"
  }'

Créer des comptes clients

Inscrivez vos clients avec leur workspace et consultez la synthèse de leur compte.

GET · POST /platform/usersGET /platform/users/{user_id}

Gérer les accès

Émettez des tokens, connectez un parcours de connexion et révoquez les accès au besoin.

POST /platform/users/{user_id}/tokenPOST /platform/users/loginPOST /platform/users/{user_id}/logout

Transférer des crédits

Déplacez des crédits entre votre solde revendeur et les comptes clients.

POST /platform/users/{user_id}/balance

Configurer les inscriptions

Pilotez les inscriptions, les valeurs prépayées et les crédits de bienvenue depuis votre logiciel.

GET · PATCH /platform/default-limitsGET · PATCH /platform/welcome-credits

Connecter votre domaine

Ajoutez votre domaine, obtenez les entrées DNS et vérifiez son activation par API.

GET · POST · DELETE /custom-domainPOST /custom-domain/verify

Gérer avec MCP

Connectez les outils de gestion des clients et des crédits à votre client IA.

/mcp?toolsets=platform

Pour les revendeurs avec API Access et un rôle Owner ou Admin. La gestion des clients utilise platform:read / platform:write ; les domaines, les scopes de paramètres adaptés.

Webhooks

Réagissez à chaque résultat, en temps réel

Des événements webhook vers votre endpoint dès qu’un appel ou une conversation se termine ou qu’une réservation arrive. Pas de polling : votre backend sait tout de suite si un lead est qualifié ou un rendez-vous confirmé.

call.completed

Appel terminé : résultat et transcription prêts

conversation.ended

Conversation e-mail ou messagerie terminée, avec transcription

booking.created

Réservation créée, signée en HMAC-SHA256

booking.rescheduled

Réservation déplacée, avec l’horaire précédent

webhook.payload.json
{
  "event": "call.completed",
  "call_id": "call_9f2ac1",
  "assistant": "front-desk",
  "outcome": "appointment_booked",
  "duration_seconds": 96
}
Intégration MCP

Donnez à votre agent IA une vraie ligne

Un serveur MCP hébergé pour Claude, ChatGPT, Cursor et d’autres hôtes, avec le plugin officiel Famulor dans ChatGPT et Codex. Vos agents passent des appels, envoient WhatsApp, gèrent des leads et interrogent Milian.

Endpoint HTTPS hébergé
OAuth 2.0 par workspace
Accord par groupe d’outils
Plugin ChatGPT et Codex
JavaScript · Claude + Famulor MCP
// 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 avec

Claude (Anthropic)ChatGPTCodexCursorWindsurfClaude Code
Famulor CLI

Toute l’API dans votre terminal

Chaque opération d’API en commande, avec une sortie JSON, tableau ou JSONL. Pour les scripts, la CI et les agents de code comme Claude Code ou Codex.

  • Clé API dans le trousseau système
  • --dry-run et confirmation avant chaque suppression
  • Schémas de commandes en JSON pour les agents
Shell · Famulor CLI
npm install -g famulor
famulor login
famulor list-assistants --output table
famulor create-call --assistant-id <id> --to-number +4930123456
Authentification

Sécurisé par défaut

Chaque requête API passe par un jeton Bearer : une clé API de workspace avec ses propres scopes et sa date d’expiration, ou un jeton OAuth 2.0. Les webhooks de réservation sont signés en HMAC-SHA256 : vous vérifiez l’authenticité avant traitement.

  • Clés API de workspace avec permissions et expiration propres
  • OAuth 2.0 avec PKCE pour les apps agissant pour un utilisateur
  • Signatures HMAC-SHA256 sur les webhooks de réservation
  • Chiffrement TLS sur tous les endpoints
Shell + Python · Auth examples
# 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)

Prêt à construire ?

Créez un compte gratuit et obtenez votre clé API en quelques minutes.