Jobs

Removes a material line from a job (soft delete).

Requires ManageJobs and an Idempotency-Key header; no body. Only Planned lines (or counter-sales lines whose stock can be restored) can go; a line on an active transfer or a finalized invoice can't — use Return Items for delivered goods. Totals are recomputed. The write is attributed to the user who created the key.

delete/api/v1/jobs/{id}/items/{itemId}

Request

  • Base URL: https://app.flexonthejob.com
  • URL: https://app.flexonthejob.com/api/v1/jobs/{id}/items/{itemId}
  • Auth: HTTP bearer

Path parameters

idinteger required

Job id.

itemIdinteger required

Material line id.

Response

The updated job with the line removed.

idinteger

Numeric id used in /api/v1/jobs/{id}. Unique within this organization. Example: 1042.

syncIdstring uuid

Stable cross-device identifier (GUID) — also the pagination cursor value. Example: 3f2504e0-4f89-11d3-9a0c-0305e82c3301.

jobNumberstring

Human-readable job number shown to staff and customers. Example: J-2026-0042.

jobTypestring nullable

Free-text job category configured by the organization. Example: Installation, Repair.

statusstring

Workflow status name. One of Draft, InspectionInProgress, Estimated, AwaitingOptionSelection, Scheduled, InProgress, Completed, Invoiced, Paid, Cancelled, Outstanding.

statusNamestring

Display label of the status as the organization has customised it (falls back to status). Example: On Site.

paymentStatusstring nullable

Payment state, independent of workflow status: Unpaid, Partial, Paid, Overpaid or Refunded.

customerIdinteger

Id of the customer the job is for (see /api/v1/customers/{id}).

customerNamestring

Customer display name at read time. Example: Acme Property Management.

descriptionstring nullable

Short description of the work. May be null for drafts.

createdAtstring date-time

When the job was created, ISO-8601 UTC. Example: 2026-09-01T14:03:22Z.

updatedAtstring date-time

Last modification time, ISO-8601 UTC (creation time when never modified). Use with the updatedSince filter to poll for changes.

scheduledDatestring date-time nullable

Scheduled start as the organization's local wall-clock time with no UTC offset (the date-time format here is a local time, not RFC 3339 with zone), e.g. 2026-09-08T08:30:00. Null when unscheduled.

scheduledDurationMinutesinteger nullable

Planned duration in minutes (default 120 when scheduled without an explicit duration). Null when unscheduled.

startDatestring date-time nullable

When work actually started, ISO-8601 UTC. Null until the job is in progress.

completedDatestring date-time nullable

When work was completed, ISO-8601 UTC. Null until completed.

totalPricenumber double

Customer price before tax, after the job-level discount, in the organization's currency (decimal, e.g. 1250.00).

notesstring nullable

Internal notes typed on the job itself (not the timeline). Null when empty.

materialPricenumber double

Sum of material lines before job-level discount and tax (decimal currency, e.g. 800.00).

laborPricenumber double

Sum of labor lines before job-level discount and tax (decimal currency).

customChargesTotalnumber double

Sum of custom charges before job-level discount and tax (decimal currency).

discountPercentnumber double nullable

Job-level discount as a percentage of every line (0–100), or null when a fixed amount / no discount applies.

discountAmountnumber double nullable

Job-level fixed discount amount (decimal currency), or null when a percentage / no discount applies.

taxRatenumber double

Tax rate locked in at creation, as a percentage (e.g. 8.25).

downPaymentAmountnumber double nullable

Money collected before invoicing (decimal currency), or null when none.

warningstring nullable

Set only on the POST /api/v1/jobs response when publishImmediately was requested but the job could not be published yet (it was created as a Draft), e.g. Not published yet: Cannot finalize estimate. All material items must have a unit price.. Always null on GET.

Changes

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