I’m trying to update a workflow via the n8n API (PUT /workflows/{id}).
I first fetched the workflow JSON using the GET API, and I wanted to PUT it back as-is — but I got this error:
{"message":"request/body must NOT have additional properties"}
I checked the API reference and tried trimming the fields with jq like this:
But it still didn’t work
So I’d like to know — what’s the best practice for updating a workflow using the JSON definition from the GET API?
Is there a recommended way to clean or reformat the JSON before sending it back?
What is the error message (if any)?
{"message":"request/body must NOT have additional properties"}
Please share your workflow
(Used a simple workflow for testing; basically just a webhook and a code node.)
What is the recommended practice for updating a workflow using the JSON returned from the GET /workflows/{id} API?
Is there a standard way to clean or reformat the JSON before sending it back in a PUT request?
Any guidance or examples would be really helpful. Thanks!
Thanks for the advice! I gave it a try, but unfortunately it still didn’t work on my side
It would be really helpful if n8n could log which specific fields are causing the issue, so I’m hoping this will be improved in the future.
For now, my maintenance flow will be something like this:
download JSON from the GUI → move it to another environment → Create Workflow → import JSON → rename it to match the original → re-configure the Error Workflow.
This seems to be the most reliable approach for my setup