materials.update
Change a recorded material's quantity, visit or notes. Anything else (a different item or price): remove it and add it again. A field worker changes only materials they entered.
| Who | Agents can call this |
| REST | POST /v1/materials/update |
| MCP tool | materials_update |
| Writes | yes, send an Idempotency-Key |
| Area | Field work (checklists, forms, time, notes, change orders, subcontractors) |
When to use it
Record what went into a job: materials.add from the price book (pricebook_item_id; its name, unit, price, cost and taxable are copied as they are today) or typed in, optionally on one visit. Afterwards only the quantity, visit and notes change (materials.update); for anything else remove it (materials.remove keeps it in history with who and why) and add it again.
What to tell the owner
Say what you did in plain words and what happens next.
Input
| Field | Type | Required |
|---|---|---|
material_id | string (uuid) | yes |
quantity | number | no |
visit_id | ['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')'] | no |
notes | ['string', 'null'] | no |
Example
POST https://doingwork.work/v1/materials/update
content-type: application/json
Idempotency-Key: 3f1c...
{
"material_id": "00000000-0000-4000-8000-000000000000"
}Output
JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.
Errors
| Code | Status | What to do |
|---|---|---|
invalid_input, invalid_token, rate_limited | Can happen on any call. See errors. |