Which HTTP status codes show up in n8n?
Seven codes cover almost every failure you will see. The meanings below follow the MDN HTTP status reference, and the fixes are the usual first checks in an n8n workflow.
| Code | Plain meaning | What to try first in n8n |
|---|---|---|
| 200 OK | The request succeeded. | Nothing. Check the response body to be sure it holds what you expected. |
| 400 Bad Request | The server could not process the request because of something it sees as a client error, such as malformed syntax. | Compare your URL, query parameters and body with the API's own example. A missing field or stray comma in the JSON is the usual cause. |
| 401 Unauthorized | You have not proven who you are. | Check the API key or credential in the node. It may be missing, revoked or expired, so reconnect it. |
| 403 Forbidden | The server knows who you are and still refuses access. | Check that your account or key has permission for this action, and that the plan includes it. |
| 404 Not Found | The server cannot find what you asked for. | Check the URL for typos. For your own webhook, make sure the workflow is published and you used the Production URL, not the test URL. |
| 429 Too Many Requests | You sent too many requests in a given amount of time. | Slow down: send smaller batches, add a wait between calls, or retry later. |
| 500 Internal Server Error | The server hit a situation it does not know how to handle. | It is usually not your request. Retry once, then check the service's status page or contact the provider. |
Two more are worth knowing. A 502 Bad Gateway means a server acting as a gateway got an invalid response, and a 503 Service Unavailable means the server is not ready to handle the request, often because it is down for maintenance or overloaded. Both are temporary conditions, so a retry after a pause is the right first move.
How do you read the error in the HTTP Request node?
Open the red node, read the error message and look for the number. By default the HTTP Request node counts a response as a success only when the code is in the 2xx range, so anything else turns the node red and stops the workflow.
Two options in the node help you debug. Under Options, Response, Include Response Headers and Status returns the status code together with the body, so you can see it and test it. Never Error makes the node succeed whatever the code was, which lets the workflow carry on so you can decide what to do with a 404 or a 429 yourself. Use it only when something afterward checks the code, or you have just made the failure silent.
The HTTP status code glossary page has a worked example of a form that depends on these codes, and the free Lovable + n8n lesson builds one.
What should you do about a 429, a 401 or a 404?
Give each one its own response: retry the 429, alert someone about the 401 and branch on the 404.
- Retry on 429. A rate limit clears after a wait. In the node's settings, turn on Retry On Fail so n8n tries again after a pause, or use the node's batching option to send items in smaller groups with a wait between them.
- Alert on 401. A rejected credential will not fix itself. Set an error workflow that starts with the Error Trigger node and emails you the failed step and the error message. n8n runs it whenever a workflow's execution fails. The error handling glossary page explains the idea in more detail.
- Branch on 404. Sometimes "not found" is a normal answer, such as a lookup for a customer who is not in the system yet. Return the status code with the response, then add an If or Switch node that sends a 404 down its own path. A Switch node's fallback output catches anything that matches none of your rules, so nothing disappears.
For your own webhook, the code goes the other way. Your form or app reads the status code your workflow sends back, so the Respond to Webhook node should only answer after the work is done. Otherwise the form shows "Thanks" for a request that was never saved. The free Webhooks and Forms in n8n lesson covers the Webhook node, and Connect a Lovable Form to n8n with a Webhook shows a form checking the response.
Try it free, step by step
Lovable + n8n: Build a Web App with an AI Backend. Build a contact form in Lovable and connect it to an n8n workflow — webhook trigger, AI Agent, Google Sheets, Gmail, and a Respond node that ties it all together. You do every step yourself in a practice copy of Lovable and n8n, it checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, and nothing touches your real accounts.
Start the free lessonWhat if a step fails only some of the time?
A step that works on five items and fails on five hundred is usually a rate limit, not a bug. Test with a realistic number of items, and look for the words "rate limit", "too many requests" or "quota" in the message.
One case looks like a rate limit but is not. OpenAI can return a 429 when the account has no credit left. The fix is to add credit, not to slow the workflow. The free AI Email Responder lesson includes a failure to practice reading, and the glossary page on rate limits covers the difference between a rate limit and a quota.
Key takeaways
- 2xx means success, 4xx means a problem with the request, and 5xx means a problem on the server.
- The HTTP Request node treats only 2xx responses as success unless you turn on Never Error.
- Fix 400 by checking the request, 401 and 403 by checking the key and permissions, and 404 by checking the URL or the workflow's published state.
- Retry a 429 or 5xx after a pause, and alert yourself with an error workflow for failures that will not clear.
- Include the response status when you need to branch on a code.
Frequently asked questions
- What does a 401 error mean in n8n?
It means the server does not know who you are, so the request was refused. Check that the API key or credential in the node is present, current and for the right service, then reconnect it and test again.
- What is the difference between 401 and 403?
A 401 means you have not authenticated, so the server does not know who you are. A 403 means the server knows who you are and still refuses access, so the account or key lacks permission for that action.
- How do I fix a 429 error in n8n?
Slow the workflow down. Send smaller batches with a wait between them, or turn on Retry On Fail so n8n tries again after a pause. If the service is OpenAI, also check that your account has credit.
- Why does my n8n webhook return 404?
Nothing is listening at that address. The usual causes are that the workflow is not published, or the form is posting to the test URL instead of the Production URL. Publish the workflow, copy the Production URL and update the form.









