What 408 means
The client opened a connection but was too slow sending the request. Different from a gateway timeout (504), where the server is the slow one.
Common causes
- A slow or unstable network.
- A large upload over a slow connection.
- Idle keep-alive connections being closed.
How to fix it
If you're calling an API
- Retry; most clients do this automatically for idempotent requests.
If you run the server
- Tune request timeouts for large uploads.
Should you retry?
Yes, it's usually safe to retry.
Example response
HTTP/1.1 408 Request Timeout
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Request Timeout",
"status": 408,
"detail": "The server gave up waiting for the client to finish sending the request."
}Defined in: RFC 9110 (HTTP Semantics). 408 is a client error: change the request before retrying.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.