September 13, 2026 · Yunus Emre Vurgun
HTTP Methods: GET, POST, PUT, PATCH, DELETE
HTTP defines a small set of methods, and each one carries a contract about safety and idempotency. Get those two properties right and retries, caching, and API design mostly fall into place. Here is the full reference.
The methods
| Method | Purpose | Safe | Idempotent | Body |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | No |
| POST | Create a resource | No | No | Yes |
| PUT | Replace a resource | No | Yes | Yes |
| PATCH | Partially modify a resource | No | No | Yes |
| DELETE | Delete a resource | No | Yes | Maybe |
| HEAD | GET without response body | Yes | Yes | No |
| OPTIONS | Describe communication options | Yes | Yes | No |
| TRACE | Echo request for diagnostics | Yes | Yes | No |
PUT vs PATCH, precisely
PUT replaces the entire resource: sending the same PUT twice leaves the same state, which is why it is idempotent. PATCH applies a partial change, and repeating a partial change is not guaranteed to be a no-op ("append tag X" applied twice appends twice), so PATCH is not idempotent in general. If your API supports safe retries, PUT is the friendlier choice for updates.
Why idempotency decides your retry policy
A client may retry any idempotent request after a network failure without fear of double effects: GET, PUT, DELETE, HEAD, OPTIONS. POST is the exception — retrying a POST can create the resource twice, which is why payment APIs pair POST with idempotency keys. Teach this table to an agent once and it stops guessing which failures are safe to retry; the pattern is the same one in error handling patterns for AI agents.
Fetch it as data
The table above is the HTTP Methods Reference dataset. One request returns every row in JSON, YAML, or TOON:
curl "https://yjtoon.com/api/dataset/http-methods-reference?format=toon"Pair it with the status codes dataset and an agent has the two tables that cover most HTTP debugging. For CORS preflights (where OPTIONS does real work), see the CORS guide.