DemandFlow Support Centre

System Fields

ReferenceEntity Reference16/04/2026Updated 16/04/2026
The fields that exist on every DemandFlow object regardless of entity type, what each one means, who sets it, and which ones you must supply on create.

System Fields

Every object in DemandFlow carries the same set of system fields. Some are mandatory inputs on create, some are server-assigned, and some are maintained automatically across the lifecycle.

Reference table

FieldTypeSet byPurpose
idUUIDServer (on create)Unique object identifier within a tenant. Stable forever, it's used in URLs, foreign keys, comboKey suffixes, and audit logs.
entityStringCallerUppercase entity code. Required on create. Drives partition routing, validation, and which definition applies.
levelNumberCallerNumeric position in the access hierarchy. Required on create. Comes from the entity's definition. See Object Levels.
comboKeyStringCaller (POST appends id)Pipe-delimited hierarchical key. Must always end |ENT: on POST. See comboKey.
comboKey2 / comboKey3StringCaller (POST appends id)Optional additional hierarchy keys for entities that participate in more than one parent relationship. Same format and rules as comboKey. Only present on entities that declare them. See comboKey: Hierarchical Relationships.
subscriptionUUIDServerThe tenant subscription id this object belongs to. Set automatically from your auth token, you cannot override it.
ownerIdUUIDServer (on create)The user who created the object. Cannot be changed on PATCH (silently ignored).
updatedIdUUIDServerThe user who most recently modified the object. Updated on every PATCH.
createdNumber (epoch ms)Server (on create)Creation timestamp. Cannot be changed on PATCH (silently ignored).
updatedNumber (epoch ms)ServerLast-modified timestamp. Updated on every PATCH.
_df_versionNumberServerStarts at 0 on create, incremented by 1 on every PATCH. Used for change detection. See Versioning and Timestamps.

What you supply on create

Three system fields are required in the POST body:

{
  "entity":   "PPL",
  "level":    220,
  "comboKey": "SUB:<your-sub-id>|ENT:",
  ...
}

Everything else is server-assigned or, in the case of updatedId/updated/_df_version, only relevant after the first PATCH.

What you cannot change

The PATCH endpoint silently ignores any attempt to change id, ownerId, or created. The server will also overwrite updated, updatedId, and _df_version with its own values.

See also

system fieldsidentitylevelcombokeysubscriptionowneridversioncreatedupdated

Was this article helpful?

← Back to Knowledge Base