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

# Get one CustomField

> Retrieve a single CustomField record by its Id.

A custom field defines an additional data field for a selected Nexudus record type, including customers, plans, bookings, products, and resources. It controls the input type, validation, visibility, placement, and supported public forms for values stored with those records.

## Authentication

<Note>
  This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
  The authenticated user must be a full unrestricted administrator or have the **`CustomField-Read`** role.
</Note>

## Path Parameters

<ParamField path="id" type="integer" required>
  The Id of the CustomField record to retrieve.
</ParamField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET \
    "https://spaces.nexudus.com/api/crm/customfields/87654321" \
    -H "Authorization: Bearer YOUR_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://spaces.nexudus.com/api/crm/customfields/87654321',
    {
      headers: {
        'Authorization': 'Bearer YOUR_TOKEN'
      }
    }
  );

  const record = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://spaces.nexudus.com/api/crm/customfields/87654321',
      headers={
          'Authorization': 'Bearer YOUR_TOKEN'
      }
  )

  record = response.json()
  ```
</CodeGroup>

## Response

### 200

<ResponseField name="BusinessId" type="integer">
  ID of the location that owns this custom field. Customer fields must belong to the top-level location; other record types are available across the location network..
</ResponseField>

<ResponseField name="Name" type="string">
  Required label shown for this custom field. It must be unique across the location network unless it is the linked resource/booking counterpart..
</ResponseField>

<ResponseField name="DisplayOrder" type="integer">
  Numeric display order for this field among the location's custom fields; lower values appear first and the server normalizes the ordering after changes..
</ResponseField>

<ResponseField name="RecordType" type="integer">
  Record type this field collects data for: Coworker, Team, FloorPlanDesk, CrmOpportunity, Visitor, Proposal, CoworkerInternal, HelpDeskMessage, HelpDeskDepartment, Product, Booking, CoworkerInvoice, Business, CoworkerContract, Tariff, Resource, FloorPlan, InventoryAsset, or Events. A Coworker field cannot later be changed to another type.. See `eCustomFieldRecordType` enum values: `1` = Coworker, `2` = Team, `3` = FloorPlanDesk, `4` = CrmOpportunity, `5` = Visitor, `6` = Proposal, `7` = CoworkerInternal, `8` = HelpDeskMessage, `9` = HelpDeskDepartment, `10` = Product, `11` = Booking, `12` = CoworkerInvoice, `13` = Business, `14` = CoworkerContract, `15` = Tariff, `16` = Resource, `17` = FloorPlan, `18` = InventoryAsset.
</ResponseField>

<ResponseField name="FieldType" type="integer">
  Input type and validation for captured values: Text, LongText, Boolean, Dropdown, Date, Integer, or Decimal. AvailableOptions is retained only for Dropdown.. See `eFieldType` enum values: `1` = Text, `2` = LongText, `3` = Boolean, `4` = Dropdown, `5` = Date, `6` = Integer, `7` = Decimal.
</ResponseField>

<ResponseField name="CoworkerFieldPosition" type="integer">
  Customer-record tab where the field is placed: General, Contact, Profile, Billing, Access, or Notes. This applies when RecordType is Coworker.. See `eCoworkerFieldPosition` enum values: `1` = General, `2` = Contact, `3` = Profile, `4` = Billing, `5` = Access, `6` = Notes.
</ResponseField>

<ResponseField name="AvailableOptions" type="string">
  Comma-separated permitted choices for a Dropdown field; submitted values must exactly match these trimmed options. The server clears this value for every other FieldType..
</ResponseField>

<ResponseField name="AllowMultipleOptions" type="boolean">
  Whether a Dropdown field accepts more than one comma-separated choice. This setting is meaningful only when FieldType is Dropdown..
</ResponseField>

<ResponseField name="CustomFieldIndex" type="integer">
  Server-assigned identifier used to map a customer field to its CustomFields array value. The server assigns it for Coworker fields; do not set it manually..
</ResponseField>

<ResponseField name="Required" type="boolean">
  Whether a non-empty value is required when this field is submitted on its parent record. ReadOnly fields are automatically made not required..
</ResponseField>

<ResponseField name="GroupName" type="string">
  Optional label used to group related custom fields in supported forms..
</ResponseField>

<ResponseField name="DisplayInPublicProfile" type="boolean">
  Whether this customer field is shown on the customer's public profile..
</ResponseField>

<ResponseField name="DisplayInDirectorySearch" type="boolean">
  Whether this customer field is offered as a filter in the public customer directory search..
</ResponseField>

<ResponseField name="NameInSearch" type="string">
  Optional label shown for this field in customer-directory search; use it when the normal field label needs different search wording..
</ResponseField>

<ResponseField name="Visibility" type="integer">
  Audience and editability: Visible allows customer editing, ReadOnly shows the field without customer editing, and Internal excludes it from public-facing field lists. ReadOnly cannot be Required.. See `eFieldVisibility` enum values: `1` = Visible, `2` = ReadOnly, `3` = Internal.
</ResponseField>

<ResponseField name="DisplayInSignUpForm" type="boolean">
  Whether this custom field is shown on the customer sign-up form..
</ResponseField>

<ResponseField name="DisplayInProfileForm" type="boolean">
  Whether this custom field is shown on the customer profile-edit form..
</ResponseField>

<ResponseField name="DisplayInTourForm" type="boolean">
  Whether this custom field is shown on the tour request form..
</ResponseField>

<ResponseField name="DisplayInEventSignUpForm" type="boolean">
  Whether this custom field is shown when a customer registers for an event..
</ResponseField>

<ResponseField name="ShowInBookingForm" type="boolean">
  Whether this field is shown on a resource booking form. For Resource record types, enabling this creates or synchronizes a linked Booking custom field..
</ResponseField>

<ResponseField name="DisplayInProductSignUpForm" type="boolean">
  Whether this custom field is shown when a customer buys a product..
</ResponseField>

<ResponseField name="DisplayInTeamSignUpForm" type="boolean">
  Whether this custom field is shown on the team sign-up form..
</ResponseField>

<ResponseField name="DisplayInCourseSignUpForm" type="boolean">
  Whether this custom field is shown on the course sign-up form..
</ResponseField>

<ResponseField name="DisplayInTariffSignUpForm" type="boolean">
  Whether this custom field is shown when a customer signs up for a plan (Tariff)..
</ResponseField>

<ResponseField name="DisplayInBookingSignUpForm" type="boolean">
  Whether this custom field is shown on the booking sign-up form..
</ResponseField>

<ResponseField name="DisplayInResourceSearch" type="boolean">
  Whether this custom field is offered as a filter in resource search..
</ResponseField>

<ResponseField name="Resources" type="integer[]">
  List of resources this Resource-record custom field applies to when it is shown in booking. An empty list means it applies to every resource; setting resources restricts it to those resources..
</ResponseField>

<ResponseField name="Id" type="integer">
  Unique record identifier.
</ResponseField>

<ResponseField name="UniqueId" type="string">
  UUID of the record.
</ResponseField>

<ResponseField name="CreatedOn" type="string">
  Date and time the record was created (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedOn" type="string">
  Date and time the record was last updated (ISO 8601).
</ResponseField>

<ResponseField name="UpdatedBy" type="string">
  Email of the user who last updated this record.
</ResponseField>

<ResponseField name="IsNew" type="boolean">
  Whether the record was recently created.
</ResponseField>

<ResponseField name="SystemId" type="string">
  External system identifier.
</ResponseField>

```json Example Response theme={null}
{
  "BusinessId": 0,
  "Name": "",
  "DisplayOrder": 0,
  "RecordType": 0,
  "FieldType": 0,
  "CoworkerFieldPosition": 0,
  "AvailableOptions": null,
  "AllowMultipleOptions": false,
  "CustomFieldIndex": 0,
  "Required": false,
  "GroupName": null,
  "DisplayInPublicProfile": false,
  "DisplayInDirectorySearch": false,
  "NameInSearch": null,
  "Visibility": 0,
  "DisplayInSignUpForm": false,
  "DisplayInProfileForm": false,
  "DisplayInTourForm": false,
  "DisplayInEventSignUpForm": false,
  "ShowInBookingForm": false,
  "DisplayInProductSignUpForm": false,
  "DisplayInTeamSignUpForm": false,
  "DisplayInCourseSignUpForm": false,
  "DisplayInTariffSignUpForm": false,
  "DisplayInBookingSignUpForm": false,
  "DisplayInResourceSearch": false,
  "Resources": [],
  "Id": 87654321,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "CreatedOn": "2025-01-10T08:00:00Z",
  "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "UpdatedBy": "admin@example.com",
  "IsNew": false,
  "SystemId": null,
  "ToStringText": "CustomField Example",
  "LocalizationDetails": null,
  "CustomFields": null
}
```
