General behaviors
Case sensitivity
Asset names are stored with their original casing. Sift maintains a lowercase index to support case-insensitive lookups, and the filtering API supports bothcaseSensitive: true and caseSensitive: false modes.
Name reuse after archiving
For most entities, uniqueness constraints apply only to non-archived entities. Once an entity is archived, its name can be reused by a new entity. Channel names are scoped per Asset, meaning two different Assets can have a Channel with the same name. Within a single Asset, a Channel is uniquely identified by the combination of name, data type, and unit. A Channel with the same name but a different data type or unit is treated as a distinct Channel.Whitespace trimming
Asset and Tag names have leading and trailing whitespace trimmed before storage.Assets
asset_name is a required field in the ingestion API, data import API, and Channel schema API. If you create an Asset under one name, every external system sending data to that Asset by name must use that exact name.
Channels
| Rule | Detail |
|---|---|
| Max length | 255 bytes |
| Allowed characters | ASCII only: no Unicode |
| Prohibited characters | " \ ` ~ | and the ASCII Information Separator characters: File Separator, Group Separator, Record Separator, and Unit Separator |
| Spaces | Allowed |
| Mutability | Immutable: only description, units, metadata, and active status can be updated |
Channel name structure
Explore uses the Channel Name Delimiter setting to parse channel names into a visual hierarchy in the channel tree. Three settings control this behavior:- Delimiter: the primary character that splits a channel name into hierarchy levels. For example,
.splitsengine.temperature.valueintoengine > temperature > value. - Prefix Delimiter: optional. Applied before the main delimiter to strip path-style prefixes such as
PRIM/engine.temperatureor/gsw/egse/engine.temperature. - Leaf Keywords: trailing segments treated as placeholders rather than hierarchy levels. For example, if
valueis a leaf keyword,engine.temperature.valuedisplays asengine > temperature.