CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/api-design-patterns

REST API design patterns — response envelopes, pagination, filtering, status codes, and resource naming

87

1.78x
Quality

83%

Does it follow best practices?

Impact

98%

1.78x

Average score across 4 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

pagination-support.jsonverifiers/

{
  "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"
    }
  ]
}

tile.json