Skip to content

Entity YAML Reference

Field-level specification for Entity YAML definitions (entities/*.yaml).

  • Location: entities/*.yaml
  • entity_id must match the filename stem (e.g. cases.yaml requires entity_id: cases)
  • Columns are validated against contracts/gold_contract.v1.json
  • Validator: python3 scripts/entitycheck.py
  • Compiler: python3 scripts/entitycompile.py
FieldTypeRequiredDescription
entity_idstringYesMust match filename stem
created_atstringNoISO date ("2026-03-17")
modified_atstringNoISO date. Updated on change
dbt_modelstringYesTarget dbt model name. Must start with gold_
display_namei18n mappingYesHuman-readable name (en/de/fr required)
iconstringNoSingle character or emoji for UI display
is_browseablebooleanNoWhether this entity appears in Explorer browse views
probe_entity_typestringNoGold contract entity type name (e.g. Case, BillingEvent). Must exist in gold_contract.v1.json
taxonomymappingNoSee Taxonomy
columnsmappingYesSee Columns
relationshipslistNoSee Relationships

All i18n fields are mappings with keys en, de, fr (all three required).

Defines which model columns serve which UI role. Column names are validated against the gold contract fields for the specified dbt_model.

FieldTypeRequiredDescription
primary_keystringYesSurrogate key column
business_idstringYesHuman-readable business identifier
labelstringNoMain display label column
detailstringNoSecondary detail column
timestampstring or nullNoPrimary timestamp column
amountstring or nullNoPrimary monetary amount column
formatsmappingNoColumn-level format hints. See Column Formats

A mapping of column_name to format string. Column names must exist in the gold contract.

FormatDescription
plainNo formatting
yearYear display (e.g. 2025)
currencyMonetary value with currency symbol
percentPercentage value
numberNumeric with thousands separator
dateDate display
idIdentifier (monospace, no formatting)
FieldTypeRequiredDescription
dimension_typestring or nullNoTaxonomy dimension type (e.g. cost_center)
caption_columnstringNoColumn used as display caption in taxonomy views

List of related entities. Each relationship defines a join from this entity to a target model.

FieldTypeRequiredDescription
target_modelstringYesTarget dbt model name. Must start with gold_
join_columnstringYesColumn on this entity to join from
target_join_columnstringYesColumn on target model to join to
order_columnstringYesColumn to order related records by
labeli18n mappingYesRelationship display label (en/de/fr required)
custom_sqlstringNoCustom SQL for complex joins. Must contain {schema} and $1 placeholders

When custom_sql is provided, {schema} is replaced with the tenant schema and $1 with the entity’s primary key value at runtime.

entity_id: cases
created_at: "2026-03-10"
modified_at: "2026-03-15"
dbt_model: gold_cases
display_name:
en: Cases
de: Faelle
fr: Cas
icon: "+"
is_browseable: true
probe_entity_type: Case
taxonomy:
dimension_type: null
caption_column: case_id
columns:
primary_key: case_key
business_id: case_id
label: case_id
detail: case_type
timestamp: admission_date
amount: total_amount
formats:
admission_date: date
discharge_date: date
total_amount: currency
case_year: year
relationships:
- target_model: gold_billing_events
join_column: case_id
target_join_column: case_id
order_column: billing_date
label:
en: Billing Events
de: Rechnungspositionen
fr: Evenements de facturation
- target_model: gold_procedures
join_column: case_id
target_join_column: case_id
order_column: procedure_date
label:
en: Procedures
de: Prozeduren
fr: Procedures
jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC