Describe the problem/error/question
I’m working through the Academy courses (N8N101 and N8N103) and I’m blocked on
two exercises by what looks like a server-side issue on the Academy’s training
endpoints rather than a workflow problem. Posting full evidence so it’s
reproducible.
Setup that IS working (why I don’t think this is on my end):
- Header Auth credential with the shared course API key, sent as X-API-Key
- My X-Assessment-ID sent on every request: e92ae2fa551a70bccfed3545ad3aec70
- Course registration completed successfully
- All three N8N103 Section 1 agent tool endpoints work and return 200:
tools/order-status, tools/customer-info, tools/product-info
The problem — two endpoints that are supposed to RETURN data respond 200 OK
with a zero-byte body:
- https://learn.app.n8n.cloud/webhook/course/n8n101/sales-data
(the “Building a Sales Data Pipeline” exercise) - https://learn.app.n8n.cloud/webhook/course/n8n103/unreliable-api
(the Section 2 debugging/retry exercise)
What I’ve ruled out (tested Aug 4, ~21:20-22:30 MST):
- Wrong auth: a deliberately wrong API key returns 403 “Authorization data is
wrong!” — so the 200 with the real key means authentication succeeds. - Missing assessment ID: without it the tool endpoints return
422 [Validation Failed] — so the header is being read. - Wrong verb: POST to sales-data returns 404 “This webhook is not registered
for POST requests. Did you mean to make a GET request?” — GET is correct. - Query variants: ?assessment_id=…, ?assessmentId=…, ?limit=10 and an
Accept: application/json header all return the same 200 with 0 bytes.
Correct key, correct assessment header, correct verb — 200 OK, empty body, on
exactly the two endpoints whose job is to return data.
Could someone from the Academy team check whether the mock data source behind
sales-data and unreliable-api is down? And if an empty body is expected there,
what should the workflows be receiving? Happy to provide execution timestamps
or run any diagnostic. The courses themselves have been excellent.
What is the error message (if any)?There is no error at the failing endpoints themselves — they return HTTP 200
with an empty body, which is the problem.
The downstream effects inside the exercises:
- N8N101: Split Out receives an object with no “orders” field, produces 0
items, and the pipeline ends after two nodes with no error. - N8N103: the workflow POSTs extracted fields to course/n8n103/retry-result,
which correctly rejects with 422 “[Validation Failed]” — because order_id,
customer_name and confirmation_code all resolve to nothing from the empty
upstream response.
Please share your workflow
Minimal reproduction (add your own Header Auth credential with the course API
key — credential values are not exported with the JSON):
{
"nodes": [
{
"parameters": {},
"name": "When clicking Test workflow",
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [0, 0]
},
{
"parameters": {
"url": "https://learn.app.n8n.cloud/webhook/course/n8n101/sales-data",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "X-Assessment-ID",
"value": "e92ae2fa551a70bccfed3545ad3aec70"
}
]
},
"options": {}
},
"name": "GetSalesData",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [220, 0]
}
],
"connections": {
"When clicking Test workflow": {
"main": [[{ "node": "GetSalesData", "type": "main", "index": 0 }]]
}
}
}
The same behavior reproduces with plain curl, so it isn't node configuration:
GET with X-API-Key + X-Assessment-ID → HTTP 200, Content-Length 0.
Share the output returned by the last node
One item, empty object:
[
{}
]
Expected (per the exercise): a JSON body containing an “orders” array for
sales-data; order data for unreliable-api.
Information on your n8n setup
- n8n version:
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app):
- Operating system: