Référence APIModifier une action MCP personnalisée
PATCH/v1/mcp/custom-actions/{id}

Modifier une action MCP personnalisée

Met à jour partiellement une action MCP personnalisée du workspace identifiée par son id.

1 min de lectureTélécharger en PDF

Requête exemple

{
"is_active": true,
"code_source": "builtin",
"description": "Crée un coffre-fort scellé pour un dossier client",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"endpoint_path": "/v1/vaults",
"param_mapping": [
{
"to": "body.name",
"from": "name"
}
],
"required_scope": "vaults:write",
"endpoint_method": "POST"
}

Réponse exemple

{
"id": "mca_7Hk29sLp03",
"name": "create_sealed_vault",
"is_active": true,
"description": "Crée un coffre-fort scellé pour un dossier client",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
}
},
"runtime_kind": "proxy",
"endpoint_path": "/v1/vaults",
"param_mapping": [
{
"to": "body.name",
"from": "name"
}
],
"required_scope": "vaults:write",
"endpoint_method": "POST"
}
PATCH/v1/mcp/custom-actions/{id}Met à jour partiellement une action MCP personnalisée existante.

Cette route modifie une action MCP personnalisée du workspace, identifiée par l'id présent en fin d'URL. La mise à jour est partielle : seuls les champs fournis et dont le type est valide sont appliqués, les autres restent inchangés. Si le corps ne contient aucun champ modifiable reconnu, la requête est rejetée avec une erreur de validation. L'action est cantonnée au workspace de la clé API (filtre par workspace_id), si bien qu'un id inconnu ou appartenant à un autre workspace renvoie une 404.

À chaque modification réussie, le serveur renseigne automatiquement updated_at (horodatage ISO 8601) et updated_by (l'identifiant de l'utilisateur porteur de la clé API). Le champ name n'est pas modifiable via cette route : il n'apparaît pas dans les champs acceptés.

Authentification

Requiert une clé API valide disposant du scope api_keys:manage. En cas de scope manquant, la requête est refusée par la couche d'authentification (scope_missing).

Corps de la requête

Tous les champs sont optionnels, mais au moins un champ valide doit être présent. Un champ ignoré (type incorrect) est silencieusement écarté.

ChampTypeRequisDescription
descriptionstringNonDescription libre de l'action.
required_scopestringNonScope requis pour invoquer l'action.
is_activebooleanNonActive ou désactive l'action.
input_schemaobjectNonSchéma JSON des entrées de l'action (doit être un objet).
endpoint_methodstringNonMéthode HTTP cible. Valeurs autorisées : GET, POST, PATCH, DELETE.
endpoint_pathstringNonChemin de l'endpoint cible. Doit commencer par /v1/.
param_mappingarrayNonMapping des paramètres d'entrée vers la requête cible.
code_sourcestringNonSource du code/comportement de l'action.

Réponse

Renvoie l'action mise à jour avec les champs : id, name, description, required_scope, input_schema, endpoint_method, endpoint_path, param_mapping, runtime_kind et is_active. Les champs non sélectionnés par la route (comme updated_at ou updated_by) ne sont pas renvoyés dans la réponse, même s'ils sont bien persistés.

Erreurs

CodeQuandRésolution
400 validation_errorid absent de l'URL, endpoint_method non autorisé, endpoint_path ne commençant pas par /v1/, ou aucun champ modifiable valide.Vérifier l'URL et le corps : fournir au moins un champ valide, une méthode parmi GET/POST/PATCH/DELETE et un chemin commençant par /v1/.
404 not_foundAucune action ne correspond à l'id dans le workspace de la clé.Vérifier l'id et que l'action appartient bien au workspace de la clé API.
500 internal_errorErreur de la couche de stockage lors de la mise à jour.Réessayer ; si l'erreur persiste, contacter le support avec le request_id.

Voir aussi