418 I'm a Teapot
An April Fools joke from the Hyper Text Coffee Pot Control Protocol, permanently reserved so it can never be reused.
Status
HTTP/1.1 418 I'm a Teapot
Details
- Category: 4xx
- Status: Reserved. Reserved in the registry and not usable as a real response.
- Specification: RFC 2324 §2.3.2, RFC 9110 §15.5.19: Reserved as unused
- Cacheable: Only with explicit cache headers
- Response body: Allowed
- Retry: Do not retry
418 comes from RFC 2324, a 1998 April Fools specification for controlling coffee pots over HTTP: any attempt to brew coffee with a teapot must return 418. RFC 7168 later extended the joke to teapots that are asked to brew tea.
It is not a real HTTP status code, but it is not available either. Attempts to reclaim 418 for practical use were rejected, and RFC 9110 lists it as reserved because too many implementations already reference it. Some sites still return it as an easter egg or as a deliberately opaque response to bots.
Note: 418 is permanently reserved and cannot be reclaimed for real use. Do not build meaning on top of it in a production API.
Common causes
- A deliberate joke endpoint.
- An application using it as an obscure signal, sometimes to confuse automated clients.
Usage notes
For clients
- Handle it as a generic 4xx. Do not attempt to interpret it as a defined condition.
For servers
- Do not use it in production APIs. Choose a code that carries meaning to clients and monitoring.
Examples
Asking a teapot for coffee
HTTP request
GET /brew HTTP/1.1 Host: teapot.example.com
HTTP response
HTTP/1.1 418 I'm a Teapot Content-Type: text/plain I refuse to brew coffee because I am, permanently, a teapot.
Specifications
- RFC 2324 §2.3.2
- RFC 9110 §15.5.19: Reserved as unused