# Custom fields Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. Depending on the resource on which the custom field is added, it may be available in the Rebilly UI. Example: A custom field called `preferredCommunicationChannel` is added to the customer resource. It has two allowed values, which are 'email' and 'phone'. ```js { "customFields": { "preferredCommunicationChannel": "email" } } ``` For detailed information on Rebilly resources, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources). ## Retrieve custom fields - [GET /custom-fields/{resource}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/getcustomfieldcollection.md): Retrieves the custom fields schema for a specified resource. ## Retrieve a custom field - [GET /custom-fields/{resource}/{name}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/getcustomfield.md): Retrieves a specified custom field schema for a specified resource. ## Create or alter a custom field - [PUT /custom-fields/{resource}/{name}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/putcustomfield.md): Creates or alters a specified custom field schema for a specified resource.