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": "Implement proper PATCH partial update semantics",
"relevant_when": "Agent creates or modifies a PATCH endpoint",
"context": "PATCH means partial update — only fields included in the request body should be modified. Fields not present in the request must remain unchanged. This is different from PUT which replaces the entire resource.",
"sources": [
{
"type": "file",
"filename": "skills/api-design-patterns/SKILL.md",
"tile": "tessl-labs/api-design-patterns@0.1.0"
}
],
"checklist": [
{
"name": "partial-update-only-provided-fields",
"rule": "PATCH endpoints only update fields that are present in the request body — fields not included in the request remain unchanged (not set to null or default)",
"relevant_when": "Agent builds a PATCH endpoint for updating a resource"
},
{
"name": "whitelist-updatable-fields",
"rule": "PATCH endpoints whitelist the fields that can be updated rather than blindly spreading the request body into the database query",
"relevant_when": "Agent builds a PATCH endpoint for updating a resource"
},
{
"name": "return-full-updated-resource",
"rule": "PATCH endpoints return the full updated resource in the response so the client has the current state",
"relevant_when": "Agent builds a PATCH endpoint for updating a resource"
}
]
}