Skip to content

Attributes

Attributes are the foundational data field definitions in Omnismith. They define what information can be stored in entity records, how data is validated, and how metrics are tracked over time.


1. Attribute Types (Functional Classification)

Section titled “1. Attribute Types (Functional Classification)”

When creating an attribute, you choose one of four primary functional types:

Attribute TypeDescriptionPrimary Use CaseStorage & Analytics Behavior
DimensionDiscrete properties and descriptive text.Names, SKUs, Categories, Descriptions.Stored in standard relational tables with an Audit Change Log tracking all edits over time.
MetricNumeric values that change over time.CPU load, Account Balance, Latency, Storage size.Stored in high-performance time-series telemetry storage. Exposes time-series aggregation queries (min, max, avg, sum).
ListFields with a predefined set of selectable options.Priority (Low, Medium, High), Status (Open, In Progress, Closed).Options are managed dynamically. Useful for strict form validation and filter chips.
ReferencePointer links that connect one entity to another template.Support Ticket → Customer, Order → Product.Establishes relational links across entity records with target display attribute resolution.

Every attribute specifies a data type that enforces strict validation rules on values entered via the UI or API:

  • String: Standard UTF-8 text strings (e.g. Hostname, Customer Name, Serial Code).
  • Number: Integers or floating-point decimal numbers (e.g. Price, Temperature, Stock Quantity).
  • Boolean: Binary flags (true / false) representing status toggles (e.g. Active, Is VIP).
  • Date: Calendar date formatted as YYYY-MM-DD (e.g. Expiration Date, Birth Date).
  • DateTime: ISO 8601 precise timestamp (e.g. 2026-07-20T20:15:00Z).
  • File: Attachment reference for uploaded documents (PDFs, spreadsheets).
  • Image: Media attachment reference for images (PNG, JPEG).

3. Creating & Managing Attributes in the UI

Section titled “3. Creating & Managing Attributes in the UI”
  1. Navigate to Data Modeling → Attributes in the sidebar navigation launcher.
  2. Click + Create Attribute (or select an existing attribute to edit).
  3. Configure Basic Settings:
    • Name: Human-readable field title (e.g. Response Latency).
    • Slug (Optional): A project-unique snake_case string identifier (e.g. response_latency, cpu_usage, sku) used for human-readable API writes, telemetry streams, and search filters without UUID lookups.
    • Attribute Type: Choose between Dimension, Metric, List, or Reference.
    • Data Type: Select the underlying field type (String, Number, Boolean, Date, DateTime, File, Image).
  4. Type-Specific Configurations:
    • If List: Add predefined option items with custom labels and values.
    • If Reference: Select the Target Template and the Target Display Attribute used to render linked records in dropdowns.
  5. Click Save Changes.

Attribute configuration screen showing type and data type selectors


Attributes can be assigned an optional string slug during initial creation or schema updates:

  • Human-Readable API Payloads: External systems, scripts, and IoT telemetry agents can reference attributes by attribute_slug: "cpu_usage" instead of querying database UUIDs.
  • Project-Level Scoping: Slugs are enforced as unique within their project workspace, allowing different projects to use identical, intuitive slug names (e.g. sku or price) without collision.
  • UI Badge Tags: In the attribute directory table, active slugs appear as monospace badges for quick copying into code and configurations.
  • Deterministic Resolution: When both attribute_id and attribute_slug are provided, attribute_id takes precedence for backward compatibility.