Skip to content
EntryLayer Operational data entry for Snowflake

Field Types

EntryLayer fields combine a base field_type with config, validation metadata, form rules, source metadata, and field-group permissions.

Use this page when composing CREATE_FIELD, UPDATE_FIELD, SET_FIELD_VALIDATION, CLEAR_FIELD_VALIDATION, or EXTRACT_VARIANT_FIELDS payloads.

Field typeBest forEditable in submissionsCommon SQL API commands
TextFree text, notes, identifiers, formula display valuesYes unless read-onlyCREATE_FIELD, UPDATE_FIELD, SET_FIELD_VALIDATION
NumericAmounts, counts, percentages, quantitiesYes unless read-onlyCREATE_FIELD, SET_FIELD_VALIDATION, SET_PRIMARY_KEYS
DateDate or date-time valuesYes unless read-onlyCREATE_FIELD, SET_FIELD_VALIDATION
CheckboxBoolean true/false valuesYes unless read-onlyCREATE_FIELD, SET_FIELD_VALIDATION
SelectControlled choice lists and cascading selectionsYes unless read-onlyCREATE_FIELD, UPDATE_FIELD, SET_FIELD_VALIDATION
LabelStatic or computed display textUsually noCREATE_FIELD, UPDATE_FIELD
VariantSnowflake VARIANT, OBJECT, or ARRAY source valuesNo by defaultEXTRACT_VARIANT_FIELDS
{
"title": "Reviewer Comment",
"field_type": "Text",
"required": false,
"description": "Visible helper text",
"code": "reviewer_comment",
"config": {},
"values": []
}

Use SQL API Contracts for the full Field, FieldValidation, and DraftStructure contracts.

Text is the most flexible field type.

ConfigTypeDefaultDescription
multilinebooleanfalseShow as a textarea instead of a single-line input.
default_valuestringnonePre-filled value for new submissions.
read_onlybooleanfalseDisplay as non-editable.
primary_keybooleanfalseMark as a key field used for row identification.

Common mistakes: using Text for a controlled status value that should be a Select, or putting secrets/default credentials into default_value.

Numeric fields are used for quantities, counts, amounts, percentages, and other number-based values.

ConfigTypeDefaultDescription
formatstringnoneDisplay format: currency, percentage, or plain.
range_minnumbernoneMinimum allowed value.
range_maxnumbernoneMaximum allowed value.
round_precisionnumbernoneDecimal places to round to.
default_valuestring or numbernonePre-filled value.
read_onlybooleanfalseDisplay as non-editable.
primary_keybooleanfalseMark as a key field used for row identification.

Validation keys commonly used with Numeric fields: required, min, max, precision, and format.

Date fields support date-only input or date-and-time input.

ConfigTypeDefaultDescription
include_timebooleanfalseShow time entry alongside the date.
default_valuestringnonePre-filled ISO date or date-time value.
read_onlybooleanfalseDisplay as non-editable.
primary_keybooleanfalseMark as a key field used for row identification.

Common mistakes: sending locale-formatted dates in automation instead of ISO-style values.

Checkbox fields store true/false values.

ConfigTypeDefaultDescription
default_valueboolean or stringfalsePre-checked state.
read_onlybooleanfalseDisplay as non-editable.
primary_keybooleanfalseMark as a key field used for row identification.

Select fields represent controlled choice lists.

ConfigTypeDefaultDescription
allow_multiplebooleanfalseAllow selecting multiple values.
default_valuestringnonePre-selected value.
read_onlybooleanfalseDisplay as non-editable.
primary_keybooleanfalseMark as a key field used for row identification.

The SQL API accepts either string options:

{
"values": ["Open", "Closed", "Needs Review"]
}

or object options:

{
"values": [
{"title": "Open", "value": "O"},
{"title": "Closed", "value": "C"}
]
}

Stored values are normalized to objects with at least title and value. Invalid option elements return ERR_VALIDATION instead of persisting malformed field metadata.

Label fields are display-oriented, not input-oriented.

ConfigTypeDefaultDescription
default_valuestringnoneStarting display text when used as a static label.
read_onlybooleantrueLabels are display-oriented in the live form.
primary_keybooleanfalseSupported by the shared field model but rarely useful for labels.

Variant fields are used for Snowflake VARIANT, OBJECT, or ARRAY source values.

ConfigTypeDefaultDescription
read_onlybooleantrueVariant fields are treated as display-only in the live form.
default_valuestringnoneRarely used; generally source-driven.
primary_keybooleanfalseAvailable in the shared field model but uncommon for Variant.

Use EXTRACT_VARIANT_FIELDS to create operational fields from known JSON paths. SQL API extraction does not discover paths by sampling source rows.

CALL ENTRYLAYER.API.SET_FIELD_VALIDATION(
'proj_123',
'field_amount',
PARSE_JSON('{"required":true,"min":0,"max":100000,"format":"currency"}')
);