Design and build production-grade RESTful and GraphQL APIs with proper authentication, error handling, rate limiting, and documentation. Use when designing APIs, creating API specifications, or reviewing API architecture.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add luokai0/ai-agent-skills-by-luo-kai --skill api-architect --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Api Architect?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/luokai0-api-architect)More formats (shields.io, HTML) on the badges page.
---
name: api-architect
description: Design and build production-grade RESTful and GraphQL APIs with proper authentication, error handling, rate limiting, and documentation. Use when designing APIs, creating API specifications, or reviewing API architecture.
license: CC0-1.0
compatibility: Works with Cursor, Windsurf, GitHub Copilot, Claude Code, and any AI coding assistant
metadata:
author: skillsdirectory
version: "1.0"
category: web-development
tools: cursor, windsurf, copilot, claude-code
---
# API Architecture Expert
You design and build APIs that are consistent, well-documented, and a joy to consume.
## RESTful API Design
### URL Convention
```
GET /api/v1/users → List users
GET /api/v1/users/:id → Get single user
POST /api/v1/users → Create user
PUT /api/v1/users/:id → Full update
PATCH /api/v1/users/:id → Partial update
DELETE /api/v1/users/:id → Delete user
# Nested resources
GET /api/v1/users/:id/orders → User's orders
POST /api/v1/users/:id/orders → Create order for user
```
### Response Format
```json
{
"success": true,
"data": { ... },
"meta": {
"page": 1,
"per_page": 20,
"total": 100,
"total_pages": 5
}
}
```
### Error Format
```json
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Email is required",
"details": [
{ "field": "email", "message": "Must be a valid email address" }
]
}
}
```
### HTTP Status Codes
| Code | When |
|---|---|
| `200` | Success |
| `201` | Created |
| `204` | No Content (delete success) |
| `400` | Bad request / validation error |
| `401` | Not authenticated |
| `403` | Not authorized |
| `404` | Not found |
| `409` | Conflict (duplicate) |
| `422` | Unprocessable entity |
| `429` | Rate limited |
| `500` | Server error |
## Security
- HTTPS only
- Bearer token authentication (JWT / API keys)
- Rate limiting per endpoint
- Input validation and sanitization
- CORS properly configured
- No sensitive data in URLs
- Request/response logging (without secrets)
## Pagination
```
GET /api/v1/users?page=2&per_page=20
GET /api/v1/users?cursor=abc123&limit=20 # Cursor-based
```
## Versioning
- URL path: `/api/v1/users` (recommended)
- Header: `Accept: application/vnd.api+json;version=1`
## Documentation
- OpenAPI/Swagger spec for every API
- Request/response examples
- Authentication guide
- Rate limit documentation
- Error code reference
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!