Hi everyone, I’m having an issue with the HTTP Request node. I’m trying to send JSON data in the request body, but the API keeps receiving an empty body.
My workflow is:
Set → HTTP Request
In the Set node, I define the data:
{
“name”: “John”,
“email”: “john@email.com”
}
Then in the HTTP Request node, I set:
• Method: POST
• Body Content Type: JSON
• Body:
{
“name”: “{{$json.name}}”,
“email”: “{{$json.email}}”
}
But when I check the API logs, it shows the request body as empty {}.
I’m not sure if:
• The JSON format is wrong
• The expressions are not resolving
• Or I’m missing a setting in the HTTP node
Has anyone faced this before?
Describe the problem/error/question
What is the error message (if any)?
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
A simplex fix is to send the entire object as it bypasses the expression parsing issue entirely
Specify Body and select JSON
In the JSON Parameter box, delete your current JSON structure and simply enter the expression: {{$json}}.
This tells n8n to take the entire output from your previous “Set” node and send it directly as the JSON body . Since your “Set” node already formats the data correctly.
@Keira_Becky also double check your HTTP Request node has “Send Body” actually toggled on — it’s off by default and even with correct expressions the body just gets dropped silently. since your Set node only has name and email, the {{$json}} approach is the move, but that toggle being off would still give you {} in your API logs regardless