A tiny pizzeria backend: menu, order placement with validation, an order-status flow — and /oven/status, which always returns 500 for negative testing.
The Pizza Orders API is a small order-lifecycle service: a menu, orders that move through states, and an oven endpoint that fails on purpose. It is the page to open when you need a guaranteed, repeatable 500 — most sandboxes make server errors impossible to reproduce, which is exactly why retry logic and error handling so often ship untested.
Base URL: https://funapi.dev/api/pizza/v1 · 9 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.
six pizzas, one controversial
DELETE /pizza/v1/menu — Delete the menu — always 405, the menu is read-onlyGET /pizza/v1/menu — Get the menureceived → baking → out-for-delivery → delivered
POST /pizza/v1/orders — Place an order (validated)GET /pizza/v1/orders/{id} — Track an orderPUT /pizza/v1/orders/{id}/status — Update order status (requires Bearer auth)PATCH /pizza/v1/orders/{id} — Partially update an order (address or size)DELETE /pizza/v1/orders/{id} — Cancel an order (409 if already delivered)do not trust the oven
GET /pizza/v1/oven/status — Always returns 500 — for negative testsGET /pizza/v1/oven/preheat — Preheat the oven — always takes ~3s