Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/famulor-io:famulor-io-leads-api"
All apis
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.
Get an API 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 Specification
openapi: 3.2.0
info:
title: Famulor Leads 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: Leads
description: Leads anlegen, aktualisieren und auflisten.
paths:
/user/lead:
post:
tags:
- Leads
summary: Create lead
operationId: createLead
description: 'Add a new lead to your Famulor outbound calling campaign via API. Submit contact information, custom variables and trigger AI voice agent calls.
Docs'
externalDocs:
description: Create lead
url: https://docs.famulor.io/api-v1/leads/create
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
phone_number:
type: string
description: 'Contact phone number in E.164 format (example: +1234567890)'
campaign_id:
type: integer
description: The campaign ID where this lead should be added
variables:
type: object
description: Custom data fields to associate with this lead
properties:
customer_name:
type: string
description: Customer's full name
email:
type: string
description: Customer's email address
allow_dupplicate:
type: boolean
description: 'Permit creating duplicate leads within the same campaign (default: false)'
secondary_contacts:
type: array
description: Additional contact persons linked to this lead
items:
type: object
properties:
phone_number:
type: string
description: Secondary contact's phone number in E.164 format
variables:
type: object
description: Custom variables for the secondary contact
properties:
customer_name:
type: string
description: Secondary contact's name
email:
type: string
description: Secondary contact's email
required:
- phone_number
required:
- phone_number
- campaign_id
responses:
'200':
description: Response
content:
application/json:
example:
message: Lead created successfully
data:
id: 1
campaign_id: 1
phone_number: '+1234567890'
variables:
customer_name: John Doe
email: john.doe@example.com
status: created
created_at: '2025-06-30 11:53:20'
updated_at: '2025-06-30 11:53:20'
campaign:
id: 1
name: My new campaign
secondary_contacts:
- id: 2
phone_number: '+1234567891'
variables:
customer_name: Jane Doe Secondary
email: jane.doe.secondary@example.com
status: created
created_at: '2025-06-30 11:53:20'
updated_at: '2025-06-30 11:53:20'
- id: 3
phone_number: '+1234567892'
variables:
customer_name: Bob Doe Office
email: bob.doe.office@example.com
status: created
created_at: '2025-06-30 11:53:20'
updated_at: '2025-06-30 11:53:20'
schema:
type: object
properties:
message:
type: string
description: Success confirmation message
data:
type: object
description: The created lead object with all associated data
properties:
id:
type: integer
description: Unique identifier for the new lead
campaign_id:
type: integer
description: Campaign identifier this lead is assigned to
phone_number:
type: string
description: Lead's contact number in E.164 format
variables:
type: object
description: Custom variables stored with the lead
properties:
customer_name:
type: string
description: Customer's name
email:
type: string
description: Customer's email address
additionalProperties: true
status:
type: string
description: Current lead status
created_at:
type: string
description: Creation timestamp
updated_at:
type: string
description: Last modification timestamp
campaign:
type: object
description: Campaign details for this lead
properties:
id:
type: integer
description: Campaign identifier
name:
type: string
description: Campaign name
additionalProperties: true
secondary_contacts:
type: array
description: List of secondary contacts created with this lead
items:
type: object
properties:
id:
type: integer
description: Secondary contact identifier
phone_number:
type: string
description: Secondary contact phone number in E.164 format
variables:
type: object
description: Variables for the secondary contact
additionalProperties: true
status:
type: string
description: Secondary contact status
created_at:
type: string
description: Secondary contact creation timestamp
updated_at:
type: string
description: Secondary contact last update timestamp
additionalProperties: true
additionalProperties: true
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/user/leads:
get:
tags:
- Leads
summary: List Leads
operationId: listLeads
description: 'Retrieve a paginated list of all leads for the authenticated Famulor account via API. Filter, sort and access contact details for voice agent campaigns.
Docs'
externalDocs:
description: List Leads
url: https://docs.famulor.io/api-v1/leads/list
parameters:
- name: status
in: query
required: false
description: 'Filter leads by status. Possible values: `created`, `scheduled`, `processing`, `completed`, `rescheduled`, `reached-max-retries`, `blacklisted`'
schema:
type: string
enum:
- created
- scheduled
- processing
- completed
- rescheduled
- reached-max-retries
- blacklisted
- name: campaign_id
in: query
required: false
description: Filter leads by campaign ID
schema:
type: integer
- name: phone_number
in: query
required: false
description: Filter leads by phone number (partial match supported)
schema:
type: string
- name: date_from
in: query
required: false
description: Filter leads created from this date (`YYYY-MM-DD` format)
schema:
type: string
- name: date_to
in: query
required: false
description: Filter leads created until this date (`YYYY-MM-DD` format)
schema:
type: string
- name: per_page
in: query
required: false
description: Number of leads per page (`1-100`)
schema:
type: integer
default: 15
- name: page
in: query
required: false
description: Page number
schema:
type: integer
default: 1
responses:
'200':
description: Response
content:
application/json:
example:
current_page: 1
data:
- id: 1
campaign_id: 1
phone_number: '+1234567890'
variables:
customer_name: John Doe
email: john.doe@example.com
status: created
created_at: '2025-06-30 11:18:04'
updated_at: '2025-06-30 11:18:04'
campaign:
id: 1
name: My new campaign
secondary_contacts:
- id: 2
phone_number: '+1234567899'
variables:
customer_name: Jane Doe Secondary
email: jane.doe.secondary@example.com
status: created
created_at: '2025-06-30 11:18:04'
updated_at: '2025-06-30 11:18:04'
first_page_url: https://app.famulor.de/api/user/leads?page=1
from: 1
last_page: 10
last_page_url: https://app.famulor.de/api/user/leads?page=10
links:
- url: null
label: '« Previous'
active: false
- url: https://app.famulor.de/api/user/leads?page=1
label: '1'
active: true
- url: https://app.famulor.de/api/user/leads?page=2
label: '2'
active: false
next_page_url: https://app.famulor.de/api/user/leads?page=2
path: https://app.famulor.de/api/user/leads
per_page: 15
prev_page_url: null
to: 15
total: 150
schema:
type: object
properties:
data:
type: array
description: List of leads
items:
type: object
properties:
id:
type: integer
description: The ID of the lead
campaign_id:
type: integer
description: The ID of the campaign this lead belongs to
phone_number:
type: string
description: The lead's phone number in E.164 format
variables:
type: object
description: The variables assigned to the lead
additionalProperties: true
status:
type: string
description: The status of the lead
created_at:
type: string
description: The creation date of the lead
updated_at:
type: string
description: The date of the last update of the lead
campaign:
type: object
description: The campaign information
properties:
id:
type: integer
description: The ID of the campaign
name:
type: string
description: The name of the campaign
additionalProperties: true
secondary_contacts:
type: array
description: Array of secondary contact leads linked to this lead
items:
type: object
properties:
id:
type: integer
description: The ID of the secondary contact lead
phone_number:
type: string
description: The phone number of the secondary contact in E.164 format
variables:
type: object
description: The variables assigned to the secondary contact
additionalProperties: true
status:
type: string
description: The status of the secondary contact
created_at:
type: string
description: The creation date of the secondary contact
updated_at:
type: string
description: The date of the last update of the secondary contact
additionalProperties: true
additionalProperties: true
current_page:
type: integer
description: The current page number
per_page:
type: integer
description: Number of items per page
total:
type: integer
description: Total number of leads matching the criteria
last_page:
type: integer
description: The last page number
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
/user/leads/{id}:
delete:
tags:
- Leads
summary: Delete lead
operationId: deleteLead
description: 'Permanently remove a lead from your Famulor account via API. Deletes all associated call data, transcripts and notes for that contact record.
Docs'
externalDocs:
description: Delete lead
url: https://docs.famulor.io/api-v1/leads/delete
parameters:
- name: id
in: path
required: true
description: The unique identifier of the lead you want to remove
schema:
type: integer
responses:
'200':
description: Success Response
content:
application/json:
example:
message: Lead deleted successfully
schema:
type: object
properties:
message:
type: string
description: Confirmation message indicating successful deletion
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'404':
description: Not Found
content:
application/json:
example:
message: Lead not found
'422':
$ref: '#/components/responses/ValidationError'
put:
tags:
- Leads
summary: Update Lead
operationId: updateLead
description: 'Update an existing Famulor lead via API. Modify contact information, custom variables, status and campaign assignment for AI voice outreach.
Docs'
externalDocs:
description: Update Lead
url: https://docs.famulor.io/api-v1/leads/update
parameters:
- name: id
in: path
required: true
description: The ID of the lead to be updated
schema:
type: integer
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
campaign_id:
type: integer
description: The ID of the campaign to which the lead should be assigned
phone_number:
type: string
description: The lead's phone number (automatically formatted to E164)
status:
type: string
description: 'The status of the lead. Must be one of the following values: created, completed, reached-max-retries'
variables:
type: object
description: Custom variables to be merged with the existing lead variables
additionalProperties: true
responses:
'200':
description: Response
content:
application/json:
example:
message: Lead successfully updated
schema:
type: object
properties:
message:
type: string
description: Success message indicating the lead was updated
additionalProperties: true
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/ValidationError'
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