Famulor AI Chatbot API
Chat-Konversationen für Web-Widget und Chatbot-Kanäle.
Chat-Konversationen für Web-Widget und Chatbot-Kanäle.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/famulor-io:famulor-io-ai-chatbot-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Famulor AI Chatbot API
summary: REST API für AI-Assistenten, Anrufe, Konversationen, Leads und omnichannel Kundenkommunikation.
description: 'Die Famulor Produkt-API unter `https://app.famulor.de/api`. Damit steuerst du
AI-Assistenten, startest und liest Anrufe, verwaltest Leads und Kampagnen,
versendest SMS und WhatsApp-Nachrichten, pflegst Wissensdatenbanken und
automatisierst Prozesse.
## Authentifizierung
Alle Endpunkte erwarten einen API-Key als Bearer-Token:
```
Authorization: Bearer YOUR_API_KEY
```
Den Key erstellst du in deinem Account unter im
Bereich API-Keys. Der Key wird nur einmal angezeigt.
## Webhooks
Famulor sendet Ereignisse (Post-Call, Conversation Ended, Read Receipts) an
deine URL. Die Payloads stehen im Abschnitt `webhooks` dieser Spec.
Diese Datei wird aus der offiziellen Dokumentation generiert:'
version: 1.0.0
contact:
name: Famulor Support
email: sales@famulor.io
url: https://www.famulor.io/support
license:
name: Proprietary
url: https://www.famulor.io/terms
termsOfService: https://www.famulor.io/terms
servers:
- url: https://app.famulor.de/api
description: Production
security:
- BearerAuth: []
tags:
- name: AI Chatbot
description: Chat-Konversationen für Web-Widget und Chatbot-Kanäle.
paths:
/conversations:
post:
tags:
- AI Chatbot
summary: Create conversation
operationId: createConversation
description: 'Start a new conversation session with a Famulor AI chatbot via API. Initialise context, user metadata and channel for WhatsApp, web chat or voice chat.
Docs'
externalDocs:
description: Create conversation
url: https://docs.famulor.io/api-v1/ai-chatbot/create-conversation
security: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
assistant_id:
type: string
description: UUID of the assistant that should handle the conversation
type:
type: string
description: 'Conversation type. Options: `widget` (paid) or `test` (free for development)'
default: widget
variables:
type: object
description: Custom variables injected into the assistant context (accessible via `{{variable_name}}`)
properties:
customer_name:
type: string
description: Name for greeting or personalization
company:
type: string
description: Company name to reference in replies
source:
type: string
description: Traffic or page source (e.g., `pricing_page`)
required:
- assistant_id
responses:
'200':
description: OK
content:
application/json:
examples:
success:
summary: Success
value:
status: true
conversation_id: 7c9e6679-7425-40de-944b-e07fc1f90ae7
history:
- role: assistant
content: Hello John Smith! Welcome to Acme Corp support. How can I help you today?
success-no-initial-message:
summary: Success (no initial message)
value:
status: true
conversation_id: 7c9e6679-7425-40de-944b-e07fc1f90ae7
history: []
schema:
type: object
properties:
status:
type: boolean
description: Indicates whether the request succeeded
conversation_id:
type: string
description: UUID of the created conversation; use it for subsequent messages
history:
type: array
description: Initial conversation history. Empty if the assistant has no initial message.
items:
type: object
properties:
role:
type: string
description: Message role (`assistant` or `user`)
content:
type: string
description: Message text content
additionalProperties: true
required:
- status
- conversation_id
additionalProperties: true
'400':
description: Insufficient Balance
content:
application/json:
example:
status: false
error: Insufficient balance. Please top up your account.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Assistant Not Found
content:
application/json:
example:
status: false
error: Assistant not found
'422':
$ref: '#/components/responses/ValidationError'
/conversations/{uuid}:
get:
tags:
- AI Chatbot
summary: Get conversation
operationId: getConversation
description: 'Retrieve full message history for an existing conversation
Docs'
externalDocs:
description: Get conversation
url: https://docs.famulor.io/api-v1/ai-chatbot/get-conversation
security: []
parameters:
- name: uuid
in: path
required: true
description: UUID of the conversation to retrieve
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
examples:
success:
summary: Success
value:
status: true
history:
- role: assistant
content: Hello! Welcome to our support. How can I help you today?
- role: user
content: I'd like to schedule a demo
- role: assistant
content: I'd be happy to help you schedule a demo! I have availability tomorrow at 2 PM or Thursday at 10 AM. Which works better for you?
function_calls:
- name: check_calendar_availability
arguments:
date_range: next_7_days
result:
available_slots:
- 2025-01-10 14:00
- 2025-01-12 10:00
- role: user
content: Thursday at 10 AM works for me
- role: assistant
content: I've scheduled your demo for Thursday, January 12th at 10 AM. You'll receive a calendar invitation shortly. Is there anything specific you'd like us to cover during the demo?
function_calls:
- name: book_appointment
arguments:
datetime: '2025-01-12T10:00:00'
title: Product Demo
result:
success: true
booking_id: abc123
variables:
user_name: Jane Smith
plan: premium
api-conversation-with-external-id:
summary: API Conversation with External ID
value:
status: true
history:
- role: assistant
content: Hi! I'm following up on your recent inquiry. How can I help you today?
- role: user
content: I wanted to know more about your enterprise plan
variables:
lead_id: '12345'
source: website
external_identifier: crm-lead-12345
whatsapp-conversation:
summary: WhatsApp Conversation
value:
status: true
history:
- role: user
content: Hi, I need help with my order
- role: assistant
content: Hello! I'd be happy to help you with your order. Could you please provide your order number?
variables: null
whatsapp_sender:
name: Acme Corp Support
phone: '+14155551234'
customer:
name: John Doe
phone: '+14155559876'
schema:
type: object
properties:
status:
type: boolean
description: Will be `false` when an error occurs
error:
type: string
description: 'Error message. Possible values:
* `Conversation not found` - The provided UUID does not match any conversation'
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
status: false
error: Conversation not found
'422':
$ref: '#/components/responses/ValidationError'
/conversations/{uuid}/messages:
post:
tags:
- AI Chatbot
summary: Send message
operationId: sendMessage
description: 'Send a user message to an existing conversation and receive the assistant''s response
Docs'
externalDocs:
description: Send message
url: https://docs.famulor.io/api-v1/ai-chatbot/send-conversation
security: []
parameters:
- name: uuid
in: path
required: true
description: UUID of the existing conversation
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: User message to send (max 2000 characters)
required:
- message
responses:
'200':
description: OK
content:
application/json:
examples:
success:
summary: Success
value:
status: true
message: I'd be happy to help you schedule a demo! I have availability on Monday at 2 PM, Wednesday at 10 AM, or Friday at 3 PM. Which time works best for you?
function_calls: []
success-with-function-calls:
summary: Success (with function calls)
value:
status: true
message: I found two slots. Which one do you prefer?
function_calls:
- name: check_calendar_availability
arguments:
date_range: next_week
result:
available_slots:
- 2025-01-10 14:00
- 2025-01-12 10:00
schema:
type: object
properties:
status:
type: boolean
description: Indicates whether the request succeeded
message:
type: string
description: Assistant's response text
function_calls:
type: array
description: Function calls executed during this message (empty if none)
items:
type: object
properties:
name:
type: string
description: Function name
arguments:
type: object
description: Arguments passed to the function
additionalProperties: true
result:
type: object
description: Return value from the function
additionalProperties: true
additionalProperties: true
required:
- status
- message
additionalProperties: true
'400':
description: Bad Request
content:
application/json:
examples:
insufficient-balance:
summary: Insufficient Balance
value:
status: false
error: Insufficient balance. Please top up your account.
processing-error:
summary: Processing Error
value:
status: false
error: 'Failed to process message: invalid tool output'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
status: false
error: Conversation not found
'422':
description: Validation Error
content:
application/json:
example:
status: false
error: message is required
components:
responses:
ValidationError:
description: Die Anfrage ist inhaltlich ungültig.
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationError'
example:
message: The given data was invalid.
errors:
phone_number:
- The phone number field is required.
Unauthorized:
description: Fehlender oder ungültiger API-Key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
message: Unauthenticated.
schemas:
ValidationError:
type: object
properties:
message:
type: string
errors:
type: object
description: Feldname → Liste der Fehlermeldungen.
additionalProperties:
type: array
items:
type: string
Error:
type: object
properties:
message:
type: string
description: Menschenlesbare Fehlermeldung.
error:
type: string
description: Fehlerkennung, sofern gesetzt.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'API-Key als Bearer-Token: `Authorization: Bearer YOUR_API_KEY`. Key erstellen unter https://app.famulor.de.'
externalDocs:
description: Famulor API-Dokumentation
url: https://docs.famulor.io/api-v1/introduction