Field types
A schema may include a number of different types of data fields:
- Simple types - static, atomic values and expect data entries that strictly conform to their specified types. Can be set as searchable unique.
- Complex types - structured or grouped data, allowing for more complex and flexible data representations beyond simple atomic values.
- Dynamic types - Jinjava inserts and data pulled from external sources.
- Relations - data retrieved from records in other schemas.
- Synerise objects - leverage existing data within Synerise by adding Synerise objects as fields. These objects enable advanced personalization and dynamic content.
To learn more, see Synerise objects. - Assets - files from the Files Explorer.
Common field properties
These properties exist in multiple field types:
- Display name: A human-readable name for the field, shown in the record editor.
- API name: A system name for the field.
- In the
{{ record.APIname }}insert, this name is theAPIname - When retrieving/creating/updating a record with the API, this name is the identifier of the field.
- When generating an object from a record, this is the name of the key that stores the field’s value.
- In the
- Description: A human-readable description of the field’s purpose, shown in the record editor.
- Block record-level overwriting: Disables saving values per record. You must provide a default value, which will be applied to all records in the schema.
- Use as record title: If the record doesn’t have a set name, the value of the field is used as the name.
- Required field: A record can only be saved if a value for this field is provided.
- Default value: The provided value will be used for object generation in records where a value is not set.
- Unique values only: No other record in the schema may have the same value for this field.
You can use this to store your own unique record identifiers.
The number of fields with this setting is limited. - Enable search & filtering: The value can be used when searching and filtering records.
The number of fields with this setting is limited.
Field type summary
Simple types
| Field name | Stored values | Primitive data type | Can be searchable1 | Can be unique2 | Accepts Jinjava | Nullable |
|---|---|---|---|---|---|---|
| String | Static strings | |||||
| Number | Integers or floating point numbers | |||||
| Date & Time | A date or date and time | |||||
| Boolean | true/false values |
1,2The number of fields with this setting is limited.
Complex types
| Field name | Stored values | Primitive data type | Can be searchable1 | Can be unique2 | Accepts Jinjava | Nullable |
|---|---|---|---|---|---|---|
| Enumeration | A list of allowed values, displayed as a dropdown list | |||||
| JSON code | Raw JSON content | |||||
| Array | Lists of values |
1,2The number of fields with this setting is limited.
Dynamic types
| Field name | Stored values | Primitive data type | Can be searchable1 | Can be unique2 | Accepts Jinjava | Nullable |
|---|---|---|---|---|---|---|
| Jinjava code | A string which contains Jinjava inserts. | |||||
| External Data | Pulls data from an external source when generating an object from a record |
1,2The number of fields with this setting is limited.
Relations
| Field name | Stored values | Primitive data type | Can be searchable1 | Can be unique2 | Accepts Jinjava | Nullable |
|---|---|---|---|---|---|---|
| One to one | Reference to one record from another schema | |||||
| One to many | References to multiple records from another schema |
1,2The number of fields with this setting is limited.
Synerise objects
See Synerise objects to learn to use: AI recommendations, aggregates, catalogs, expressions, metrics, and vouchers.
Assets
| Field name | Stored values | Primitive data type | Can be searchable1 | Can be unique2 | Accepts Jinjava | Nullable |
|---|---|---|---|---|---|---|
| File | Reference to a file (other than image) from Data Management > Files | |||||
| Image | Reference to an image from Data Management > Files |
1,2The number of fields with this setting is limited.
Array
This field lets you add a list of multiple values within a single field. You can make the array untyped (default behavior) or configure it to accept only strings or only numbers.
Field configuration in a schema
- If you want to select the data type of an array, select it from the Array type dropdown.
This setting can’t be changed per record.
Object generation example
Arrays don’t require extra parameters in the object generation request.
The generated content is the value of the array:
[
"string1",
"string2"
]Boolean
This field type accepts true or false as the value. In the record editor, it’s shown as a checkbox.
Object generation example
Booleans don’t require extra parameters in the object generation request.
The generated content is the value of the field:
trueDate & Time
This field accepts a date or date and time, according to ISO 8601.
In the record editor, you can select the value with a date picker:

Object generation example
Dates and times don’t require extra parameters in the object generation request.
The generated content is the value of the field.
"exampleDateAndTime": "2025-12-09T17:19:13+01:00",
"exampleDate": "2025-12-09"Enumeration
This field type lets you add a fixed set of allowed values. In the record configuration list, it will appear as a dropdown. You can add human-readable labels to show in the dropdown.
When a record is created or updated, the value of this field must match one of the allowed values.

Field configuration in a schema
- In the Options section:
- Click Add item.
- On the left side, enter the human-readable name shown in the record editor.
- On the right side, enter the value that will be returned when an object is generated.
Object generation example
Enumerations don’t require extra parameters in the object generation request.
The generated content is the value of the field:
"exampleName2"External Data
This field lets you add a dropdown with external sources to a schema. When you generate an object from a record, a request is made to the external source and the data from the response is added to the generated content.
The external source selected in the schema applies to all records and can’t be changed per record.
Field configuration in a schema
From the Select an external source dropdown list, select an external source.
Object generation example
External sources don’t require extra parameters in the object generation request.
The generated content is the response body from the external source.
{
"key1": "value1",
"key2": "value2"
}File
This field lets you add a dropdown with a selection of files available in Data Management > Files, except for image files. To add a dropdown with image selection, see Image.

