HTTP status codes / 4xx — Client errors

418 I'm a teapot

In one sentence

An April Fools RFC classic: the teapot refuses to brew coffee.

What it means

Defined in RFC 2324 (Hyper Text Coffee Pot Control Protocol) as a joke: a teapot, asked to brew coffee, politely refuses. Kept alive by tradition; some real services use it for playful rate-limit or bot responses.

Common causes

Reproduce it in cURL

curl -i https://httpbin.org/status/418

Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.

How to debug it

If a production API sends 418, it is usually a tongue-in-cheek bot/abuse response — treat it as "blocked" and check your request pattern.

Server-side note: Treat as "blocked with humor" — check your request pattern and headers.

The fastest way to pin down a 418 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.

Related codes

400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 404 Not Found · 405 Method Not Allowed — or the full reference.

Reproduce that 418 in 10 seconds.

Build the request, send it, read status + headers + timing — on your iPhone. Free to start.