Custom data types
Create a data type
Section titled “Create a data type”Open Types, select Data types, and choose the add action. Enter an identifier and choose a shape:
- Struct groups named fields into one value.
- Enum limits a value to one of several named options.
An enum needs its first option before it can be created.
Edit a struct
Section titled “Edit a struct”Open the data type, then add or remove fields. Each field has a name and a value definition. A definition can use primitive values, dates, another custom data type, or the other supported composite kinds.
Use clear identifiers because they become labels in property editors. Adding a field focuses its name. Removing a field focuses a remaining field, or Add field when none remain.
Edit an enum
Section titled “Edit an enum”Add, remove, or rename options. Existing stored values must match an available option after the schema is saved. An enum must keep at least one option to save. Adding an option focuses its name; removing the last option focuses Add option so you can replace it.
Save schema changes
Section titled “Save schema changes”Schema edits remain a draft until you choose Save, or press ⌘/Ctrl+Enter while editing. Names must be identifiers: start with an English letter or underscore, then use English letters, numbers, or underscores. Field and option names must also be unique within the definition.
If a property uses this data type, its name and definition cannot be changed. This includes indirect use through another custom data type. The page names a referencing property when a change is blocked and keeps your draft. To use a different schema, create another data type and define a new property with it. Detaching a property from a node or relationship type, or clearing stored values, does not remove the reusable property definition’s reference. If reference checks fail to load, use Retry reference check.
If only other data types reference the schema, definition changes ask for confirmation. Choose Save changes or press ⌘/Ctrl+Enter in the confirmation. Those types then use the updated definition.
Renaming the data type identifier is blocked while other definitions reference it. Remove those references before renaming.
While a save is pending, editing is locked. A confirmation also stays open and cannot be dismissed until the save finishes. A failed save keeps your draft and focuses its error; correct it or retry Save or Save changes. You can cancel a failed confirmation to return to the draft.
Some definitions received from the API may be shown read-only when the current editor cannot represent their shape, including payload enums or unsupported field kinds. The page preserves them rather than silently rewriting them.
If a background refresh fails temporarily, the editor keeps your unsaved name and definition. Use Retry to refresh the saved data without clearing your draft. If the type has been deleted or you no longer have access, editing is removed. An initial load failure shows Retry before the editor opens.
Delete a data type
Section titled “Delete a data type”Return to the Data types list and use the delete action. Referenced data types cannot be deleted; first detach them from properties and from other custom data type fields.