Field types

Choose the correct scalar, array, object, or timestamp type for every model field.

Last verified 2026-08-02

Field types control ingest normalization, warehouse storage, generated OpenAPI, and which analytics operations are valid.

Supported types

Console typeExpected valueTypical use
stringTextIDs, names, paths, categories
integerWhole numberCounts, status codes, durations
floatNumber with decimalsPrices, percentages, measurements
booleantrue or falseFeature flags and states
timestampRFC 3339 text or supported Unix valueEvent time
string_arrayArray of text valuesTags, scopes, categories
integer_arrayArray of whole numbersPorts, numeric IDs
objectJSON objectStructured attributes
object_arrayArray of JSON objectsRepeated structured records
jsonJSON object or arrayFlexible JSON content

Normalization rules

ReportPlane performs controlled normalization, not unlimited coercion.

  • Integer strings such as "42" can normalize to an integer.
  • A decimal number cannot normalize to an integer when precision would be lost.
  • Float values may come from supported numeric values or numeric strings.
  • Boolean strings must be parseable as boolean values.
  • Timestamp text must use RFC 3339, such as 2026-08-02T12:00:00Z.
  • String and integer arrays may also arrive as valid JSON-array text on supported paths.
  • Array items cannot violate their declared item type.
  • An object must be a JSON object, not a scalar or list.

Choosing between string and integer IDs

Use string for identifiers that may contain leading zeroes, letters, prefixes, or values outside safe client-language integer ranges. Use integer only when the value is genuinely numeric and arithmetic or numeric ordering is meaningful.

Choosing between object and JSON

Use object when the value must be a key-value object. Use json when the field legitimately accepts either an object or array and you do not need a more restrictive contract.

Was this page helpful?Send feedback