# Custom Fields

Define custom data fields for contacts and companies

## List custom fields

 - [GET /leads/api/custom-fields](https://api.getsales.io/bundled/custom-fields/listcustomfields.md): Returns all custom fields defined for the team. Custom fields let you
store arbitrary data on contacts, companies, or sender profiles.

Each team can have up to 100 custom fields per object type.
Fields are identified by a numeric key (1–100) used internally for
efficient storage.

## Create a custom field

 - [POST /leads/api/custom-fields](https://api.getsales.io/bundled/custom-fields/createcustomfield.md): Create a new custom field for contacts, companies, or sender profiles.

Naming rules: Field names must start with a letter or underscore and
contain only alphanumeric characters and underscores (/^A-Za-z_*$/).
Names are unique per team and object type (case-insensitive).

A numeric key (1–100) is auto-assigned. Maximum 100 custom fields
per object type.

## Update a custom field

 - [PUT /leads/api/custom-fields/{uuid}](https://api.getsales.io/bundled/custom-fields/updatecustomfield.md): Rename a custom field. The object type and key cannot be changed
after creation. Existing values are preserved.

## Delete a custom field

 - [DELETE /leads/api/custom-fields/{uuid}](https://api.getsales.io/bundled/custom-fields/deletecustomfield.md): Delete a custom field and all its values across all contacts/companies.
Values are deleted asynchronously in the background. This action cannot
be undone.

