Skip to content
Agentmart
Submit a tool

diseno-api

Diseña APIs REST con códigos de estado correctos, paginación, errores, versionado y HATEOAS.

Skill by tontojil

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tontojil-diseno-api

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Diseña APIs REST con códigos de estado correctos, paginación, errores, versionado y HATEOAS. Usalo cuando creai endpoints, revisai una API o refactorizai rutas. (RESTful APIs, pagination, versioning, HATEOAS)

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/diseno-api

What's inside

Skill name
diseno-api
Description
Diseña APIs REST con códigos de estado correctos, paginación, errores, versionado y HATEOAS. Usalo cuando creai endpoints, revisai una API o refactorizai rutas. (RESTful APIs, pagination, versioning, HATEOAS)
License
MIT
Instructions
106 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# API Design

RESTful API design focused on consistency, scalability, and developer experience.

## Cuando usar

- Creating new endpoints or resources.
- Reviewing existing API design.
- Defining API contracts for microservices.
- User asks about versioning, pagination, or response structure.

## Principles

### URLs
- Plural nouns: `/users`, `/users/:id/orders`.
- No verbs in the URL. The action is defined by the HTTP method.
- Max 3 nesting levels. More → evaluate a root resource.

### HTTP Methods

| Method | Route | Description |
|---|---|---|
| `GET` | `/users` | List with filters and pagination |
| `GET` | `/users/:id` | Get one |
| `POST` | `/users` | Create |
| `PUT` | `/users/:id` | Full replace |
| `PATCH` | `/users/:id` | Partial update |
| `DELETE` | `/users/:id` | Delete (soft delete) |

### Status Codes

| Codes | Use |
|---|---|
| `200` | Successful GET/PUT/PATCH |
| `201` | Successful POST (with Location header) |
| `204` | Successful DELETE (no body) |
| `400` | Client validation error |
| `401` | Not authenticated |
| `403` | Authenticated but no permissions |
| `404` | Resource not found |
| `409` | Conflict (duplicate, invalid state) |
| `422` | Unprocessable entity (validation errors) |
| `429` | Rate limit exceeded |
| `500` | Internal error (never expose details) |

### Response Envelope

Every response follows this structure:

```json
{
  "data": {},
  "error": null,
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 150
  }
}
```

Error:
```json
{
  "data": null,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The email field is required",
    "details": [{"field": "email", "reason": "required"}]
  },
  "meta": null
}
```

### Pagination

- Always paginate collections. No exceptions.
- Parameters: `?page=1&per_page=20`. Max `per_page=100`.
- Response includes `meta` with `page`, `per_page`, `total`, `total_pages`.
- Cursor-based for large datasets or real-time.

### Versioning

- In the header: `Accept: application/vnd.api.v2+json`.
- Fallback to URL: `/v2/users` if header isn't viable.
- Deprecation: warning in `Sunset` header + migration path documentation.

### Filtering, Sorting, Search

```http
GET /users?status=active&role=admin     → exact filters
GET /users?q=juan                        → text search
GET /users?sort=-created_at,name         → sorting (- for desc)
GET /users?include=orders,profile        → related resources
```

### Rate Limiting

Mandatory headers on every response:
```http
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1623456789
```

From tontojil/PerfeckCode, MIT.

More from tontojil/PerfeckCode

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 13, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tontojil

Cite this page

diseno-api skill. Agent Mart. https://agentmart.dev/skills/tontojil-diseno-api (last updated 2026-10-24)