Section 1 - Step 2.5 - 422 Error on HTTP Post Request (SendToPriorityQueue Node)

  • n8n version: 2.30.7 (Cloud)
  • Database (default: SQLite): default
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
  • Operating system: Windows 11

Hi there,

Even though my other HTTP POST Request node is functioning correctly, my SendToPriorityQueue node is returning the following error:

Your request is invalid or could not be processed by the service [item 0]

Missing one or more required parameters. Make sure you are sending your assessment_id and order data.

I thought it might be an issue with the input, as the only difference between this and the functioning HTTP Post request is the fact that the input in the former is a list of orders is wrapped in a defined object called enriched_orderswhereas in the latter, failing POST request, the input is an undefined array of orders - there is no encapsulating object, but the course instructions do not require it so I can’t figure out what I’ve done wrong.

Here is the JSON for the POST request:

{
"body": {
"order_id": "ORD-014",
"customer_id": "CUST-004",
"customer_name": "DataFlow Ltd",
"subscription": "Enterprise"
},
"headers": {
"x-assessment-id": "0a238a9ad1137d3bf5cf2df2e7355e3b",
"hidden": "hidden",
"accept": "application/json,text/html,application/xhtml+xml,application/xml,text/;q=0.9, image/;q=0.8, /;q=0.7"
},
"method": "POST",
"uri": "``https://learn.app.n8n.cloud/webhook/course/n8n102/priority-queue``",
"gzip": true,
"rejectUnauthorized": true,
"followRedirect": true,
"resolveWithFullResponse": true,
"sendCredentialsOnCrossOriginRedirect": false,
"followAllRedirects": true,
"timeout": 300000,
"encoding": null,
"json": false,
"useStream": true

That options dump is n8n’s internal request object, and two things in it stand out: “json”: false, and there is no content-type header anywhere in the list.

So the endpoint is very likely receiving a body it is not parsing as JSON, which produces exactly the “missing one or more required parameters” you are seeing even though the fields are plainly there in the payload. The server is not finding order_id because it never parsed the body into fields at all.

I would compare your two HTTP Request nodes on Body Content Type specifically (Send Body, then Body Content Type, then JSON) rather than on the shape of the data. If the working node is set to JSON and this one is not, that difference alone explains it, and the enriched_orders wrapper is a red herring.

Two things that would settle it quickly:

1. Enable “Include Response Headers and Status” on the failing node. A 422 body usually names the field it could not find, which turns this from guesswork into a one-line answer.

2. Temporarily repoint the failing node at a Webhook node in another workflow and fire it once. That shows you exactly what arrives, both the content-type and whether the body came through as parsed fields or as a single string. Usually faster than reasoning about it.

One thing I cannot tell from here: whether the endpoint also wants assessment_id in the body, not just as the x-assessment-id header. The error names “assessment_id and order data” together, which reads like it expects both in the payload, but that depends on the course’s API contract. If the response body from step 1 names it, that is your answer.