Le message d’erreur
Bad request - please check your parameters
request/body/settings must NOT have additional properties
signifie que dans votre corps de requête, spécifiquement à l’intérieur de l’objet settings du workflow, vous envoyez une ou plusieurs clés qui ne sont pas autorisées par le schéma API de n8n.
Conformément à la documentation de l’API, settings n’accepte qu’un ensemble spécifique de champs. Un exemple raccourci ressemble à ceci :
"settings": {
"saveExecutionProgress": true,
"saveManualExecutions": false,
"saveDataErrorExecution": "all",
"saveDataSuccessExecution": "all",
"executionTimeout": 3600,
"errorWorkflow": "VzqKEW0ShTXA5vPj",
"timezone": "America/New_York",
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"callerIds": "14, 18, 23",
"timeSavedPerExecution": 5,
"redactionPolicy": "none",
"availableInMCP": false,
"customTelemetryTags": [
{ "key": "env", "value": "prod" }
]
}
Si votre objet settings contient des clés supplémentaires ou personnalisées (par exemple myCustomSetting, ou des champs ajoutés par des versions antérieures / des métadonnées d’interface utilisateur qui ne font pas partie du schéma actuel), l’API répondra exactement par :
request/body/settings must NOT have additional properties
Comment corriger cela :
-
Vérifiez le JSON que vous envoyez (via le nœud n8n, un nœud HTTP Request, ou un client externe).
-
À l’intérieur de "settings": { ... }, supprimez les clés qui ne sont pas listées dans la documentation de l’API.
-
Renvoyez la requête avec un objet settings « propre ».
Si vous prenez le JSON de GET /workflows/{id} et que vous l’utilisez ensuite pour PUT/Update, assurez-vous que :
-
Au niveau racine, vous ne conservez que des champs valides tels que name, nodes, connections, settings, staticData, tags, description, etc.
-
À l’intérieur de settings, vous ne conservez que les champs définis dans le schéma API actuel, sinon vous continuerez à rencontrer l’erreur « must NOT have additional properties ».
Vous êtes très proche ; une fois que vous aurez supprimé les clés non prises en charge de settings, la même requête devrait fonctionner comme prévu. Si vous souhaitez coller votre JSON actuel, je serais heureux de vous indiquer exactement quelles propriétés posent problème.