> ## Documentation Index
> Fetch the complete documentation index at: https://exsited.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom features

> List, create, read, update and delete custom features, and set the form layout and attributes of a feature.

A custom feature is a component you define, such as a service contract attached to accounts, with its own form of custom attributes. This area has 6 endpoints to list, create, read, update and delete features and to set a feature's form layout, and all seven SDKs call every one.

## At a glance

| Endpoint | Method | Path | What it does |
| - | - | - | - |
| [List custom features](https://exsited.mintlify.site/api-reference/custom-features/list-custom-features.md) | GET | `/custom_feature` | Returns one page of the active custom features. |
| [Retrieve a custom feature](https://exsited.mintlify.site/api-reference/custom-features/retrieve-a-custom-feature.md) | GET | `/custom_feature/{custom_feature_id}` | Returns one custom feature, under `custom_feature`. |
| [Create a custom feature](https://exsited.mintlify.site/api-reference/custom-features/create-a-custom-feature.md) | POST | `/custom_feature` | Creates a custom feature and returns it, under `custom_feature`. |
| [Delete a custom feature](https://exsited.mintlify.site/api-reference/custom-features/delete-a-custom-feature.md) | DELETE | `/custom_feature/{custom_feature_id}` | Deletes a custom feature and returns no body. |
| [Update a custom feature](https://exsited.mintlify.site/api-reference/custom-features/update-a-custom-feature.md) | PATCH | `/custom_feature/{custom_feature_id}` | Changes a custom feature's fields and returns the updated feature. |
| [Set a custom feature's form layout and attributes](https://exsited.mintlify.site/api-reference/custom-features/set-a-custom-features-form-layout-and-attributes.md) | POST | `/custom_feature/{custom_feature_id}` | Sets the form layout of a custom feature and the attributes in each column, and returns the feature. |

## Before you call

Register your API credentials once when your app starts, as shown in
[Authentication](https://exsited.mintlify.site/authentication.md). Every SDK sample on these pages then gets its client in one line.
With cURL, send the access token in an `Authorization` header: `Authorization: Bearer $ACCESS_TOKEN`.

## Things to know

* **The path is singular.** Call `/custom_feature`; the `href`, `url` and `links.next` values in responses name `/custom_features`, which returns `405`.
* **Writes send their fields under `component`.** The create and update bodies wrap the fields in `component`, and the feature comes back under `custom_feature`.
* **A custom feature id starts with `cmp_`.** It is the same id the custom components area uses for a component definition.
* **The listing returns active features only.** Records sit under `data`; pass `pagination.next_cursor` as `cursor` to read the next page, and stop when `pagination.has_more` is `false`.
* **The form layout call takes `configuration` with no other wrapper.** It sets `settings.form_layout` and the attributes in `column_1` and `column_2`.
* **A deleted feature returns `404`.** The delete itself returns `204` with no body.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.