Checkins

Mutate checkin line items in a batch

Adds, updates, and removes the checkin's line items in a single atomic diff, then returns the full checkin with the updated line_items array. The top-level checkin PATCH is metadata-only; all line-item mutation flows through this endpoint.

Checkin line items are description-only notes, so this batch is narrower than the worksheet/quote one: the only field is description, and there is no reorder operation (the rows have no position). As with worksheets/quotes, update is applied as a remove+add internally, so an updated line receives a NEW id in the response. An id may appear in at most one of remove/update.

All arrays are optional; an empty body is a no-op.

post/v1/checkins/{id}/line-items/batch

Request

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

Request body

removestring[]

Ids of line items to delete.

Response

Batch applied. Returns the updated checkin (with line_items).

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.