Skip to main content
The Devias data model has four levels: a workspace holds objects, an object has fields, and the rows of an object are records. Objects and fields are stored as data, not as code, so a change to them takes effect everywhere without a rebuild.

Levels of the data model

An object has API names (name, nameSingular, namePlural), which code uses and people never read, and labels (labelSingular, labelPlural), which people read. See Names, labels and titles.

Change the model in Settings

A field added under Settings → Data model appears in tables, forms, record pages, the HTTP API and the data an agent can read. No rebuild or deploy is needed. The same change can be made from code with a module manifest: see Objects and fields in a module.

Built-in field types

The type of a field is one of these values. The last four columns say what the studio and the query API can do with a field of that type. A module can register more types. A type the engine does not know is treated as opaque JSON, and the studio draws it with a fallback.

Relations between objects

A relation field points at a record of another object, such as the company of a deal. Relations connect records across objects and across modules. They are what lets a company’s page list its people and deals.

Ownership of objects and fields

  • Objects and fields created in Settings belong to the workspace.
  • Objects and fields shipped by a module belong to that module, and the module maintains them.
  • A workspace can add its own fields to an object that a module owns. An update to the module never touches those fields.
Ownership is tracked by id, not by name.