---
title: "Create Mid-call Action"
method: POST
path: "/user/tools"
tags: ["Mid-Call Tools"]
---

# Create Mid-call Action

`POST /user/tools`

## Request

- Base URL: `https://app.famulor.de/api`
- URL: `https://app.famulor.de/api/user/tools`
- Auth: HTTP bearer

Create a new Mid-call Action for AI assistant integration

[Docs](https://docs.famulor.io/api-v1/mid-call-tools/create-tool)

## Request body

- object
  - `name` string, required: Mid-call Action name — letters, numbers and underscores, starting with a letter or underscore (max 64 characters, e.g. `get_weather`, `book_appointment`)
  - `description` string, required: Detailed explanation of when and how the AI should use this Mid-call Action (max 255 characters)
  - `endpoint` string, required: Valid URL of the API endpoint to call (max 2048 characters)
  - `method` string, required: HTTP method: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`
  - `body_format` string: How the request body is encoded for write methods (POST/PUT/PATCH): `json` (default) or `form` (`application/x-www-form-urlencoded`)
  - `timeout` integer: Request timeout in seconds (1-30, default: 10)
  - `headers` object[]: HTTP headers to send with the request
    - `name` string, required: Header name
    - `value` string, required: Header value (max 2048 chars; supports `{{variable}}` substitution)
  - `static_fields` object[]: Fixed key/value pairs always sent with the request (the AI never changes them)
    - `key` string, required: Field key (max 64 chars)
    - `value` string: Field value (max 2048 chars; supports `{{variable}}` substitution)
  - `schema` object[]: Parameters that the AI will extract from conversation and send to the endpoint
    - `name` string, required: Parameter name (1-64 chars, must start with a letter or underscore, can contain letters, numbers and underscores)
    - `type` string, required: Parameter type: `string`, `number`, `float`, or `boolean`
    - `description` string, required: Description to help AI understand how to extract this parameter (3-255 chars)
    - `required` boolean: Whether the AI must collect this parameter. Optional parameters are only sent when a value was collected. Defaults to `false`.

## Response `201`

Created

- object
  - `message` string: Success message
  - `data` object: The created Mid-call Action object
    - `id` integer: The unique identifier of the Mid-call Action
    - `name` string: The name of the Mid-call Action
    - `description` string: Mid-call Action description
    - `type` string: Mid-call Action type: `http` or `automation`
    - `endpoint` string: API endpoint URL
    - `method` string: HTTP method
    - `body_format` string: Request body encoding: `json` or `form`
    - `timeout` integer: Request timeout in seconds
    - `headers` unknown[]: HTTP headers
      - unknown
    - `static_fields` unknown[]: Fixed key/value pairs always sent with the request
      - unknown
    - `schema` unknown[]: Parameter schema
      - unknown
    - `created_at` string: ISO 8601 timestamp
    - `updated_at` string: ISO 8601 timestamp

## Other responses

- `401`: Fehlender oder ungültiger API-Key.
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/famulor/apis/famulor-api.md) · [All operations](https://skmtc.dev/famulor/apis/famulor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/famulor/apis/famulor-api/revisions/3b938c370721?raw)
