HTTP Status Codes for Webhooks & Health Checks

Look up any HTTP status code and see what it means in practice: should a webhook sender retry, and should an uptime check call the endpoint healthy?

  • Free
  • No sign-up
  • Runs in your browser

Code Meaning Webhook sender: retry? Health check
100 Continue
The server received the request headers, so the client can send the body.

Not a final response
101 Switching Protocols
The server is switching protocols, for example to WebSocket.

Not a final response
102 Processing
WebDAV: the server is still working on the request.

Not a final response
103 Early Hints
Preliminary headers, such as preload links, sent before the final response.

Not a final response
200 OK
The request succeeded.
No
Delivered
Healthy
201 Created
The request succeeded and created a new resource.
No
Delivered
Healthy
202 Accepted
The request was accepted, but processing hasn’t finished.
No
Delivered
Healthy
203 Non-Authoritative Information
The response was modified by a proxy.
No
Delivered
Healthy
204 No Content
The request succeeded and there is no body to return.
No
Delivered
Healthy
205 Reset Content
The request succeeded; the client should reset the form or view.
No
Delivered
Healthy
206 Partial Content
The server is returning part of the resource, as asked for with a Range header.
No
Delivered
Healthy
207 Multi-Status
WebDAV: the body contains statuses for several operations.
No
Delivered
Healthy
208 Already Reported
WebDAV: these members were already listed earlier in the response.
No
Delivered
Healthy
226 IM Used
The server applied instance manipulations, such as delta encoding.
No
Delivered
Healthy
300 Multiple Choices
Several representations of the resource are available.
No
Most senders count a redirect as a failure, so update the URL
Check URL
301 Moved Permanently
The resource has a new permanent URL.
No
Most senders count a redirect as a failure, so update the URL
Check URL
302 Found
The resource is temporarily at another URL.
No
Most senders count a redirect as a failure, so update the URL
Check URL
303 See Other
Fetch the result from another URL with GET.
No
Most senders count a redirect as a failure, so update the URL
Check URL
304 Not Modified
The cached copy is still valid.
No
Most senders count a redirect as a failure, so update the URL
Check URL
307 Temporary Redirect
Temporarily at another URL; repeat the request with the same method and body.
No
Most senders count a redirect as a failure, so update the URL
Check URL
308 Permanent Redirect
Permanently at another URL; repeat the request with the same method and body.
No
Most senders count a redirect as a failure, so update the URL
Check URL
400 Bad Request
The server can’t process the request because it is malformed.
No
Permanent: fix the request or the endpoint
Unhealthy
401 Unauthorized
The request has no valid credentials.
No
Permanent: fix the request or the endpoint
Unhealthy
402 Payment Required
Reserved; some APIs use it for billing problems.
No
Permanent: fix the request or the endpoint
Unhealthy
403 Forbidden
The server understood the request but won’t allow it.
No
Permanent: fix the request or the endpoint
Unhealthy
404 Not Found
Nothing exists at this URL.
No
Permanent: fix the request or the endpoint
Unhealthy
405 Method Not Allowed
The URL doesn’t accept this HTTP method.
No
Permanent: fix the request or the endpoint
Unhealthy
406 Not Acceptable
No representation matches the request’s Accept headers.
No
Permanent: fix the request or the endpoint
Unhealthy
407 Proxy Authentication Required
A proxy between the client and server needs credentials.
No
Permanent: fix the request or the endpoint
Unhealthy
408 Request Timeout
The server gave up waiting for the client to send the request.
Retry
Temporary: retry with backoff
Unhealthy
409 Conflict
The request conflicts with the current state of the resource.
No
Permanent: fix the request or the endpoint
Unhealthy
410 Gone
The resource was permanently removed.
No
Permanent: fix the request or the endpoint
Unhealthy
411 Length Required
The server requires a Content-Length header.
No
Permanent: fix the request or the endpoint
Unhealthy
412 Precondition Failed
A condition in the request headers wasn’t met.
No
Permanent: fix the request or the endpoint
Unhealthy
413 Content Too Large
The request body is larger than the server accepts.
No
Permanent: fix the request or the endpoint
Unhealthy
414 URI Too Long
The URL is longer than the server accepts.
No
Permanent: fix the request or the endpoint
Unhealthy
415 Unsupported Media Type
The server doesn’t accept the request’s Content-Type.
No
Permanent: fix the request or the endpoint
Unhealthy
416 Range Not Satisfiable
The requested byte range isn’t available.
No
Permanent: fix the request or the endpoint
Unhealthy
417 Expectation Failed
The server can’t meet the Expect header.
No
Permanent: fix the request or the endpoint
Unhealthy
418 I’m a teapot
An April Fools’ joke from RFC 2324, sometimes used to turn away bots.
No
Permanent: fix the request or the endpoint
Unhealthy
421 Misdirected Request
The request reached a server that can’t answer for this hostname.
No
Permanent: fix the request or the endpoint
Unhealthy
422 Unprocessable Content
The request is well-formed but fails validation.
No
Permanent: fix the request or the endpoint
Unhealthy
423 Locked
WebDAV: the resource is locked.
No
Permanent: fix the request or the endpoint
Unhealthy
424 Failed Dependency
WebDAV: the request depended on another request that failed.
No
Permanent: fix the request or the endpoint
Unhealthy
425 Too Early
The server won’t process a request that might be replayed.
Retry
Temporary: retry with backoff
Unhealthy
426 Upgrade Required
The client must switch to a different protocol.
No
Permanent: fix the request or the endpoint
Unhealthy
428 Precondition Required
The server requires a conditional request.
No
Permanent: fix the request or the endpoint
Unhealthy
429 Too Many Requests
The client is being rate limited. Check the Retry-After header.
Retry
Temporary: back off and honour Retry-After
Degraded
431 Request Header Fields Too Large
The request headers are too large.
No
Permanent: fix the request or the endpoint
Unhealthy
451 Unavailable For Legal Reasons
Access is blocked for legal reasons.
No
Permanent: fix the request or the endpoint
Unhealthy
500 Internal Server Error
The server hit an unexpected error.
Retry
Temporary: retry with backoff
Unhealthy
501 Not Implemented
The server doesn’t support what the request needs.
No
Permanent: fix the request or the endpoint
Unhealthy
502 Bad Gateway
A proxy got an invalid response from the server behind it.
Retry
Temporary: retry with backoff
Unhealthy
503 Service Unavailable
The server is overloaded or down for maintenance.
Retry
Temporary: back off and honour Retry-After
Unhealthy
504 Gateway Timeout
A proxy gave up waiting for the server behind it.
Retry
Temporary: retry with backoff
Unhealthy
505 HTTP Version Not Supported
The server doesn’t support the request’s HTTP version.
No
Permanent: fix the request or the endpoint
Unhealthy
506 Variant Also Negotiates
The server’s content negotiation is misconfigured.
No
Permanent: fix the request or the endpoint
Unhealthy
507 Insufficient Storage
WebDAV: the server can’t store what the request needs.
Retry
Temporary: retry with backoff
Unhealthy
508 Loop Detected
WebDAV: the server found an infinite loop.
No
Permanent: fix the request or the endpoint
Unhealthy
510 Not Extended
The server needs further extensions to fulfil the request.
No
Permanent: fix the request or the endpoint
Unhealthy
511 Network Authentication Required
The client must sign in to the network, such as a captive portal.
No
Permanent: fix the request or the endpoint
Unhealthy

