# Update a custom field

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.

Endpoint: PATCH /v1/businesses/{client_id}/custom-fields/{custom_field_id}
Version: v1
Security: BearerAuth

## Path parameters:

  - `client_id` (integer, required)
    The ID of the business.

  - `custom_field_id` (string, required)
    The ID of the custom field.

## Request fields (application/json):

  - `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.
    Example: Cost Centre

  - `field_type` (string)
    The type of the custom field. Not permitted for fields created by accounting integrations.
    Enum: "LIST", "FREE_TEXT"

  - `is_manager_only` (boolean)
    Cannot be changed after creation — always returns 400 if a different value is sent.
    Example: false

  - `budget_setting` (string)
    Controls which budgets this custom field is assigned to.
    Enum: "NONE", "SOME", "ALL_CURRENT_AND_NEW"

## Response 200 fields (application/json):

  - `id` (string)
    The unique identifier for this custom field.
    Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

  - `name` (string)
    The display name of the custom field.
    Example: Project Code

  - `field_type` (string)
    The type of the custom field.
    Enum: "LIST", "FREE_TEXT"

  - `budget_setting` (string)
    Controls which budgets this custom field is assigned to.
    Enum: "NONE", "SOME", "ALL_CURRENT_AND_NEW"

  - `is_manager_only` (boolean)
    Whether this custom field is visible only to managers. Cannot be changed after creation.
    Example: false

  - `created_by` (string)
    The source that created this custom field.
    Enum: "MANUAL", "PUBLIC_API", "XERO", "MYOB", "QUICKBOOKS", "NETSUITE", "BUSINESS_CENTRAL"

  - `created` (string)
    The date and time when this custom field was created.
    Example: 2024-01-15T09:00:00Z

  - `updated` (string)
    The date and time when this custom field was last updated.
    Example: 2024-01-15T09:00:00Z

