Run any Skill in Manus
with one click
with one click
Run any Skill in Manus with one click
Get Started$pwd:
$ git log --oneline --stat
stars:1
forks:0
updated:April 8, 2026 at 16:04
SKILL.md
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | api-design |
| description | REST API design patterns and conventions |
| tags | ["api","design","rest"] |
Guidelines for designing REST APIs.
Design around resources, not actions.
GET /users/123 — Get a userPOST /users — Create a userPUT /users/123 — Update a userDELETE /users/123 — Delete a userGET /getUser — Action-orientedPOST /createNewUser — Redundant with HTTP method| Method | Purpose | Idempotent |
|---|---|---|
| GET | Retrieve | Yes |
| POST | Create | No |
| PUT | Full update | Yes |
| PATCH | Partial update | No |
| DELETE | Delete | Yes |
200 OK — Request succeeded201 Created — Resource created (include Location header)204 No Content — Success, no response body400 Bad Request — Invalid input401 Unauthorized — Authentication required403 Forbidden — Authenticated, not allowed404 Not Found — Resource doesn't exist422 Unprocessable Entity — Valid format, semantic error500 Internal Server Error — Unexpected error503 Service Unavailable — Temporarily downConsistent error format:
{
"error": {
"code": "INVALID_INPUT",
"message": "User email is required",
"details": {
"field": "email"
}
}
}
{
"userId": 123,
"name": "Alice",
"email": "alice@example.com",
"createdAt": "2026-01-15T10:30:00Z"
}
2026-01-15T10:30:00ZGET /users?page=1&limit=20
Response:
{
"data": [{...}, {...}],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"hasMore": true
}
}
GET /users?role=admin&status=active
GET /posts?sort=createdAt:desc,title:asc
GET /v1/users
GET /v2/users
Accept: application/vnd.myapi.v1+json
Announce 12 months before deprecating old versions.
Authorization: Bearer <token>
X-API-Key: your-key-here
Include in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 500
X-RateLimit-Reset: 1234567890
GET /organizations/org1/teams/team1/members
Or flatten with query params:
GET /members?organizationId=org1&teamId=team1
POST /users/batch
{
"operations": [
{"op": "create", "data": {...}},
{"op": "update", "id": "123", "data": {...}}
]
}