rest-api-design

Design RESTful APIs with proper conventions and developer experience.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "rest-api-design" with this command: npx skills add secondsky/claude-skills/secondsky-claude-skills-rest-api-design

REST API Design

Design RESTful APIs with proper conventions and developer experience.

Resource Naming

Good - nouns, plural, hierarchical

GET /api/users GET /api/users/123 GET /api/users/123/orders POST /api/users PATCH /api/users/123 DELETE /api/users/123

Bad - verbs, actions in URL

GET /api/getUsers POST /api/createUser POST /api/users/123/delete

HTTP Methods

Method Purpose Idempotent

GET Read resource Yes

POST Create resource No

PUT Replace resource Yes

PATCH Partial update Yes

DELETE Remove resource Yes

Status Codes

Code Meaning Use For

200 OK Successful GET, PATCH

201 Created Successful POST

204 No Content Successful DELETE

400 Bad Request Validation errors

401 Unauthorized Missing auth

403 Forbidden Insufficient permissions

404 Not Found Resource doesn't exist

429 Too Many Requests Rate limited

Response Format

{ "data": { "id": "123", "type": "user", "attributes": { "name": "John", "email": "john@example.com" } }, "meta": { "requestId": "req_abc123" } }

Collection Response

{ "data": [...], "pagination": { "page": 1, "limit": 20, "total": 150, "totalPages": 8 }, "links": { "self": "/api/users?page=1", "next": "/api/users?page=2" } }

Query Parameters

GET /api/products?category=electronics # Filtering GET /api/products?sort=-price,name # Sorting GET /api/products?page=2&limit=20 # Pagination GET /api/products?fields=id,name,price # Field selection

Best Practices

  • Use nouns for resources, not verbs

  • Version API via URL path (/api/v1/ )

  • Return appropriate status codes

  • Include pagination for collections

  • Document with OpenAPI/Swagger

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

claude-code-bash-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

chrome-devtools

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

workers-dev-experience

No summary provided by upstream source.

Repository SourceNeeds Review