# Custom Fields

The [Custom Fields](https://mavenlink.zendesk.com/hc/en-us/articles/202924760-Custom-Fields-Overview-#arrange) object allows you to
view, create, update, and delete extra fields for additional Estimate, Project, Group, Resource, Task, and User information.
If Custom Fields represent the fields themselves, [Custom Field Values](/tag/Custom-Field-Values)
represent the values in/of those fields.

## Fetching a list of Custom Fields

 - [GET /custom_fields](https://developer.kantata.com/kantata/specification/custom-fields/get-custom-fields.md): Returns all Custom Fields, unless filter parameters have been applied.

This endpoint returns structured Custom Field objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the custom_fields top-level JSON key.
Please see our Response Format section for more information.

## Creating a new Custom Field

 - [POST /custom_fields](https://developer.kantata.com/kantata/specification/custom-fields/create-custom-field.md): This endpoint returns structured Custom Field objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the custom_fields top-level JSON key.
Please see our Response Format section for more information.

## Updating an existing Custom Field

 - [PUT /custom_fields/{id}](https://developer.kantata.com/kantata/specification/custom-fields/update-custom-field.md): Updates an existing custom field.

### Parameters that cannot be updated
Note that the unique_constraint and value_type parameters cannot be updated.
They are set during the process of creating a custom field.

### Updating choices
This endpoint also allows you to update the list of choices for a custom field with
single or multiple choices. For important details
regarding how this endpoint affects the list of available choices and how to avoid
creating duplicate choices, see the description of the choice body parameter.


This endpoint returns structured Custom Field objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the custom_fields top-level JSON key.
Please see our Response Format section for more information.

## Deleting an existing Custom Field

 - [DELETE /custom_fields/{id}](https://developer.kantata.com/kantata/specification/custom-fields/delete-custom-field.md): Deletes a custom field. Custom field values are deleted with their custom fields.

The response will contain no content and an HTTP 204 status code if the request was
successful, or a standard Kantata OX error message explaining why the object could not be deleted.