How to use the HTTP Status Code Lookup

  1. Search by number, such as 429, or by name, such as “gateway”.
  2. Filter to a class, such as 4xx client errors.
  3. Read the retry and health-check advice.
  4. Use it to decide how your sender, receiver or monitor should react.

Monitor what your code does after it ships

Send events to SensaCat’s ingest API and get alerted when jobs, webhooks and multi-step flows stall.

Start monitoring free

Frequently asked questions

401 Unauthorized means the request has no valid credentials: sign in or send a token. 403 Forbidden means the server knows who you are but won’t allow the action.

502 Bad Gateway means a proxy got an invalid response from the server behind it. 503 Service Unavailable means the server is overloaded or down for maintenance. 504 Gateway Timeout means a proxy gave up waiting for the server behind it. All three are usually temporary and worth retrying.

Either works; senders treat any 2xx response as success. Return it quickly, after storing or queueing the event.

Most webhook senders don’t follow redirects and treat them as failed deliveries. Configure the final URL, including the correct scheme and trailing slash.

Related tools

Webhook Retry Calculator

See when each retry fires with exponential backoff and jitter, and what survives an outage.

Runs in your browser Open tool

HTTP Headers Checker

Follow a URL’s redirects, list its response headers and grade its security headers.

Uses our server Open tool

Uptime & SLA Calculator

Turn an uptime percentage into allowed downtime, or downtime into an uptime percentage.

Runs in your browser Open tool