Famulor Mid-Call Tools API
Mid-Call-Aktionen, die der Assistent während eines Gesprächs auslöst.
Mid-Call-Aktionen, die der Assistent während eines Gesprächs auslöst.
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-mid-call-tools-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 Mid-Call Tools 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: Mid-Call Tools
description: Mid-Call-Aktionen, die der Assistent während eines Gesprächs auslöst.
paths:
/user/tools:
post:
tags:
- Mid-Call Tools
summary: Create Mid-call Action
operationId: createMidCallAction
description: 'Create a new Mid-call Action for AI assistant integration
Docs'
externalDocs:
description: Create Mid-call Action
url: https://docs.famulor.io/api-v1/mid-call-tools/create-tool
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Mid-call Action name — letters, numbers and underscores, starting with a letter or underscore (max 64 characters, e.g. `get_weather`, `book_appointment`)
description:
type: string
description: Detailed explanation of when and how the AI should use this Mid-call Action (max 255 characters)
endpoint:
type: string
description: Valid URL of the API endpoint to call (max 2048 characters)
method:
type: string
description: 'HTTP method: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`'
body_format:
type: string
description: 'How the request body is encoded for write methods (POST/PUT/PATCH): `json` (default) or `form` (`application/x-www-form-urlencoded`)'
timeout:
type: integer
description: 'Request timeout in seconds (1-30, default: 10)'
headers:
type: array
description: HTTP headers to send with the request
items:
type: object
properties:
name:
type: string
description: Header name
value:
type: string
description: Header value (max 2048 chars; supports `{{variable}}` substitution)
required:
- name
- value
static_fields:
type: array
description: Fixed key/value pairs always sent with the request (the AI never changes them)
items:
type: object
properties:
key:
type: string
description: Field key (max 64 chars)
value:
type: string
description: Field value (max 2048 chars; supports `{{variable}}` substitution)
required:
- key
schema:
type: array
description: Parameters that the AI will extract from conversation and send to the endpoint
items:
type: object
properties:
name:
type: string
description: Parameter name (1-64 chars, must start with a letter or underscore, can contain letters, numbers and underscores)
type:
type: string
description: 'Parameter type: `string`, `number`, `float`, or `boolean`'
description:
type: string
description: Description to help AI understand how to extract this parameter (3-255 chars)
required:
type: boolean
description: Whether the AI must collect this parameter. Optional parameters are only sent when a value was collected. Defaults to `false`.
required:
- name
- type
- description
required:
- name
- description
- endpoint
- method
responses:
'201':
description: Created
content:
application/json:
example:
message: Tool created successfully
data:
id: 1
name: send_notification
description: Use this tool to send a notification to the customer. Call this when customer requests updates.
type: http
endpoint: https://api.yourcompany.com/notifications/send
method: POST
body_format: json
timeout: 15
headers:
- name: Content-Type
value: application/json
static_fields:
- key: caller
value: '{{customer_phone}}'
schema:
- name: message
type: string
description: The notification message to send
required: true
- name: send_sms
type: boolean
description: Whether to also send SMS notification
required: false
created_at: '2025-10-10T12:00:00.000000Z'
updated_at: '2025-10-10T12:00:00.000000Z'
schema:
type: object
properties:
message:
type: string
description: Success message
data:
type: object
description: The created Mid-call Action object
properties:
id:
type: integer
description: The unique identifier of the Mid-call Action
name:
type: string
description: The name of the Mid-call Action
description:
type: string
description: Mid-call Action description
type:
type: string
description: 'Mid-call Action type: `http` or `automation`'
endpoint:
type: string
description: API endpoint URL
method:
type: string
description: HTTP method
body_format:
type: string
description: 'Request body encoding: `json` or `form`'
timeout:
type: integer
description: Request timeout in seconds
headers:
type: array
description: HTTP headers
items: {}
static_fields:
type: array
description: Fixed key/value pairs always sent with the request
items: {}
schema:
type: array
description: Parameter schema
items: {}
created_at:
type: string
description: ISO 8601 timestamp
updated_at:
type: string
description: ISO 8601 timestamp
additionalProperties: true
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'422':
description: Unprocessable Entity
content:
application/json:
examples:
validation-error:
summary: Validation Error
value:
message: The name field format is invalid.
errors:
name:
- Tool name must contain only letters, numbers and underscores, and start with a letter or underscore.
plan-limit-reached:
summary: Plan Limit Reached
value:
message: You have reached your plan limit of 5 mid call tools. Please upgrade your plan to create more tools.
get:
tags:
- Mid-Call Tools
summary: List Mid-call Actions
operationId: listMidCallActions
description: 'Retrieve all Mid-call Actions available in your Famulor account via API. Useful for inventory, debugging and attaching actions to AI voice assistants.
Docs'
externalDocs:
description: List Mid-call Actions
url: https://docs.famulor.io/api-v1/mid-call-tools/get-tools
responses:
'200':
description: Response
content:
application/json:
example:
data:
- id: 1
name: get_weather
description: Use this tool to get the current weather in a specific city. Call this when the customer asks about weather conditions.
type: http
endpoint: https://api.openweathermap.org/data/2.5/weather?city={city}
method: GET
body_format: json
timeout: 10
headers:
- name: Content-Type
value: application/json
- name: Authorization
value: Bearer sk_...
static_fields: []
schema:
- name: city
type: string
description: The city name to get weather for
required: true
- name: days
type: number
description: Number of forecast days
required: false
created_at: '2025-10-10T12:00:00.000000Z'
updated_at: '2025-10-10T12:00:00.000000Z'
- id: 2
name: send_notification
description: Use this tool to send a notification to the customer. Call this when customer requests updates.
type: http
endpoint: https://api.yourcompany.com/notifications/send
method: POST
body_format: json
timeout: 15
headers:
- name: Content-Type
value: application/json
static_fields:
- key: caller
value: '{{customer_phone}}'
schema:
- name: message
type: string
description: The notification message to send
required: true
- name: send_sms
type: boolean
description: Whether to also send SMS notification
required: false
created_at: '2025-10-09T14:30:00.000000Z'
updated_at: '2025-10-10T09:15:00.000000Z'
schema:
type: object
properties:
data:
type: array
description: Array of Mid-call Actions
items:
type: object
properties:
id:
type: integer
description: The unique identifier of the Mid-call Action
name:
type: string
description: The name of the Mid-call Action
description:
type: string
description: Detailed explanation of when and how the AI should use this Mid-call Action
type:
type: string
description: 'Mid-call Action type: `http` or `automation`'
endpoint:
type: string
description: The API endpoint URL that will be called
method:
type: string
description: HTTP method (GET, POST, PUT, PATCH, DELETE)
body_format:
type: string
description: 'Request body encoding: `json` or `form`'
timeout:
type: integer
description: Request timeout in seconds (1-30)
headers:
type: array
description: HTTP headers to send with the request
items:
type: object
properties:
name:
type: string
description: Header name
value:
type: string
description: Header value
additionalProperties: true
static_fields:
type: array
description: Fixed key/value pairs always sent with the request
items:
type: object
properties:
key:
type: string
description: Field key
value:
type: string
description: Field value
additionalProperties: true
schema:
type: array
description: Parameters that the AI will extract and send to the endpoint
items:
type: object
properties:
name:
type: string
description: Parameter name
type:
type: string
description: Parameter type (string, number, float, boolean)
description:
type: string
description: Description to help AI understand how to extract this parameter
required:
type: boolean
description: Whether the AI must collect this parameter
additionalProperties: true
created_at:
type: string
description: ISO 8601 timestamp when the Mid-call Action was created
updated_at:
type: string
description: ISO 8601 timestamp when the Mid-call Action was last updated
additionalProperties: true
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/user/tools/{id}:
delete:
tags:
- Mid-Call Tools
summary: Delete Mid-call Action
operationId: deleteMidCallAction
description: 'Permanently remove a Mid-call Action from your Famulor account via API. Detaches the action from any AI voice assistant currently configured to use it.
Docs'
externalDocs:
description: Delete Mid-call Action
url: https://docs.famulor.io/api-v1/mid-call-tools/delete-tool
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Mid-call Action to delete
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
example:
message: Tool deleted successfully
schema:
type: object
properties:
message:
type: string
description: Success message confirming deletion
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
message: Tool not found
'422':
$ref: '#/components/responses/ValidationError'
get:
tags:
- Mid-Call Tools
summary: Get Mid-call Action
operationId: getMidCallAction
description: 'Retrieve detailed information about a specific Mid-call Action
Docs'
externalDocs:
description: Get Mid-call Action
url: https://docs.famulor.io/api-v1/mid-call-tools/get-tool
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Mid-call Action
schema:
type: integer
responses:
'200':
description: Response
content:
application/json:
example:
id: 1
name: get_weather
description: Use this tool to get the current weather in a specific city. Call this when the customer asks about weather conditions.
type: http
endpoint: https://api.openweathermap.org/data/2.5/weather?city={city}
method: GET
body_format: json
timeout: 10
headers:
- name: Content-Type
value: application/json
- name: Authorization
value: Bearer sk_...
static_fields: []
schema:
- name: city
type: string
description: The city name to get weather for
required: true
- name: days
type: number
description: Number of forecast days
required: false
created_at: '2025-10-10T12:00:00.000000Z'
updated_at: '2025-10-10T12:00:00.000000Z'
schema:
type: object
properties:
id:
type: integer
description: The unique identifier of the Mid-call Action
name:
type: string
description: The name of the Mid-call Action
description:
type: string
description: Detailed explanation of when and how the AI should use this Mid-call Action
type:
type: string
description: 'Mid-call Action type: `http` or `automation`'
endpoint:
type: string
description: The API endpoint URL that will be called
method:
type: string
description: HTTP method (GET, POST, PUT, PATCH, DELETE)
body_format:
type: string
description: 'Request body encoding: `json` or `form`'
timeout:
type: integer
description: Request timeout in seconds (1-30)
headers:
type: array
description: HTTP headers to send with the request
items:
type: object
properties:
name:
type: string
description: Header name
value:
type: string
description: Header value
additionalProperties: true
static_fields:
type: array
description: Fixed key/value pairs always sent with the request
items:
type: object
properties:
key:
type: string
description: Field key
value:
type: string
description: Field value
additionalProperties: true
schema:
type: array
description: Parameters that the AI will extract and send to the endpoint
items:
type: object
properties:
name:
type: string
description: Parameter name
type:
type: string
description: Parameter type (string, number, float, boolean)
description:
type: string
description: Description to help AI understand how to extract this parameter
required:
type: boolean
description: Whether the AI must collect this parameter
additionalProperties: true
created_at:
type: string
description: ISO 8601 timestamp when the Mid-call Action was created
updated_at:
type: string
description: ISO 8601 timestamp when the Mid-call Action was last updated
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
message: Tool not found
'422':
$ref: '#/components/responses/ValidationError'
put:
tags:
- Mid-Call Tools
summary: Update Mid-call Action
operationId: updateMidCallAction
description: 'Modify an existing Mid-call Action in Famulor via API. Update name, endpoint, parameters or description so AI voice agents call the right action.
Docs'
externalDocs:
description: Update Mid-call Action
url: https://docs.famulor.io/api-v1/mid-call-tools/update-tool
parameters:
- name: id
in: path
required: true
description: The unique identifier of the Mid-call Action to update
schema:
type: integer
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Mid-call Action name — letters, numbers and underscores, starting with a letter or underscore (max 64 characters)
description:
type: string
description: Detailed explanation of when and how the AI should use this Mid-call Action (max 255 characters)
endpoint:
type: string
description: Valid URL of the API endpoint to call (max 2048 characters)
method:
type: string
description: 'HTTP method: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`'
body_format:
type: string
description: 'Request body encoding for write methods: `json` (default) or `form`'
timeout:
type: integer
description: Request timeout in seconds (1-30)
headers:
type: array
description: HTTP headers to send with the request (replaces existing headers)
items:
type: object
properties:
name:
type: string
description: Header name
value:
type: string
description: Header value (supports `{{variable}}` substitution)
required:
- name
- value
static_fields:
type: array
description: Fixed key/value pairs always sent with the request (replaces existing static fields)
items:
type: object
properties:
key:
type: string
description: Field key (max 64 chars)
value:
type: string
description: Field value (max 2048 chars; supports `{{variable}}` substitution)
required:
- key
schema:
type: array
description: Parameters schema (replaces existing schema)
items:
type: object
properties:
name:
type: string
description: Parameter name (1-64 chars, starts with a letter or underscore)
type:
type: string
description: 'Parameter type: `string`, `number`, `float`, or `boolean`'
description:
type: string
description: Parameter description (3-255 chars)
required:
type: boolean
description: Whether the AI must collect this parameter (default `false`)
required:
- name
- type
- description
responses:
'200':
description: OK
content:
application/json:
example:
message: Tool updated successfully
data:
id: 1
name: send_notification
description: Use this tool to send a notification to the customer. Call this when customer requests updates.
type: http
endpoint: https://api.yourcompany.com/notifications/send
method: POST
body_format: json
timeout: 15
headers:
- name: Content-Type
value: application/json
static_fields:
- key: caller
value: '{{customer_phone}}'
schema:
- name: message
type: string
description: The notification message to send
required: true
- name: send_sms
type: boolean
description: Whether to also send SMS notification
required: false
created_at: '2025-10-10T12:00:00.000000Z'
updated_at: '2025-10-10T14:30:00.000000Z'
schema:
type: object
properties:
message:
type: string
description: Success message
data:
type: object
description: The updated Mid-call Action object with all current values
additionalProperties: true
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
message: Tool not found
'422':
description: Validation Error
content:
application/json:
example:
message: Validation failed
errors:
name:
- Tool name must contain only letters, numbers and underscores, and start with a letter or underscore.
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