# REST API Design: Principles That Stand the Test of Time
Good API design is an art. Here are the principles I follow when designing APIs.
1. Use Nouns, Not Verbs
- Resources should be nouns:
- ✅ GET /users
- ❌ GET /getUsers
2. HTTP Methods Matter
- GET: Retrieve resources
- POST: Create resources
- PUT/PATCH: Update resources
- DELETE: Delete resources
3. Use Proper Status Codes
- 200: Success
- 201: Created
- 400: Bad Request
- 401: Unauthorized
- 404: Not Found
- 500: Server Error
4. Versioning
- Always version your APIs:
- /api/v1/users
- /api/v2/users
5. Pagination
For large datasets, implement pagination:
{
"data": [...],
"pagination": {
"page": 1,
"pageSize": 20,
"total": 100
}
}
6. Error Responses
Consistent error responses help developers:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Email is required",
"fields": ["email"]
}
}
Conclusion
Great API design makes your API a joy to use. Follow these principles to create APIs that developers love.
