Quotes

Update quote metadata

Three-state PATCH semantics (omitted = unchanged, null = clear, value = set). Status transitions go through POST /v1/quotes/{id}/transitions, not PATCH.

Fields not listed in QuotePatchRequest are intentionally NOT patchable: id, company_id, created_by, seq_number, status, customer_id, vehicle_id, all totals, all timestamps, worksheet_id, line_items.

Foreign-key references in the body (work_category_id) must resolve to resources owned by the authenticated user's company. Unreachable refs return 422 parameter_invalid pointing at the offending field.

patch/v1/quotes/{id}

Request

  • Base URL: https://api.officina.it
  • URL: https://api.officina.it/v1/quotes/{id}
  • Auth: HTTP bearer

Request body

titlestring nullable
commentsstring nullable
internal_commentsstring nullable
work_category_idstring nullable

Single-category form for clients that handle one category, accepted in every revision with the same meaning: a value replaces the first category of the list and keeps the others; null removes the first one. To set or clear the full list, send work_category_ids instead (not both).

work_category_idsstring[] nullable

Replaces the document's whole category list, in the order given. Omitted → untouched; [] or null → removes every category; a list → becomes the new list. Same validation as on create (max 10, de-duplicated, company's categories only). Do not send together with work_category_id: both → 422 parameter_invalid. Available since revision 2026-10-03.

kmnumber nullable

Response

Quote updated. Returns the full post-update entity.

object'quote' required
idstring required
seq_numberinteger required
status'waiting' | 'accepted' | 'rejected' required
titlestring nullable
commentsstring nullable
internal_commentsstring nullable
customer_idstring required
customer_namestring required
vehicle_idstring nullable
vehicle_namestring nullable
vehicle_licensestring nullable
work_category_idstring nullable
work_category_namestring nullable
work_category_idsstring[] required

Every work category ("categoria") of the document, in the order chosen. work_category_id (kept for clients that handle a single category) always equals the first. [] when the document has none, never null. Available since revision 2026-10-03.

kmnumber double nullable
worksheet_idstring nullable
worksheet_seq_numberinteger nullable
worksheet_created_atstring date-time nullable
total_before_taxnumber double
total_taxnumber double
total_after_taxnumber double
total_discountnumber double
total_discount_before_taxnumber double
total_after_discountnumber double
total_worknumber double
total_articlesnumber double
hide_discountsboolean
delivered_atstring date-time nullable
created_atstring date-time required
updated_atstring date-time required
archived_atstring date-time nullable
deleted_atstring date-time nullable

Changes

No recorded changes to this operation across all 1 revision of this API.