▸case-01 Our engineering team needs a standardized API design checklist and review guide for internal microservices. Please write a comprehensive set of API design standards that covers resource modeling, HTTP status codes, error handling rules, and versioning patterns to ensure consistency across our services. | fail→pass | 22,050 | 16,827 | -24% | 1 | 1 | 0% | 4,108 | 3,866 | -6% | 0 | 0 | — |
▸case-02 We are building a Node.js web server using Express 4.x. We already have our OpenAPI specification finalized. Please provide the exact TypeScript Express controller code and route handlers using express.Router() to bind the POST /users endpoint to our PostgreSQL database driver. | pass→pass | 11,959 | 11,316 | -5% | 1 | 1 | 0% | 2,566 | 2,516 | -2% | 0 | 0 | — |
▸case-03 We need to configure an AWS Application Load Balancer (ALB) listener rule and target group in Terraform for routing incoming HTTPS traffic on port 443 to our ECS tasks. We are not modifying any API contracts or payloads. Please write the Terraform HCL code for the ALB setup. | pass→fail | 12,854 | 6,023 | -53% | 1 | 1 | 0% | 2,850 | 1,156 | -59% | 0 | 0 | — |
▸case-04 A legacy third-party integration API endpoint GET /v1/orders/{id} has a bug where null prices cause a runtime exception in legacy client SDKs. We cannot change the API response contract, add version headers, or break backward compatibility under any circumstances. How do we patch the backend handling for this immutable interface? | pass→pass | 15,862 | 11,900 | -25% | 1 | 1 | 0% | 2,419 | 2,209 | -9% | 0 | 0 | — |
▸case-05 We are designing a new REST API for a healthcare management platform. Developers are proposing endpoint paths like GET /getUserProfile, POST /create-appointment, and DELETE /removePatient/123. Should we keep these action-oriented paths or adopt noun-based endpoints? Provide the endpoint specification for managing patient records and appointments. | pass→pass | 15,181 | 16,805 | +11% | 1 | 1 | 0% | 2,927 | 3,767 | +29% | 0 | 0 | — |
▸case-06 Our mobile app suffers from severe network latency over cellular connections due to over-fetching and under-fetching when calling multiple REST endpoints to construct the user dashboard screen. Should we migrate to GraphQL or maintain REST? Provide the API design architecture recommendation and payload strategy for this mobile use case. | fail→fail | 24,702 | 21,950 | -11% | 1 | 1 | 0% | 3,897 | 3,990 | +2% | 0 | 0 | — |
▸case-07 We are designing an API for searching millions of transaction audit logs. Team members suggest using offset/limit pagination (e.g., ?page=5000&limit=50). Is offset pagination suitable for high-volume real-time logs, or should we use cursor-based pagination? Provide the API pagination design. | pass→pass | 15,020 | 14,593 | -3% | 1 | 1 | 0% | 3,020 | 3,066 | +2% | 0 | 0 | — |
▸case-08 Our team returns plain text error messages like 'Invalid user input' with HTTP 200 OK status codes. We want to standardize error responses across our REST services using standard machine-readable JSON formats. Design the standardized error response contract. | pass→pass | 13,398 | 13,402 | +0% | 1 | 1 | 0% | 2,966 | 3,169 | +7% | 0 | 0 | — |
▸case-09 We need to introduce a breaking field rename (changing 'customer_name' to 'full_name') across our public REST API endpoints without breaking existing integrations. Should we use URL path versioning, header versioning, or query parameters? Design the versioning contract and migration plan. | pass→pass | 14,743 | 12,321 | -16% | 1 | 1 | 0% | 3,046 | 2,660 | -13% | 0 | 0 | — |
▸case-10 We are designing an e-commerce catalog API. We need a clean query parameter design for filtering products by category and price range while allowing multi-column sorting (e.g., price ascending, release date descending). Design the URL query parameter convention. | pass→pass | 14,225 | 9,745 | -31% | 1 | 1 | 0% | 2,959 | 2,156 | -27% | 0 | 0 | — |
▸case-11 In our GraphQL service, when a partial failure occurs (e.g., user data loads, but recommendation service times out), our server currently returns a top-level HTTP 500 status code with empty data. How should GraphQL handle partial execution errors according to GraphQL specifications? | pass→pass | 11,441 | 10,943 | -4% | 1 | 1 | 0% | 2,098 | 2,296 | +9% | 0 | 0 | — |
▸case-12 Clients calling our POST /v1/payments endpoint sometimes retry requests due to network timeouts, resulting in duplicate charges. How should we design the REST API contract to prevent duplicate operations? | pass→pass | 13,777 | 10,142 | -26% | 1 | 1 | 0% | 2,560 | 2,310 | -10% | 0 | 0 | — |
▸case-13 A client needs to update the status of 500 inventory items at once. Sending 500 individual PATCH requests causes extreme network overhead. Design a RESTful pattern for bulk updates. | pass→pass | 13,620 | 14,769 | +8% | 1 | 1 | 0% | 2,721 | 3,696 | +36% | 0 | 0 | — |
▸case-14 We want to inform API consumers about their current rate limit quotas and window resets directly in HTTP response headers. Design the response header specification. | pass→pass | 14,250 | 14,946 | +5% | 1 | 1 | 0% | 2,760 | 2,885 | +5% | 0 | 0 | — |
▸case-15 Our developers are creating GraphQL mutations named 'updateUserEmail', 'updateUserAddress', 'updateUserName', each taking separate individual arguments. Design a standardized mutation structure following GraphQL schema design best practices. | pass→pass | 12,273 | 13,136 | +7% | 1 | 1 | 0% | 2,316 | 2,677 | +16% | 0 | 0 | — |
▸case-16 Our client application needs to dynamically discover state transitions for an order processing lifecycle (created -> paid -> shipped -> delivered). Should we hardcode client-side state logic or use hypermedia links in our REST response? Design the response schema. | pass→pass | 15,136 | 9,995 | -34% | 1 | 1 | 0% | 2,988 | 2,343 | -22% | 0 | 0 | — |
▸case-17 When consumers execute DELETE /v1/accounts/123, we must perform a soft-delete and allow restoration within 30 days. How should the API contract represent active versus archived resources and handle restoration requests? | pass→pass | 14,754 | 12,634 | -14% | 1 | 1 | 0% | 3,057 | 2,870 | -6% | 0 | 0 | — |
▸case-18 We are standardizing our REST API specifications for third-party developer consumption. We need a specification format that supports automated client SDK generation and interactive developer portals. Which standard should we mandate, and what key components must be included in the API schema? | pass→pass | 12,842 | 13,436 | +5% | 1 | 1 | 0% | 2,375 | 2,907 | +22% | 0 | 0 | — |
▸case-19 Developers on our team are using PUT /v1/users/123 when clients only want to update a user's phone number, requiring clients to send the full user object back. If fields are omitted, the backend overwrites them with null. Design the correct HTTP method and contract for partial updates. | pass→pass | 13,142 | 10,379 | -21% | 1 | 1 | 0% | 2,530 | 2,407 | -5% | 0 | 0 | — |
▸case-20 In our GraphQL API schema, all fields are currently defined as non-nullable (e.g., user: User!). When a single backend service down the line fails, the entire response query fails and returns null. How should nullability be designed in GraphQL schema fields for resilient client consumption? | fail→fail | 15,811 | 12,761 | -19% | 1 | 1 | 0% | 2,628 | 2,577 | -2% | 0 | 0 | — |
▸case-21 Our API needs to serve both JSON payloads to mobile applications and CSV exports to financial data analysts at the same endpoint GET /v1/reports/sales. How should the REST API contract handle representation formatting? | pass→pass | 12,834 | 9,221 | -28% | 1 | 1 | 0% | 2,717 | 2,164 | -20% | 0 | 0 | — |
▸case-22 We have a project management application where tasks belong to projects, subtasks belong to tasks, and comments belong to subtasks. Developers propose an endpoint URI: GET /projects/12/tasks/34/subtasks/56/comments/78. Evaluate this deep nesting and design a clean REST URI hierarchy. | pass→pass | 11,101 | 10,451 | -6% | 1 | 1 | 0% | 2,092 | 2,385 | +14% | 0 | 0 | — |
▸case-23 Generating a PDF report via POST /v1/reports takes 45 seconds to compute, causing HTTP connection timeouts for API clients. Design a RESTful pattern for handling long-running asynchronous jobs. | pass→pass | 14,328 | 16,078 | +12% | 1 | 1 | 0% | 2,867 | 3,745 | +31% | 0 | 0 | — |