---
title: "Update a custom field"
method: PATCH
path: "/v1/businesses/{client_id}/custom-fields/{custom_field_id}"
tags: ["Custom Fields"]
---

# Update a custom field

`PATCH /v1/businesses/{client_id}/custom-fields/{custom_field_id}`

Partially updates a custom field.

**Restrictions for accounting integration fields** (created by Xero, MYOB, QuickBooks, NetSuite, or Business Central): the `name` field cannot be changed. Only `budget_setting` can be updated.

## Path parameters

- `client_id` integer, required
- `custom_field_id` string, uuid, required

## Request body

- UpdateCustomFieldRequest
  - `name` string — The new display name. Not permitted for fields created by accounting integrations. Cannot set to a name already in use by another custom field in the business.
  - `field_type` 'LIST' | 'FREE_TEXT' — The type of the custom field. Not permitted for fields created by accounting integrations.
  - `is_manager_only` boolean — Cannot be changed after creation — always returns 400 if a different value is sent.
  - `budget_setting` 'NONE' | 'SOME' | 'ALL_CURRENT_AND_NEW' — Controls which budgets this custom field is assigned to.

## Response `200`

OK

- CustomField
  - `id` string, uuid — The unique identifier for this custom field.
  - `name` string — The display name of the custom field.
  - `field_type` 'LIST' | 'FREE_TEXT' — The type of the custom field.
  - `budget_setting` 'NONE' | 'SOME' | 'ALL_CURRENT_AND_NEW' — Controls which budgets this custom field is assigned to.
  - `is_manager_only` boolean — Whether this custom field is visible only to managers. Cannot be changed after creation.
  - `created_by` 'MANUAL' | 'PUBLIC_API' | 'XERO' | 'MYOB' | 'QUICKBOOKS' | 'NETSUITE' | 'BUSINESS_CENTRAL' — The source that created this custom field.
  - `created` string, date-time — The date and time when this custom field was created.
  - `updated` string, date-time — The date and time when this custom field was last updated.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.dev/letsweel/apis/weel-openapi.md) · [All operations](https://skmtc.dev/letsweel/apis/weel-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/letsweel/weel-openapi/revisions/1a7cb1c4dd12/schema)
