CtrlK
BlogDocsLog inGet started
Tessl Logo

jbvc/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

67

Quality

67%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

response.md

Response Format Principles

Consistency is key - choose a format and stick to it.

Common Patterns

Choose one:
├── Envelope pattern ({ success, data, error })
├── Direct data (just return the resource)
└── HAL/JSON:API (hypermedia)

Error Response

Include:
├── Error code (for programmatic handling)
├── User message (for display)
├── Details (for debugging, field-level errors)
├── Request ID (for support)
└── NOT internal details (security!)

Pagination Types

TypeBest ForTrade-offs
OffsetSimple, jumpablePerformance on large datasets
CursorLarge datasetsCan't jump to page
KeysetPerformance criticalRequires sortable key

Selection Questions

  1. How large is the dataset?
  2. Do users need to jump to specific pages?
  3. Is data frequently changing?

api-style.md

auth.md

documentation.md

graphql.md

rate-limiting.md

response.md

rest.md

security-testing.md

SKILL.md

tile.json

trpc.md

versioning.md