> ## Documentation Index
> Fetch the complete documentation index at: https://docs.staging.metronome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Fields

Metronome supports a shared set of Custom Field endpoints that allow you to define, manage, and assign arbitrary key-value pairs to entities.

While these endpoints are shared between Plans and Contracts, note that some input and response parameters differ slightly depending on the entity you are targeting.

## Available Endpoints

| Endpoint                     | Description                                                       |
| ---------------------------- | ----------------------------------------------------------------- |
| `/customFields/addKey`       | Adds a new custom field key that can be assigned to entities.     |
| `/customFields/listKeys`     | Lists all custom field keys that have been defined.               |
| `/customFields/removeKey`    | Removes a defined custom field key from the system.               |
| `/customFields/setValues`    | Sets or updates the value of a custom field on a specific entity. |
| `/customFields/deleteValues` | Deletes an existing custom field value from a specific entity.    |

## Supported Entities

When using these endpoints, the `entity` field determines the entity the custom fields are being attached to.

The supported values for `entity` when using plans include:

* `customer_plan`
* `plan`
* `credit_grant`

Check out the Contracts version of the documentation [here →](/api-reference/custom-fields/create-a-custom-field-key)
