REST API design patterns — response envelopes, pagination, filtering, status codes, and resource naming
87
83%
Does it follow best practices?
Impact
98%
1.78xAverage score across 4 eval scenarios
Passed
No known issues
{
"instruction": "Support pagination on all list endpoints",
"relevant_when": "Agent creates or modifies a REST API endpoint that returns a list of resources",
"context": "Unbounded list queries will crash or timeout as data grows. Every list endpoint must support pagination with safe defaults and a maximum page size.",
"sources": [
{
"type": "file",
"filename": "skills/api-design-patterns/SKILL.md",
"tile": "tessl-labs/api-design-patterns@0.1.0"
}
],
"checklist": [
{
"name": "list-endpoints-paginated",
"rule": "Every GET endpoint that returns a list of resources supports pagination via query parameters (cursor/limit or page/limit)",
"relevant_when": "Agent builds a GET endpoint that returns an array of resources"
},
{
"name": "default-and-max-limit",
"rule": "Pagination has a default limit (e.g., 20) and a maximum limit (e.g., 100) that clamps client-provided values",
"relevant_when": "Agent builds a paginated list endpoint"
},
{
"name": "pagination-metadata-in-response",
"rule": "Paginated responses include pagination metadata (next_cursor/has_more for cursor-based, or page/total/total_pages for offset-based) alongside the data array",
"relevant_when": "Agent builds a paginated list endpoint"
}
]
}