| Time | Status | User Agent |  |
| :-- | :-- | :-- | :-- |
| Make a request to see history. |

#### URL Expired

The URL for this request expired after 30 days.

### PublicCreateCustomFieldDto

- **fieldId**  
  *Type*: string  
  *Required*: Yes  
  Unique identifier of the field used for business logic. Must be unique within the entity.

- **label**  
  *Type*: string  
  *Required*: Yes  
  Display name of the field shown in the UI.

- **category**  
  *Type*: string  
  *Required*: Yes  
  Category used for visual grouping of fields in the UI.

- **type**  
  *Type*: string  
  *Enum*: input, textarea, dropdown, datepicker, multiselect, users-array, contacts-list, checkbox, number, formula, deal, deal-list, company, company-list, attachment, url-link  
  *Required*: Yes  
  Field type that determines business logic behavior.

- **default**  
  *Type*: string/number/boolean/array/object  
  *Required*: Yes  
  Default value for the field. Varies by field type. Examples: empty string ("\"") for "input", empty array ([\]) for "multiselect", false for "checkbox".

- **options**  
  *Type*: array  
  *Required*: Yes  
  Additional configuration for field types that support predefined values, such as "multiselect", "dropdown". Defines the list of selectable options for these field types.

- **invisibleField**  
  *Type*: boolean  
  *Required*: Yes  
  Whether the field should be hidden in the UI.

- **invisibleLabel**  
  *Type*: boolean  
  *Required*: Yes  
  Whether the field label should be hidden in the UI.

- **leftMenu**  
  *Type*: boolean  
  *Required*: Yes  
  Whether the field should appear in the left menu navigation.

- **mandatory**  
  *Type*: boolean  
  *Required*: Yes  
  Whether the field is required to be populated.

- **formula**  
  *Type*: string  
  Formula expression for fields of type "formula". Ignored for other field types.

- **extraConfig**  
  *Type*: object  
  Extra configuration for field formatting and display. Applicable to field types that support value formatting, such as "formula", "number", and others. Controls how the field value is rendered (e.g. number of decimal points, suffix, date format).

- **externalServiceFieldPath**  
  *Type*: string  
  Field path used to map data from an external service response. Supports dot notation for nested properties (e.g. "employees.current_count"). Must be used together with externalServiceType.

- **externalServiceType**  
  *Type*: string  
  *Enum*: APOLLO, PITCHBOOK, GAIN_PRO, NONE, SELF, CARTA, CARTA_DWH  
  External service used for automatic field enrichment. The target entity must have the corresponding external service integration enabled, otherwise the field will not be enriched.

- **readonly**  
  *Type*: boolean  
  Defaults to false. Whether the field is read-only and cannot be edited by users.

- **condition**  
  *Type*: string  
  Conditional expression that controls field visibility. When set, the field is only shown if the condition evaluates to true. Defaults to empty string (no condition) if not provided.

### API response codes

```
200      Custom field created successfully

400      Invalid request parameters

401      Invalid or missing API key

500      Internal server error
```

### Example

```bash
curl --request POST \
     --url https://crm-public-api.app.carta.com/v1/fundraisings/custom-fields/add \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "type": "input",
  "invisibleField": true,
  "invisibleLabel": true,
  "leftMenu": true,
  "mandatory": true
}
'
```
