# Gets all of the custom fields in the system.

This method will scan all custom fields and and return them to the caller.

Endpoint: GET /customFields/{tenantId}
Version: v1-2025-04-18
Security: knox-authorizer

## Security:

  - `knox-authorizer` (unknown)
    http bearer JWT

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

## Query parameters:

  - `fields` (string)
    The fields that you want to retrieve; if omitted, the entire object is returned.

  - `exclusiveStartKey` (string)
    The start key, if you're making a subsequent request

## Response 200:

  - `200` (unknown)
    The custom fieldswere retrieved successfully.

## Response 200 fields (application/json):

  - `acceptable_values` (array)

  - `acceptable_values.label` (string)

  - `acceptable_values.value` (string)

  - `can_enter_new_values` (boolean)
    For picklists, whether you can enter in new values

  - `complex_requirement_rules` (object)
    Advanced rules for when this field should be required

  - `complex_requirement_rules.all` (array)

  - `complex_requirement_rules.all.all` (object)

  - `complex_requirement_rules.all.any` (object)

  - `complex_requirement_rules.all.fact` (string)
    The piece of data being examined

  - `complex_requirement_rules.all.operator` (string)
    The operator
    Enum: "contains", "containsString", "doesNotContain", "equal", "greaterThan", "greaterThanInclusive", "in", "isBlank", "isNotBlank", "lessThan", "lessThanInclusive", "matchesPatter", "notContainsString", "notEqual", "notIn", "regex"

  - `complex_requirement_rules.all.path` (string)
    The path of the value being tested

  - `complex_requirement_rules.all.value` (string)

  - `complex_requirement_rules.any` (array)

  - `complex_requirement_rules.any.all` (object)

  - `complex_requirement_rules.any.any` (object)

  - `complex_requirement_rules.any.fact` (string)
    The piece of data being examined

  - `complex_requirement_rules.any.operator` (string)
    The operator
    Enum: "contains", "containsString", "doesNotContain", "equal", "greaterThan", "greaterThanInclusive", "in", "isBlank", "isNotBlank", "lessThan", "lessThanInclusive", "matchesPatter", "notContainsString", "notEqual", "notIn", "regex"

  - `complex_requirement_rules.any.path` (string)
    The path of the value being tested

  - `complex_requirement_rules.any.value` (string)

  - `curated_dataset` (string)
    The name of the cureated dataset to use

  - `custom_object_id` (string, required)
    For table custom fields, the custom object being references

  - `default_value` (object)
    Default value to use for this field

  - `display_order` (number)
    An optional display order

  - `enable_default_value` (boolean)
    Whether or not this custom field should have a default value

  - `enable_parent_field_mapping` (boolean)
    Determines whether parent field mappings are enabled

  - `form_prompt` (string)
    Optional text to display when filling out a form with this field; if not set, the field name is used

  - `help_text` (string)
    Help text shown to the user

  - `id` (string, required)
    The safe field name used in reporting and data storage. This must be unique

  - `is_active` (boolean)
    Whether not this is an active field that should be displayed in dropdowns

  - `maximum_number_of_words` (number)
    For large text fields, the maximum # of words

  - `name` (string, required)
    The name of the custom field, visible on forms to users

  - `number_of_decimal_places` (integer)

  - `optional_in_console` (boolean)

  - `parent_child_options` (object, required)
    For picklists, define a parent/child mapping between fields in the parent picklist and fields in this one

  - `parent_child_options.field_mappings` (array)

  - `parent_child_options.field_mappings.child_field_values` (array)
    The selected values in THIS field that should be shown when the parent field value is selected

  - `parent_child_options.field_mappings.parent_field_value` (string, required)
    The parent field value

  - `parent_child_options.parent_field_id` (string, required)
    For picklists, set a parent field that controls the values in this field

  - `portal_accessibility` (string)
    Enum: "none", "read only", "write"

  - `rating_options` (object, required)

  - `rating_options.maximum_rating` (number, required)
    The maximum rating value that can be given

  - `rating_options.meaning_of_maximum` (string)
    The meaning of the maximum value of hte scale (i.e., Very Important, Very Satisfied

  - `rating_options.meaning_of_minimum` (string)
    The meaning of the minimum value of the scale (i.e., Not Important, Unsatisfied)

  - `rating_options.show_text` (boolean)
    Whether or not text should be shown

  - `rating_options.theme` (string)
    The type of rating to show
    Enum: "horizontal", "movie", "square", "stars"

  - `reference_type` (string)
    For reference lookup fields, the service/object being referenced

  - `required` (boolean)

  - `service` (string, required)
    The service for which this custom field is being created.

  - `sort_values_alphabetically` (boolean)

  - `sys_bulk_load_at` (string)
    If this record was loaded via bulk, the timestamp when the record was processed

  - `sys_bulk_load_id` (string)
    If this record was loaded via bulk, the ID of the bulk load process

  - `sys_bulk_load_pk` (string)
    If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key

  - `sys_bulk_load_record_no` (number)
    If this record was loaded via bulk, the record number in the source file

  - `sys_bulk_load_source_file` (string)
    If this record was loaded via bulk, the source file

  - `sys_calculated_field_error` (string)
    The error associated with the calculated field

  - `sys_calculated_field_errors` (array)

  - `sys_calculated_field_errors.error` (string)

  - `sys_calculated_field_errors.field` (string)

  - `sys_configuration_snapshot_id` (string)
    If a snapshot was restored/applies to this record, the ID of the snapshot

  - `sys_created_at` (string, required)
    The date/time that this record was created, expressed in ISO-8601 date format

  - `sys_created_by_id` (string, required)
    The ID of the user that created this record

  - `sys_deleted_by_id` (string)
    The ID of the user that deleted (or last tried to delete) this object

  - `sys_directive` (string)
    Means for passing directive information into an object processing logic

  - `sys_external_id` (string)
    The ID that a record has from an external system or data import

  - `sys_has_files_in_s3` (boolean)
    If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion

  - `sys_last_bulk_data_operation_id` (string)
    If this record was last touched by a bulk data operation, the ID of that operation

  - `sys_last_bulk_data_operation_sys_version` (string)
    If this record was last touched by a bulk data operation, the sys_version at the time of that operation

  - `sys_last_modified_at` (string, required)
    The date/time that this record record was last modified, expressed in ISO-8601 date format

  - `sys_last_modified_by_id` (string, required)
    The ID of the user that last modified this record

  - `sys_last_security_context` (object)
    The security context of the last insert, modify, or delete performed on this item

  - `sys_locked` (boolean)
    If set, this record is locked and cannot be changed via the API

  - `sys_snapshot_base_version` (number)
    The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox

  - `sys_version` (number)
    A number representing the version of this record in the database

  - `textbox_options` (object)

  - `textbox_options.append_text` (string)
    Text to append to the textbox

  - `textbox_options.prepend_text` (string)
    Text to prepend to the textbox

  - `type` (string, required)
    The data type to be used
    Enum: "checkboxes", "currency", "date", "date-time", "electronic signature", "email", "file", "html", "image", "large text", "multiselect picklist", "number", "percent", "phone", "picklist", "radiobuttons", "rating", "reference", "table", "text", "url", "yes-no"

  - `use_curated_dataset` (boolean)
    For list based values, whether to download data from a Rhythm curated dataset

  - `use_first_value_as_default` (boolean)

## Response 200 headers (application/json):

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 400:

  - `400` (unknown)
    The request was invalid.

## Response 400 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized.

## Response 401 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 404:

  - `404` (unknown)
    The resource could not be found

## Response 404 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 429:

  - `429` (unknown)
    Limit exceeded... unable to add contact role based on tenant limits.

## Response 429 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 500:

  - `500` (unknown)
    General server error.

## Response 500 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

