Famulor Calls API

Anrufe starten, auflisten und löschen.

GitHub OpenAPI

Operations 3

GET /user/calls List Calls #
DELETE /user/calls/{id} Delete Call #
POST /user/make_call Make a Call #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/famulor-io:famulor-io-calls-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

famulor-io-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Famulor Calls 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: Calls
  description: Anrufe starten, auflisten und löschen.
paths:
  /user/calls:
    get:
      tags:
      - Calls
      summary: List Calls
      operationId: listCalls
      description: 'List all calls for the authenticated user with filtering options


        Docs'
      externalDocs:
        description: List Calls
        url: https://docs.famulor.io/api-v1/calls/list
      parameters:
      - name: status
        in: query
        required: false
        description: 'Filter calls by status. Possible values: `initiated`, `ringing`, `busy`, `in-progress`, `ended`, `completed`, `ended_by_customer`, `ended_by_assistant`, `no-answer`, `failed`'
        schema:
          type: string
          enum:
          - initiated
          - ringing
          - busy
          - in-progress
          - ended
          - completed
          - ended_by_customer
          - ended_by_assistant
          - no-answer
          - failed
      - name: type
        in: query
        required: false
        description: 'Filter calls by type. Possible values: `inbound`, `outbound`, `web`'
        schema:
          type: string
          enum:
          - inbound
          - outbound
          - web
      - name: phone_number
        in: query
        required: false
        description: Filter calls by client phone number
        schema:
          type: string
      - name: assistant_id
        in: query
        required: false
        description: Filter calls by assistant ID
        schema:
          type: integer
      - name: campaign_id
        in: query
        required: false
        description: Filter calls by campaign ID
        schema:
          type: integer
      - name: date_from
        in: query
        required: false
        description: Filter calls from this date (YYYY-MM-DD format)
        schema:
          type: string
      - name: date_to
        in: query
        required: false
        description: Filter calls up to this date (YYYY-MM-DD format)
        schema:
          type: string
      - name: per_page
        in: query
        required: false
        description: 'Number of calls per page (1-100, default: 15)'
        schema:
          type: integer
      - name: page
        in: query
        required: false
        description: 'Page number (default: 1)'
        schema:
          type: integer
      responses:
        '200':
          description: Response
          content:
            application/json:
              example:
                data:
                - id: 123456
                  assistant_name: Sales Assistant
                  campaign_name: Neukundenakquise Q1 2024
                  type: outbound
                  duration: 180
                  assistant_phone_number: '+4912345678'
                  client_phone_number: '+4915123456789'
                  status: completed
                  transcript:
                  - text: Hallo, mein Name ist Maximilian, ich melde mich im Auftrag eines IT-Unternehmens.
                    type: transcript
                    sender: bot
                    timestamp: 1754055268.525861
                  - text: Hallo?
                    type: transcript
                    sender: human
                    timestamp: 1754055272.069057
                  variables:
                    customer_name: John
                  evaluation:
                  - name: status
                    type: bool
                    value: true
                    description: Whether the call objective was achieved or not.
                  - name: summary
                    type: string
                    value: Connected to the customer, obtained name of the person responsible for IT.
                    description: Call summary in a few words.
                  webhook_response:
                    crm_updated: true
                    lead_score: 75
                  carrier_cost: '0.08000000'
                  total_cost: '0.12000000'
                  answered_by: human
                  recording_url: https://recordings.famulor.de/call-123456.mp3
                  created_at: '2024-01-15T10:30:00Z'
                  updated_at: '2024-01-15T10:33:00Z'
                - id: 123457
                  assistant_name: Support Assistant
                  campaign_name: null
                  type: inbound
                  duration: 120
                  assistant_phone_number: '+4912345678'
                  client_phone_number: '+4917123456789'
                  status: ended_by_customer
                  transcript:
                  - text: 'Kunde: Hallo, ich habe eine Frage zu meinem Konto.'
                    type: transcript
                    sender: human
                    timestamp: 1754055300.123456
                  - text: Gerne helfe ich Ihnen dabei. Was kann ich für Sie tun?
                    type: transcript
                    sender: bot
                    timestamp: 1754055302.789012
                  variables:
                    issue_resolved: true
                    satisfaction_rating: 9
                  evaluation:
                  - name: issue_resolved
                    type: bool
                    value: true
                    description: Whether the customer's issue was resolved.
                  - name: satisfaction_rating
                    type: integer
                    value: 9
                    description: Customer satisfaction rating from 1-10.
                  webhook_response: null
                  carrier_cost: '0.05000000'
                  total_cost: '0.08000000'
                  answered_by: human
                  recording_url: null
                  created_at: '2024-01-15T14:20:00Z'
                  updated_at: '2024-01-15T14:22:00Z'
                current_page: 1
                first_page_url: https://app.famulor.de/api/user/calls?page=1
                from: 1
                last_page: 4
                last_page_url: https://app.famulor.de/api/user/calls?page=4
                links:
                - url: null
                  label: '« Previous'
                  active: false
                - url: https://app.famulor.de/api/user/calls?page=1
                  label: '1'
                  active: true
                next_page_url: https://app.famulor.de/api/user/calls?page=2
                path: https://app.famulor.de/api/user/calls
                per_page: 15
                prev_page_url: null
                to: 15
                total: 52
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Array of calls
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: The unique identifier of the call
                        assistant_name:
                          type: string
                          description: The name of the assistant who handled the call
                        campaign_name:
                          type:
                          - string
                          - 'null'
                          description: The name of the campaign to which this call belongs (if applicable)
                        type:
                          type: string
                          description: The type of the call (inbound, outbound, or web)
                        duration:
                          type: integer
                          description: The duration of the call in seconds
                        assistant_phone_number:
                          type: string
                          description: The phone number used by the assistant
                        client_phone_number:
                          type: string
                          description: The client's phone number
                        status:
                          type: string
                          description: The current status of the call
                        transcript:
                          type: array
                          description: The transcript of the call conversation as an array of objects containing text, type, sender, and timestamp
                          items: {}
                        variables:
                          type: object
                          description: Variables collected during the call
                          additionalProperties: true
                        evaluation:
                          type: array
                          description: Evaluation data for call performance as an array of objects with name, type, value, and description
                          items: {}
                        webhook_response:
                          type:
                          - object
                          - 'null'
                          description: Response from configured webhooks
                          additionalProperties: true
                        carrier_cost:
                          type: string
                          description: The cost charged by the carrier for this call
                        total_cost:
                          type: string
                          description: The total cost of the call including all fees
                        answered_by:
                          type: string
                          description: Who answered the call (human, machine, or unknown)
                        recording_url:
                          type:
                          - string
                          - 'null'
                          description: URL to the call recording (if available and enabled)
                        created_at:
                          type: string
                          description: Date and time when the call was created
                        updated_at:
                          type: string
                          description: Date and time of the last update to the call
                      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 calls matching the criteria
                  last_page:
                    type: integer
                    description: The last page number
                  first_page_url:
                    type: string
                    description: URL of the first page
                  last_page_url:
                    type: string
                    description: URL of the last page
                  next_page_url:
                    type: string
                    description: URL of the next page, or `null`
                  prev_page_url:
                    type:
                    - string
                    - 'null'
                    description: URL of the previous page, or `null`
                  path:
                    type: string
                    description: Base pagination path
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/ValidationError'
  /user/calls/{id}:
    delete:
      tags:
      - Calls
      summary: Delete Call
      operationId: deleteCall
      description: 'Delete a specific call record from the Famulor system via API. Permanently removes transcripts, recordings and metadata for that voice agent call.


        Docs'
      externalDocs:
        description: Delete Call
        url: https://docs.famulor.io/api-v1/calls/delete
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of the call to be deleted
        schema:
          type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                message: Call deleted successfully
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message if the call was not found or does not belong to the authenticated user
                additionalProperties: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              example:
                message: Call not found or does not belong to the authenticated user
        '422':
          $ref: '#/components/responses/ValidationError'
  /user/make_call:
    post:
      tags:
      - Calls
      summary: Make a Call
      operationId: makeCall
      description: 'Initiate an outbound phone call with a specific Famulor AI assistant via API. Pass lead data and trigger automated voice conversations programmatically.


        Docs'
      externalDocs:
        description: Make a Call
        url: https://docs.famulor.io/api-v1/calls/make
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone_number:
                  type: string
                  description: The customer's phone number in E.164 format (e.g. +1234567890)
                assistant_id:
                  type: integer
                  description: The ID of the assistant to make the call with
                variables:
                  type: object
                  description: The variables to be passed to the lead
                  properties:
                    customer_name:
                      type: string
                      description: The name of the customer
                    email:
                      type: string
                      description: The customer's email address
              required:
              - phone_number
              - assistant_id
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                message: Call initiated successfully
                call_id: 480337
                status: initiated
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Confirmation message that the call was successfully initiated
                  call_id:
                    type: integer
                    description: The unique ID of the created call
                  status:
                    type: string
                    description: The initial status of the call (e.g. "initiated")
                additionalProperties: true
        '400':
          description: Invalid Phone Number
          content:
            application/json:
              example:
                message: Invalid phone number format. Please use E.164 format (e.g. +1234567890)
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Assistant Not Found
          content:
            application/json:
              example:
                message: Assistant not found or does not belong to the authenticated user
        '422':
          description: Insufficient Balance
          content:
            application/json:
              example:
                message: Insufficient balance to make call. Please top up your account.
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