Custom fields
Type definitions for custom field definitions, including field types, params, options, filter inputs, and the patch input used in asset and geo object mutations.
Navixy Repository API is a work in progress. This documentation is published for preview purposes only and doesn't reflect a stable release. Structure, field names, and behaviors are subject to change.
Custom field definitions allow extending entities with organization-specific data fields.
Objects
CustomFieldDefinition
A custom field definition that specifies the metadata for a custom field.
The fieldType property is immutable after creation. To change the field type, delete the definition and create a new one.
title
String!
The human-readable display name.
code
Code!
The machine-readable code, unique per owner and organization.
description
String
A description of the field for UI hints.
order
Int!
The display order within the owner context.
fieldType
The data type determining validation rules and UI rendering. This property is immutable and cannot be changed after creation.
isArchived
Boolean!
Whether this field definition is archived. Archived fields preserve existing values but no longer appear in forms and accept no new input. Use the archive / restore actions in the parent catalog item's customFieldDefinitions input to toggle this state.
FieldParamsString
Parameters for STRING field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
minLength
Int
The minimum character length.
maxLength
Int
The maximum character length.
defaultString
String
The default value.
trim
Boolean!
Whether to trim leading and trailing whitespace.
FieldParamsText
Parameters for TEXT field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
maxLength
Int
The maximum character length.
defaultText
String
The default value.
trim
Boolean!
Whether to trim leading and trailing whitespace.
FieldParamsDecimal
Parameters for DECIMAL field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
minDecimal
Decimal
The minimum allowed value.
maxDecimal
Decimal
The maximum allowed value.
scale
Int!
Digits after the decimal point. Must be >= 0. Values sent with more fractional digits than scale are rounded using HALF_UP before storage.
defaultDecimal
Decimal
The default value.
FieldParamsInteger
Parameters for INTEGER field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
minInteger
Long
The minimum allowed value.
maxInteger
Long
The maximum allowed value.
defaultInteger
Long
The default value.
FieldParamsBoolean
Parameters for BOOLEAN field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
defaultBoolean
Boolean
The default value.
FieldParamsDate
Parameters for DATE field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
defaultDate
Date
The default value.
FieldParamsDatetime
Parameters for DATETIME field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
defaultDatetime
DateTime
The default value.
FieldParamsGeojson
Parameters for GEOJSON field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
FieldParamsSchedule
Parameters for SCHEDULE field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
FieldParamsOptions
Parameters for OPTIONS field type.
Implements: FieldParams, MultiValue
isRequired
Boolean!
Whether a value is required for this field.
isMulti
Boolean!
Whether multiple values can be selected for this field.
defaultOptions
Code
The default option code.
FieldOption
A single option in an OPTIONS field.
code
Code!
The unique code for this option within the field.
label
String!
The display label.
description
String
A description of the option.
isArchived
Boolean!
Whether this option is archived and should not be shown for new selections.
FieldParamsDevice
Parameters for DEVICE field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
FieldParamsReference
Parameters for REFERENCE field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
refEntityTypeCode
Code!
The entity type code that can be referenced.
FieldParamsCatalog
Parameters for CATALOG field type.
Implements: FieldParams, MultiValue
isRequired
Boolean!
Whether a value is required for this field.
isMulti
Boolean!
Whether multiple values can be selected for this field.
refCatalogCode
Code!
The catalog code that items can be selected from.
defaultCatalog
Code
The default item code.
FieldParamsTag
Parameters for TAG field type.
Implements: FieldParams
isRequired
Boolean!
Whether a value is required for this field.
defaultTag
Code
The default tag code.
Inputs
CustomFieldFilterValue
Typed filter value for custom fields. Exactly one field must be set (@oneOf). Choose the variant that matches the custom field's data type:
STRING, TEXT
string
{ string: "hello" }
DECIMAL
decimal
{ decimal: "42.50" }
INTEGER
integer
{ integer: 42 }
BOOLEAN
boolean
{ boolean: true }
DATE
date
{ date: "2024-01-15" }
DATETIME
datetime
{ datetime: "2024-01-15T10:30:00Z" }
OPTIONS, CATALOG, TAG
string
{ string: "option_code" }
DEVICE, REFERENCE
id
{ id: "019a6a3f-..." }
(IN operator)
stringList
{ stringList: ["a", "b"] }
(IN operator)
idList
{ idList: ["uuid1", "uuid2"] }
This input type uses @oneOf - exactly one field must be provided.
string
String
String value — for STRING, TEXT, OPTIONS, CATALOG, TAG fields.
decimal
Decimal
Arbitrary-precision decimal value — for DECIMAL fields.
integer
Long
Signed 64-bit integer value — for INTEGER fields.
boolean
Boolean
Boolean value — for BOOLEAN fields.
date
Date
Date value — for DATE fields.
datetime
DateTime
Date-time value — for DATETIME fields.
id
ID
ID value — for DEVICE, REFERENCE fields.
stringList
[String!]
List of strings — for IN operator on string-based fields.
idList
[ID!]
List of IDs — for IN operator on reference fields.
CustomFieldFilter
A filter condition for a custom field value.
code
Code!
The custom field code to filter by.
value
The value to compare against. Null for IS_NULL and IS_NOT_NULL operators.
CustomFieldsPatchInput
Input for updating custom field values using a patch model.
set
JSON
Fields to set or update as a key-value map.
unset
[Code!]
Field codes to remove.
setPrimary
[Code!]
Field codes to mark as primary (replaces previous primary of the same field type).
unsetPrimary
[Code!]
Field codes to unmark as primary.
CustomFieldDefinitionInput
A single operation on a custom field definition within the parent catalog item. Exactly one action must be provided.
This input type uses @oneOf - exactly one field must be provided.
archive
Archive a custom field definition (non-destructive deactivation).
CustomFieldDefinitionCreateData
Data for creating a custom field definition within its parent catalog item.
code
Code
The machine-readable code. Auto-generated from title if omitted. Codes geojson_data and schedule_data are reserved by the platform.
title
String!
The display name.
description
String
The description.
order
Int
The display order. Auto-calculated as last position if omitted.
CustomFieldDefinitionUpdateData
Data for updating an existing custom field definition. Note: fieldType cannot be changed.
code
Code!
The code of the field definition to update.
title
String
The new display name.
description
String
The new description.
order
Int
The new display order.
params
The updated parameters. Only isRequired and type-specific fields can be changed.
CustomFieldDefinitionDeleteData
Data for permanently deleting a custom field definition.
If entities have values for this field, the default behavior is to reject the deletion. Use onValues: CASCADE to explicitly allow deletion with all associated values.
Prefer archiving for non-destructive deactivation.
code
Code!
The code of the field definition to delete.
onValues
What to do when existing entities have values for this field. Defaults to REJECT to prevent accidental data loss.
CustomFieldDefinitionArchiveData
Data for archiving or restoring a custom field definition.
Archiving deactivates the field without data loss:
The field definition and all its values are preserved.
The field no longer appears in forms and accepts no new values.
Existing values remain readable and visible in history/exports.
code
Code!
The code of the field definition to archive.
CustomFieldDefinitionRestoreData
Data for restoring a previously archived custom field definition.
code
Code!
The code of the field definition to restore.
FieldParamsInput
Field parameters input. Exactly one field must be provided.
This input type uses @oneOf - exactly one field must be provided.
StringFieldParamsInput
Parameters for STRING field type.
isRequired
Boolean!
Whether a value is required.
minLength
Int
The minimum character length.
maxLength
Int
The maximum character length.
defaultString
String
The default value.
trim
Boolean
Whether to trim whitespace.
TextFieldParamsInput
Parameters for TEXT field type.
isRequired
Boolean!
Whether a value is required.
maxLength
Int
The maximum character length.
defaultText
String
The default value.
trim
Boolean
Whether to trim whitespace.
DecimalFieldParamsInput
Parameters for DECIMAL field type.
isRequired
Boolean!
Whether a value is required.
minDecimal
Decimal
The minimum allowed value.
maxDecimal
Decimal
The maximum allowed value.
scale
Int!
Digits after the decimal point. Must be >= 0. Values sent with more fractional digits than scale are rounded using HALF_UP before storage.
defaultDecimal
Decimal
The default value.
IntegerFieldParamsInput
Parameters for INTEGER field type.
isRequired
Boolean!
Whether a value is required.
minInteger
Long
The minimum allowed value.
maxInteger
Long
The maximum allowed value.
defaultInteger
Long
The default value.
BooleanFieldParamsInput
Parameters for BOOLEAN field type.
isRequired
Boolean!
Whether a value is required.
defaultBoolean
Boolean
The default value.
DateFieldParamsInput
Parameters for DATE field type.
isRequired
Boolean!
Whether a value is required.
defaultDate
Date
The default value.
DateTimeFieldParamsInput
Parameters for DATETIME field type.
isRequired
Boolean!
Whether a value is required.
defaultDatetime
DateTime
The default value.
GeoJsonFieldParamsInput
Parameters for GEOJSON field type.
isRequired
Boolean!
Whether a value is required.
ScheduleFieldParamsInput
Parameters for SCHEDULE field type.
isRequired
Boolean!
Whether a value is required.
OptionsFieldParamsInput
Parameters for OPTIONS field type.
isRequired
Boolean!
Whether a value is required.
isMulti
Boolean
Whether multiple options can be selected.
defaultOptions
Code
The default option code.
FieldOptionInput
Input for an option definition. When updating options: if an entry without code is provided, a new option is created. If the label already exists within this field, an error is returned.
code
Code
The unique code. Auto-generated from label if omitted.
label
String!
The display label. Must be unique within the custom field.
description
String
The description.
isArchived
Boolean
Whether this option is archived.
DeviceFieldParamsInput
Parameters for DEVICE field type.
isRequired
Boolean!
Whether a value is required.
ReferenceFieldParamsInput
Parameters for REFERENCE field type.
isRequired
Boolean!
Whether a value is required.
refEntityTypeCode
Code!
The entity type code that can be referenced.
CatalogFieldParamsInput
Parameters for CATALOG field type.
isRequired
Boolean!
Whether a value is required.
isMulti
Boolean
Whether multiple items can be selected.
refCatalogCode
Code!
The catalog code that items can be selected from.
defaultCatalog
Code
The default item code.
TagFieldParamsInput
Parameters for TAG field type.
isRequired
Boolean!
Whether a value is required.
defaultTag
Code
The default tag code.
Enums
FieldType
The data type of a custom field, determining validation rules and UI rendering.
STRING
Single-line text input. Maximum 255 characters.
TEXT
Multi-line text input. Maximum 65,535 characters.
DECIMAL
Arbitrary-precision decimal value (encoded as Decimal string).
INTEGER
Signed 64-bit integer value (encoded as Long).
BOOLEAN
Boolean true/false value.
DATE
Calendar date without time component (YYYY-MM-DD).
DATETIME
Date and time with timezone information.
GEOJSON
GeoJSON geometry object (Point, Polygon, LineString, etc.).
SCHEDULE
Schedule or calendar data with time intervals and recurrence rules.
OPTIONS
Selection from a predefined list of options.
DEVICE
Reference to a Device entity.
REFERENCE
Reference to any entity by its type and ID.
CATALOG
Reference to a catalog item.
TAG
Reference to a Tag entity.
CustomFieldDefinitionDeleteBehavior
Controls the behavior when deleting a custom field definition that has existing values.
Prefer archiving for non-destructive deactivation. Use CASCADE only when permanent data removal is explicitly intended.
REJECT
Reject the deletion with an error if any entity has a value for this field. Default.
CASCADE
Delete the field definition and permanently remove all associated values.
FieldOperator
Comparison operators for filtering by custom field values.
EQ
Value equals the specified value.
NE
Value does not equal the specified value.
GT
Value is greater than the specified value.
GTE
Value is greater than or equal to the specified value.
LT
Value is less than the specified value.
LTE
Value is less than or equal to the specified value.
CONTAINS
String value contains the specified substring (case-insensitive).
IN
Value is one of the specified values in the array.
IS_NULL
Value is null.
IS_NOT_NULL
Value is not null.
Interfaces
FieldParams
The base interface for field parameters.
isRequired
Boolean!
Whether a value is required for this field.
Last updated
Was this helpful?