--- issue: "012" title: "updateOffer sends PUT but backend registers PATCH — offer edits fail" severity: major domain: seller-offer labels: [frontend, bug] status: open created: 2026-05-29 source: Doc vs Code Audit 2026-05-29 --- # 🟠 updateOffer sends PUT but backend registers PATCH — offer edits fail **Severity:** major **Domain:** seller-offer **Labels:** frontend, bug ## Description `frontend/src/actions/marketplace.ts` (line ~289) calls `axiosInstance.put(endpoints.marketplace.offers.update)` mapping to `PUT /marketplace/offers/:id`. The backend registers `PATCH /offers/:id` (routes.ts line ~1260). Method mismatch → 404 or matched wrong route. `step-1-send-proposal.tsx` calls `updateOffer()` for proposal edits, so this path is actively exercised. ## Current Behavior A seller editing an existing proposal sends `PUT /marketplace/offers/:id` which does not match the registered `PATCH` handler. ## Expected Behavior `updateOffer` should use `axiosInstance.patch(...)`. ## Affected Files - `frontend/src/actions/marketplace.ts` — `updateOffer` function ## References - [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md) — Finding M28