424 Failed Dependency
The request failed because an earlier request it depended on failed, so this one was never attempted.
At a glance
- Status code
- 424 Failed Dependency
- Class
- 4xx, client error, the request itself is the problem
- Defined in
- RFC 4918
- Cacheable by default
- no
- Response body
- Should say which dependency failed.
In detail
In WebDAV, operations can be chained. If step one fails, step two is reported as 424 rather than being tried and failing on its own terms.
Borrowed by batch APIs for the same purpose: this item was skipped because a prerequisite item failed.
Fix the underlying failure. A 424 on its own contains no information about what is wrong with this particular request, because nothing is.
Examples
<response><href>/b</href><status>HTTP/1.1 424 Failed Dependency</status></response>Things that catch people out
- 424 is often confused with 503. 424 means a prior operation failed, not that a downstream service is unavailable.
- Retrying only the 424 items will keep failing until the dependency succeeds.
Try it: HTTP Request Builder
Build a request with any method, headers and body, send it, and read the status line the server returns.
HTTP Request Builder
LOCAL · Browser-OnlyBuild and test HTTP requests with custom headers and body
Authentication
Headers
Generate Code
curl -X GET 'https://api.example.com/endpoint' \
-H 'Content-Type: application/json'Showing a sample URL. Enter your endpoint above to update the snippet.
Related HTTP status codes
All http status codes →423 Locked
The resource is locked by WebDAV and cannot be modified until the lock is released or a valid lock token is supplied.
207 Multi-Status
A WebDAV response carrying several independent status codes at once, one for each resource the request touched.
409 Conflict
The request clashes with the current state of the resource, for example an edit based on a version that has since changed.
425 Too Early
The server refuses to process a request sent in TLS 1.3 early data, because early data can be replayed by an attacker.
426 Upgrade Required
The server refuses to serve this request over the current protocol and names, in the Upgrade header, what it will accept.
428 Precondition Required
The server requires the request to be conditional, and refuses an unconditional one to prevent a lost update.
Tools for this
- HTTP Request Builder Free online HTTP request builder - build and test HTTP requests with custom headers and body
- HTTP Headers Checker Free online HTTP headers checker - view HTTP response headers for any URL