> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Mettre à jour une Mid-call Action

> Modifie une Mid-call Action existante dans Famulor via l'API. Met à jour le nom, le point de terminaison, les paramètres ou la description afin que les agents vocaux IA appellent la bonne action.

<Warning>
  **API Famulor 1.0 (héritée).** Cette page concerne uniquement Famulor 1.0 (`app.famulor.de`) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la [référence API Famulor 2.0](/fr/api-reference/introduction).
</Warning>

Ce point de terminaison vous permet de mettre à jour une Mid-call Action existante. Tous les champs sont optionnels — ne fournissez que les champs que vous souhaitez modifier.

### Paramètres de chemin

<ParamField path="id" type="integer" required>
  L'identifiant unique de la Mid-call Action à mettre à jour
</ParamField>

### Paramètres du corps

Pour les Mid-call Actions liées à un flux de l'Automation Platform, les champs `endpoint`, `method` et `body_format` sont ignorés afin de protéger la connexion au flux.

<ParamField body="name" type="string" optional>
  Nom de la Mid-call Action — lettres, chiffres et underscores, commençant par une lettre ou un underscore (64 caractères max.)
</ParamField>

<ParamField body="description" type="string" optional>
  Explication détaillée du moment et de la manière dont l'IA doit utiliser cette Mid-call Action (255 caractères max.)
</ParamField>

<ParamField body="endpoint" type="string" optional>
  URL valide du point de terminaison de l'API à appeler (2048 caractères max.)
</ParamField>

<ParamField body="method" type="string" optional>
  Méthode HTTP : `GET`, `POST`, `PUT`, `PATCH` ou `DELETE`
</ParamField>

<ParamField body="body_format" type="string" optional>
  Encodage du corps de la requête pour les méthodes d'écriture : `json` (par défaut) ou `form`
</ParamField>

<ParamField body="timeout" type="integer" optional>
  Délai d'expiration de la requête en secondes (1-30)
</ParamField>

<ParamField body="headers" type="array" optional>
  En-têtes HTTP à envoyer avec la requête (remplace les en-têtes existants)

  <Expandable title="Propriétés de headers">
    <ParamField body="name" type="string" required>
      Nom de l'en-tête
    </ParamField>

    <ParamField body="value" type="string" required>
      Valeur de l'en-tête (prend en charge la substitution `{{variable}}`)
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="static_fields" type="array" optional>
  Paires clé/valeur fixes toujours envoyées avec la requête (remplace les champs statiques existants)

  <Expandable title="Propriétés de static_fields">
    <ParamField body="key" type="string" required>
      Clé du champ (64 caractères max.)
    </ParamField>

    <ParamField body="value" type="string" optional>
      Valeur du champ (2048 caractères max. ; prend en charge la substitution `{{variable}}`)
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="schema" type="array" optional>
  Schéma des paramètres (remplace le schéma existant)

  <Expandable title="Propriétés de schema">
    <ParamField body="name" type="string" required>
      Nom du paramètre (1 à 64 caractères, commence par une lettre ou un underscore)
    </ParamField>

    <ParamField body="type" type="string" required>
      Type du paramètre : `string`, `number`, `float` ou `boolean`
    </ParamField>

    <ParamField body="description" type="string" required>
      Description du paramètre (3 à 255 caractères)
    </ParamField>

    <ParamField body="required" type="boolean" optional>
      Indique si l'IA doit obligatoirement recueillir ce paramètre (par défaut `false`)
    </ParamField>
  </Expandable>
</ParamField>

### Champs de réponse

<ResponseField name="message" type="string">
  Message de succès
</ResponseField>

<ResponseField name="data" type="object">
  L'objet Mid-call Action mis à jour avec toutes les valeurs actuelles
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "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"
    }
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "message": "Tool not found"
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "Validation failed",
    "errors": {
      "name": ["Tool name must contain only letters, numbers and underscores, and start with a letter or underscore."]
    }
  }
  ```
</ResponseExample>

### Gérer les attributions de Mid-call Actions

Pour associer ou dissocier cette Mid-call Action des assistants, utilisez l'API Assistant :

* **[Créer un assistant](/fr/api-v1/assistants/create)** — Utilisez le paramètre `tool_ids` pour associer des Mid-call Actions lors de la création d'un assistant
* **[Mettre à jour un assistant](/fr/api-v1/assistants/update)** — Utilisez le paramètre `tool_ids` pour gérer les Mid-call Actions attribuées à un assistant

<Tip>
  Besoin de tout un ensemble d'outils plutôt que de créer des actions HTTP une par une ? Connectez un **serveur MCP** externe — les outils sont détectés automatiquement. Voir [Serveurs MCP](/fr/api/tools-and-webhooks).
</Tip>
