CtrlK
BlogDocsLog inGet started
Tessl Logo

mcclowes/api-design

Use when designing, reviewing, or implementing HTTP APIs — error and warning handling, resource state and lifecycle, read-endpoint structure, pagination, and authentication. Triggers on error responses and formats, response envelopes, webhook payloads, how an endpoint should fail; modelling a resource lifecycle (status fields, state machines, webhook event names, enum vs parseable string); structuring read endpoints (screen-shaped/BFF vs canonical resource, aggregation, cursor vs offset pagination); and auth design (security schemes, API keys vs bearer tokens, stepped-up tokens). Apply whenever an API surfaces a failure, state change, view of data, or auth requirement to a client.

96

1.70x
Quality

90%

Does it follow best practices?

Impact

99%

1.70x

Average score across 8 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

task.mdevals/scenario-7/

Structure a chatty dashboard screen's data access

Our React dashboard has a customer detail screen that shows the customer, their last 5 invoices, their outstanding balance, and a formatted 'next action' label. Right now the frontend calls GET /customers/{id}, then GET /customers/{id}/invoices, then computes the balance and the label itself. It feels chatty and the logic is duplicated in our mobile app. Should we just add all those fields to GET /customers/{id}? How should we structure this?

README.md

SKILL.md

tile.json