---
issue: 017
title: "updateOffer uses PUT /marketplace/offers/:id but backend registers PATCH /offers/:id — offer edits fail"
severity: major
domain: Seller Offer
status: resolved
resolved: 2026-05-29
fix: "Changed axiosInstance.put to axiosInstance.patch in updateOffer in marketplace.ts — matches backend PATCH /offers/:id."
labels: [bug, frontend, major, broken-feature]
status: open
created: 2026-05-29
source: Doc vs Code Audit 2026-05-29
---

# 🟠 updateOffer uses PUT /marketplace/offers/:id but backend registers PATCH /offers/:id — offer edits fail

**Severity:** major
**Domain:** Seller Offer
**Labels:** bug, frontend, major, broken-feature

## Description

Frontend updateOffer action (src/actions/marketplace.ts line 289) uses axiosInstance.put() against /marketplace/offers/:id. Backend registers router.patch('/offers/:id') at routes.ts line 1260. Method mismatch. step-1-send-proposal.tsx actively calls updateOffer() for existing offer edits.

## Current Behavior

Offer price/ETA/notes edits from the seller proposal form fail silently or 404.

## Expected Behavior

updateOffer should use axiosInstance.patch().

## Affected Files

- `frontend/src/actions/marketplace.ts`

## References

- [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md)