Object generation example
Files don’t require extra parameters in the object generation request.
The generated content is an object with a link to the file.
{
"origin": "https://upload.snrcdn.net/3d2bbac6f7eacc33da9c9f4299c3154c49965926/default/origin/1a87f667856cfoobarba514d6282be4e.pdf",
"large": null,
"thumb": null
}Image
This field lets you add a dropdown with a selection of images available in Data Management > Files.

Object generation example
Images don’t require extra parameters in the object generation request.
The generated content is an object with links to the image.
{
"origin": "https://upload.snrcdn.net/3d2bbac6f7eacc33da9c9f4299c3154c49965926/default/origin/1a87f667856cfoobarba514d6282be4e.png",
"large": "https://upload.snrcdn.net/3d2bbac6f7eacc33da9c9f4299c3154c49965926/default/medium/1a87f667856cfoobarba514d6282be4e.png",
"thumb": "https://upload.snrcdn.net/3d2bbac6f7eacc33da9c9f4299c3154c49965926/default/thumb/1a87f667856cfoobarba514d6282be4e.png"
}Jinjava code
This field allows you to input and store Jinjava template code within the schema. Using this field, you can define reusable templates or dynamic text that will be rendered based on the context data at runtime.
When referencing profile attributes with Jinjava, you should check if they exist. See the below image for an example.
For more details, see Insert usage.

Additionally, in this field, you can use inserts for retrieving values from other fields and providing context.
Field configuration in a schema
- In Jinjava code, enter the default code.
- If you want to enforce casting the output of Jinjava code to a specific value type:
- Enable the Cast to option.
- From the Choose type dropdown list, select the data type to which the Jinjava code output will be cast to.
- If you want to return
nullwhen casting fails, enable Strict casting.
If strict casting is disabled, the raw value (string) is returned instead of an error.
Object generation example
In the following example, content is generated from the record shown in the screen above:
- The name of the customer is pulled from the profile for whom the content was generated (see Generating objects).
- The day of week is added in the
contextobject of the generation request."context": { "dayOfWeek": "Monday" }
JSON code
This field allows you to input and store raw JSON data. The field includes validation to ensure the JSON is well-formed, enabling accurate storage and retrieval of structured data exactly as provided.

Field configuration in a schema
Only common properties.
Object generation example
JSON fields don’t require extra parameters in the object generation request.
The generated content is the value of the field:
{
"key1": "value1",
"key2": {
"key3": "value3"
}
}Number
This field type lets you store numbers. You can choose to accept only integers or integers and floating-point numbers.

Field configuration in a schema
- Select one of the following options:
- Integer - To allow a whole number that can be positive, negative, or zero, but does not include any fractional or decimal part.
- Float - To let users type real numbers, including decimal values.
- To set limits on values for the field:
- Select the Limit value checkbox.
- Provide the minimum and maximum values the field can accept.
Object generation example
Numbers don’t require extra parameters in the object generation request.
The generated content is the value of the field:
"exampleInteger": 15,
"exampleFloat": 3.14One to one
This is a relation field type that provides a dropdown populated with records from a selected schema. It allows a schema record to reference a single record from another schema. When a record is selected from the related schema, values from all fields of that referenced record are accessible.

Field configuration in a schema
- From the Select schema dropdown list, select a schema which stores the records that can be referenced.
This can’t be changed per record.
Object generation example
If the referenced records contain:
- fields which use the
context.keyNameinserts, you can provide the context as described in the Jinjava code fields. - AI recommendation fields, you can provide the context as described in the AI recommendation field.
The generated content is the processed content of the referenced record. In the following example, the referenced record has two fields: someNumber and someString
{
"someNumber": 35.7,
"someString": "defaultvalue"
}One to many
This is a relation field type that provides a dropdown populated with records from a selected schema. It allows a schema record to reference up to 10 records from another schema. When a record is selected from the related schema, values from all fields of that referenced record are accessible.

Field configuration in a schema
- From the Select schema dropdown list, select a schema which stores the records that can be referenced.
This can’t be changed per record. - In Limit, set the maximum number of records that a record can link.
This can’t be changed per record.
Object generation example
If the referenced records contain:
- fields which use the
context.keyNameinserts, you can provide the context as described in the Jinjava code fields. - AI recommendation fields, you can provide the context as described in the AI recommendation field.
The generated content is the processed content of the referenced records. In the following example, two single-field records are fetched.
[
{
"someString": "value1"
},
{
"someString": "value2"
}
]String
This field type lets you add a text field.
Field configuration in a schema
- To set length limits for the field value, select the Character limits checkbox and specify the minimum and maximum number of characters allowed.
- To enable regex validation for the field value, select Validation pattern and enter the expression.
Object generation example
Strings don’t require extra parameters in the object generation request.
The generated content is the value of the field:
"Lorem ipsum"