# Custom field configs

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


This resource represents the configuration for a specific [custom field](/docs/api/advanced-features#custom-fields).

## Custom field configs attributes

## Input Parameters

- `entity_type` (required, enumerated string)
  Entity type that this configuration applies to.
  Possible enum values:
    - `customer`
      Customer entity.
    - `subscription`
      Subscription entity.
    - `invoice`
      Invoice entity.
    - `quote`
      Quote entity.
    - `credit_note`
      Credit note entity.
    - `transaction`
      Transaction entity.
    - `plan`
      Plan entity.
    - `addon`
      Addon entity.
    - `coupon`
      Coupon entity.
    - `order`
      Order entity.
    - `plan_item`
      Plan item entity.
    - `addon_item`
      Addon item entity.
    - `charge_item`
      Charge item entity.
    - `plan_price`
      Plan price entity.
    - `addon_price`
      Addon price entity.
    - `charge_price`
      Charge price entity.
    - `differential_price`
      Differential price entity.
    - `attached_item`
      Attached item entity.
    - `feature`
      Feature entity.
    - `subscription_entitlement`
      Subscription entitlement entity.
    - `item_entitlement`
      Item entitlement entity.
    - `business_entity`
      Business entity.
    - `omnichannel_subscription`
    - `omnichannel_subscription_item`
    - `omnichannel_transaction`
    - `recorded_purchase`
    - `omnichannel_subscription_item_scheduled_change`
    - `sales_order`
    - `omnichannel_one_time_order`
    - `omnichannel_one_time_order_item`
    - `usage_file`
    - `business_rule`
    - `ruleset`
    - `alert_status`
    - `omnichannel_subscription_item_metric`

- `api_name` (required, string, max chars=50)
  Unique identifier for the custom field, used in API requests and responses.

- `display_name` (required, string, max chars=50)
  Name of the field as it appears in the user interface.

- `field_datatype` (required, enumerated string)
  Data type of the custom field value.
  Possible enum values:
    - `string`
      String value.
    - `long`
      Integer (long).
    - `double`
      Double-precision number.
    - `timestamp`
      Timestamp value.
    - `email`
      Email address.
    - `url`
      URL value.
    - `date`
      Date value.

- `edit_ui` (optional, enumerated string)
  UI component type used to input or edit the field value.
  Possible enum values:
    - `text`
      Single-line text input.
    - `text_area`
      Multi-line text input.
    - `date_time_field`
      Date and time picker input.
    - `drop_down`
      Dropdown select input.
    - `radio_button_horizontal`
      Horizontal radio button group.
    - `radio_button_vertical`
      Vertical radio button group.
    - `date_field`
      Date picker input.
    - `check_box`
      Check box input.
    - `file`
      File upload input.
    - `password`
      Password input (masked).

- `description` (optional, string, max chars=250)
  Description of the custom field.

- `required` (required, boolean, default=false)
  Whether the custom field is mandatory or optional.

- `props` (required, string, max chars=5000)
  JSON object containing additional properties for the field (for example, options for a dropdown).

- `field_order` (optional, integer)
  Display order of the field in the user interface.

- `status` (required, enumerated string, default=active)
  Whether the custom field configuration is active or archived.
  Possible enum values:
    - `active`
      Visible and ready to use.
    - `archived`
      Only available in the index list page; soft deleted.

- `published_status` (required, enumerated string, default=new)
  Publishing status of the custom field configuration.
  Possible enum values:
    - `new`
      New configuration not yet published.
    - `published`
      Configuration is published and in use.
    - `draft`
      Configuration is in draft and not yet published.

- `created_at` (required, timestamp(UTC) in seconds)
  Timestamp when the custom field configuration was created.

- `modified_at` (required, timestamp(UTC) in seconds)
  Timestamp when the custom field configuration was last updated.

