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

#### URL Expired

The URL for this request expired after 30 days.

## PublicCreateCustomFieldDto

### Field Details

- **fieldId**  
  - type: string  
  - required: true  
  - Unique identifier of the field used for business logic. Must be unique within the entity.

- **label**  
  - type: string  
  - required: true  
  - Display name of the field shown in the UI.

- **category**  
  - type: string  
  - required: true  
  - Category used for visual grouping of fields in the UI.

- **type**  
  - type: string  
  - enum  
  - required: true  
  - Field type that determines business logic behavior. Allowed values: input, textarea, dropdown, datepicker, multiselect, users-array, contacts-list, checkbox, number, formula, deal, deal-list, company, company-list, attachment, url-link.

- **default**  
  - type: string, number, boolean, array, object  
  - required: true  
  - 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: true  
  - 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: true  
  - Whether the field should be hidden in the UI.

- **invisibleLabel**  
  - type: boolean  
  - required: true  
  - Whether the field label should be hidden in the UI.

- **leftMenu**  
  - type: boolean  
  - required: true  
  - Whether the field should appear in the left menu navigation.

- **mandatory**  
  - type: boolean  
  - required: true  
  - 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. Defaults to "NONE" if not provided.

- **externalServiceType**  
  - type: string  
  - enum  
  - External service used for automatic field enrichment. Allowed values: APOLLO, PITCHBOOK, GAIN_PRO, NONE, SELF, CARTA, CARTA_DWH. Must be used together with externalServiceFieldPath. Defaults to "NONE" if not provided.

- **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. Defaults to empty string (no condition) if not provided.

### Responses

- **200**  
  Custom field created successfully

- **400**  
  Invalid request parameters

- **401**  
  Invalid or missing API key

- **500**  
  Internal server error

### Example Request

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

### Response Codes
- `200`
- `400`
- `401`
- `500`
