Checkins

Update a checkin

Three-state PATCH semantics (omitted = unchanged, null = clear, value = set).

Fields NOT patchable here: status (use the transitions endpoint), customer_id, vehicle_id (immutable), seq_number, created_by, timestamps, line_items.

Returns the fully materialized post-update checkin.

Foreign-key references in the body (work_category_id, worksheet_id, quote_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/checkins/{id}

Request

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

Request body

titlestring nullable
commentsstring nullable
internal_commentsstring nullable
fuel_levelinteger nullable
section1string nullable
section2string nullable
section3string nullable
section4string nullable
section5string nullable
section6string nullable
section7string nullable
section8string nullable
kmnumber 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.

worksheet_idstring nullable
quote_idstring nullable

Response

Checkin updated.

object'checkin' required
idstring required
seq_numberinteger required

Per-company human-readable sequence (e.g. "Checkin #142"). Assigned at create time and stable afterwards.

status'active' | 'completed' required

Lifecycle state. Mutated only through POST /v1/checkins/{id}/transitions, never via PATCH.

titlestring nullable
commentsstring nullable
internal_commentsstring nullable

Notes visible only to workshop staff.

customer_idstring required
vehicle_idstring required
work_category_idstring nullable
worksheet_idstring nullable

Set when the checkin has been converted into a worksheet.

quote_idstring nullable

Set when the checkin has been converted into a quote.

fuel_levelinteger nullable

Free-form integer captured at intake. Convention is 0–100 (percentage) but the API enforces no bounds today.

section1string nullable
section2string nullable
section3string nullable
section4string nullable
section5string nullable
section6string nullable
section7string nullable
section8string nullable
kmnumber nullable

Odometer reading at intake.

created_bystring required

User id of the staff member who created the checkin.

customer_namestring required

Denormalized display string of the linked customer. Pre-computed on the entity for list-row rendering without a second request.

vehicle_namestring required

Denormalized display string of the linked vehicle.

vehicle_licensestring 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.

delivered_atstring date-time nullable
created_atstring date-time required
updated_atstring date-time required
deleted_atstring date-time nullable

Soft-deletion timestamp. Populated on the response from DELETE /v1/checkins/{id}. Checkins with a non-null deleted_at are not returned by list/detail endpoints — this field appears for the delete response only.

Example response

{
  "id": "chk_4412"
}

Changes

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