Module 03 Activity
Scenario
Design the HTTP surface so a client that did not read your source can still behave correctly.
What you build
An endpoint set with correct methods, meaningful status codes, and documented idempotency.
Steps
- For every operation, choose the method from what it promises about safety and idempotency. Justify any POST used for a read.
- Assign a status code to every outcome, including the error paths. State which are worth retrying.
- Find anything returning 200 with an error inside the body and fix it.
- Type any monetary value as a decimal and confirm what arrives on the wire.
- For every creating POST, design the idempotency key the client supplies and you store.
- Read the generated documentation and list what it cannot express about your endpoints.
Evidence to hand in
- Methods with their justification.
- The status code map, with the retryable set marked.
- Any 200-with-error you fixed.
- The wire format for a monetary value.
- The idempotency key design.
- What the generated docs cannot say.
Review checklist
- Every method is justified by its safety and idempotency promises.
- No endpoint returns 200 with an error inside the body.
- Monetary values are decimals, not floats.
- Every creating POST has an idempotency scheme.
- What the generated docs cannot express is written down separately.
