---
title: "Replaces the updatable fields of a contract job (BF-7467)."
method: PUT
path: "/v{version}/ContractJobs/{jobId}"
tags: ["ContractJobs"]
---

# Replaces the updatable fields of a contract job (BF-7467).

`PUT /v{version}/ContractJobs/{jobId}`

Full replace: send all 15 fields. The 11 non-nullable ones are required - a missing one is a
400 naming it. overtimeRuleId, firstWeekEndingDate, workersCompCodeId and burdenManual may be
null or absent, which clears them. Other keys are ignored, so a GET response can be sent back.
To change only some fields, use PATCH. statusId and endDate are never written; to end a job
use POST /terminate. clientId and contractorId cannot be changed on an existing job: send
the stored values. Rules on the resulting job are enforced only for fields that change.
addressId and stateId set the worksite: leave them out to keep it, send null to clear the address (a state
cannot be cleared), or a number to set it. A new address must be an active address of the job's client and
gives the job its state.

## Path parameters

- `jobId` integer, required
- `version` string, required

## Headers

- `company-id` string, required

## Request body

- ContractsContractsCommandsUpdateContractJobCommand
  - `companyId` string, uuid
  - `jobId` integer
  - `clientId` integer, nullable
  - `contractorId` integer, nullable
  - `contractorTypeId` 1 | 2
  - `timeCardMethodId` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
  - `overtimeRuleId` integer, nullable
  - `jobTitle` string, nullable
  - `startDate` string, date-time, nullable
  - `firstWeekEndingDate` string, date-time, nullable
  - `isPerDiemEnabled` boolean, nullable
  - `isSickTimeEnabled` boolean, nullable
  - `isExpensesEnabled` boolean, nullable
  - `isWaiveMealPeriod` boolean, nullable
  - `isAllowSkipLunch` boolean, nullable
  - `workersCompCodeId` integer, nullable
  - `burdenManual` number, double, nullable

## Response `200`

Success

- ContractsContractsCommandsUpdateContractJobResponse
  - `isValid` boolean
  - `errors` string[], nullable
  - `warnings` string[], nullable
  - `info` string[], nullable
  - `message` string, nullable
  - `data` integer

---

[API](https://skmtc.dev/bilflo/apis/bilflo-api.md) · [All operations](https://skmtc.dev/bilflo/apis/bilflo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bilflo/apis/bilflo-api/revisions/5063eab95b17?raw)
