---
title: "Changes some of a contract job's custom fields (BF-7519)."
method: PATCH
path: "/v{version}/ContractJobs/{jobId}/customFields"
tags: ["ContractJobs"]
---

# Changes some of a contract job's custom fields (BF-7519).

`PATCH /v{version}/ContractJobs/{jobId}/customFields`

Body: an array of { customFieldId, value }. Fields not listed are left as they are. value null or "" clears
the field; a required field cannot be cleared. A list field takes an option id or name (any case); a name
that matches two options needs the id. A user field takes the userId of an active user of your company. A
free-form field takes up to 500 characters. Only changed values are checked and written; sending the
stored values changes nothing. Responds with the job's custom fields as GET returns them.

## Path parameters

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

## Request body

- unknown

## Response `200`

Success

- ContractsContractsJobCustomFieldsContractJobCustomFieldsResponse
  - `isValid` boolean
  - `errors` string[], nullable
  - `warnings` string[], nullable
  - `info` string[], nullable
  - `message` string, nullable
  - `data` ContractsContractsJobCustomFieldsContractJobCustomFieldView[], nullable
    - `customFieldId` integer
    - `name` string, nullable
    - `type` string, nullable
    - `isRequired` boolean
    - `value` string, nullable
    - `displayValue` string, nullable
    - `options` ContractsContractsJobCustomFieldsContractJobCustomFieldOption[], nullable
      - `id` integer
      - `name` string, nullable

## Changes

- **2026-09-25** `b7986f02e1d6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/bilflo/apis/bilflo-api/changes/v:version/ContractJobs/:jobId/customFields/patch.md)

---

[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)
