Quick reference for RESTful API design patterns, HTTP semantics, caching, and rate limiting. Triggers on: rest api, http methods, status codes, api design, endpoint design, api versioning, rate limiting, caching headers.
Install with Tessl CLI
npx tessl i github:NeverSight/skills_feed --skill rest-patterns96
Does it follow best practices?
Validation for skill structure
Quick reference for RESTful API design patterns and HTTP semantics.
| Method | Purpose | Idempotent | Cacheable |
|---|---|---|---|
| GET | Retrieve resource(s) | Yes | Yes |
| POST | Create new resource | No | No |
| PUT | Replace entire resource | Yes | No |
| PATCH | Partial update | Maybe | No |
| DELETE | Remove resource | Yes | No |
| Code | Name | Use |
|---|---|---|
| 200 | OK | Success with body |
| 201 | Created | POST success (add Location header) |
| 204 | No Content | Success, no body |
| 400 | Bad Request | Invalid syntax |
| 401 | Unauthorized | Not authenticated |
| 403 | Forbidden | Not authorized |
| 404 | Not Found | Resource doesn't exist |
| 422 | Unprocessable | Validation error |
| 429 | Too Many Requests | Rate limited |
| 500 | Server Error | Internal failure |
GET /users # List
POST /users # Create
GET /users/{id} # Get one
PUT /users/{id} # Replace
PATCH /users/{id} # Update
DELETE /users/{id} # Delete
# Query parameters
GET /users?page=2&limit=20 # Pagination
GET /users?sort=created_at:desc # Sorting
GET /users?role=admin # Filteringno-store for sensitive responses| Mistake | Fix |
|---|---|
| Verbs in URLs | /getUsers → /users |
| Deep nesting | Flatten or use query params |
| 200 for errors | Use proper 4xx/5xx |
| No pagination | Always paginate collections |
| Missing rate limits | Protect against abuse |
| Task | Pattern |
|---|---|
| Paginate | ?page=2&limit=20 |
| Sort | ?sort=field:asc |
| Filter | ?status=active |
| Sparse fields | ?fields=id,name |
| Include related | ?include=orders |
For detailed patterns, load:
./references/status-codes.md - Complete status code reference with examples./references/caching-patterns.md - Cache-Control, ETag, CDN patterns./references/rate-limiting.md - Rate limiting strategies and headers./references/response-formats.md - Errors, versioning, bulk ops, HATEOAS5c15b3d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.