Create, Save and Update Semantic Model JSON Examples

Create, Save and Update Semantic Model JSON Examples

Table of Contents

Complete JSON Example

This JSON example applies to Create Semantic Model, Save Semantic Model, and Update Semantic Model APIs and can be used as a reference for request body object.

{ "iro":[ { "entityRepositDate":"1776922346420", "ownerAppId":"398949229", "linkedEntityId":"", "type":"ANALYTICAL", "specific":{ "smObject":{ "measures":{ "measure":[ { "isKeyElement":false, "dataField":{ "queryName":"Orders Date", "content":"Sales", "queryId":"15010652913815127066040160616314_0" }, "color":"", "materialize":"", "adjustmentType":"NEGATIVE", "description":"", "type":"STANDARD", "restrict":false, "isBoundaryDistCount":false, "id":"MEASURE_11", "formatType":"2", "isAccessible":true, "expression":{ "nonEmptyBehavior":"BY_MEASURE", "content":"" }, "dataType":"NUMBER", "summaryFunction":"0", "dictionaryType":"INDEX", "format":{ "useDefault":"0", "content":"#,##0.00" }, "isVisible":true, "actualSummaryFunction":"0", "minOnMaxOnDataField":{ "queryName":"Orders Date", "queryId":"15010652913815127066040160616314_0" }, "tags":"", "isDefault":true, "unit":"", "uniqueName":"MEASURE_11", "isAdjustment":false, "isVisibleConversational":true, "name":"Amount", "subType":"", "displayFolder":"", "solveOrder":0 } ], "incrementalUpdateProperties":{ "processingMode":1 } }, "aggregationStrategy":{ "configurationDriven":{ "ENTITY_PROPS_VALUES":[ { "mode":"DEFAULT", "name":"kyvos.build.precompute.level.threshold", "value":"" } ] }, "type":"CONFIGURATION_DRIVEN" }, "slidingWindows":[ ], "viewType":"", "writebackSettings":{ "identifierElements":[ ], "enabled":false }, "measureGroups":{ "measureGroup":[ { "measureId":[ "MEASURE_11" ], "isAccessible":true, "materialize":"", "name":"MeasureGroup", "description":"", "isVisible":true } ], "dataSources":[ { "id":"15010652913815127066040160616314_0", "type":"REFERENCED" } ] }, "dimensions":[ { "dataField":{ "queryName":"", "content":"", "queryId":"" }, "isAccessible":true, "isGisEnabled":false, "materialize":"", "restrictValues":false, "hierarchies":[ { "qualifyMembers":{ "TYPE":"ALL_PARENTS", "value":"" }, "dataField":{ "queryName":"", "content":"", "queryId":"" }, "isAccessible":true, "hasAll":false, "materialize":"", "description":"", "isVisible":true, "isCustomCalendar":false, "allMemberUniqueName":"", "predefTimeHierarchy":"", "tags":"", "isDefault":false, "hasAlternatePath":false, "uniqueName":"H_678469", "hasParentChildRelation":false, "defaultMemberUniqueName":"", "pcLevelCount":-1, "name":"H_RestAPI", "smViewType":"", "displayFolder":"", "levels":[ { "isKeyElement":false, "dataField":{ "queryName":"", "queryIdPre":"", "content":"", "queryId":"" }, "showValues":0, "aggregationType":"BOTH", "dateDataType":"", "materialize":"", "dateFormat":"", "description":"", "displayFieldSubDataType":"NONE", "mapLevel":"", "isDeleted":false, "subDataType":"", "geoRole":"", "processType":"DATA_AND_METADATA", "formatType":"", "fieldDataType":"", "isAccessible":true, "hideMember":0, "dataType":"", "displayFieldDataType":"", "mapType":"", "isAll":true, "isVisible":true, "fullyQualifiedName":"", "parentField":{ "dataType":"", "queryName":"", "content":"", "queryId":"" }, "tags":"", "uniqueName":"DIMENSION_LEVEL_417027", "isVisibleConversational":true, "name":"Hierarchy.ALL", "hasTimeInDateFormat":false, "displayField":{ "queryName":"", "queryIdPre":"", "content":"", "queryId":"" }, "memberProperties":[ ], "properties":[ ] }, { "isKeyElement":false, "dataField":{ "queryName":"Orders Date", "queryIdPre":"", "content":"OrderDate", "queryId":"15010652913815127066040160616314_0" }, "showValues":0, "aggregationType":"BOTH", "dateDataType":"", "materialize":"YES", "dateFormat":"", "description":"", "displayFieldSubDataType":"NONE", "mapLevel":"", "isDeleted":false, "subDataType":"", "geoRole":"", "processType":"DATA_AND_METADATA", "formatType":"4", "fieldDataType":"", "isAccessible":true, "hideMember":0, "dataType":"DATE", "displayFieldDataType":"", "mapType":"", "isAll":false, "isVisible":true, "fullyQualifiedName":"", "parentField":{ "dataType":"", "queryName":"", "content":"", "queryId":"" }, "tags":"", "uniqueName":"DIMENSION_LEVEL_314482", "isVisibleConversational":true, "name":"OrderDate", "hasTimeInDateFormat":false, "displayField":{ "queryName":"", "queryIdPre":"", "content":"", "queryId":"" }, "memberProperties":[ ], "properties":[ ] } ] } ], "description":"", "isVisible":true, "scdType":2, "restrict":false, "type":"Time", "incrementalUpdateProperties":{ "processingMode":1 }, "predefTimeHierarchy":"", "tags":"", "attrs":[ ], "dimToFactMapping":"ONE_TO_MANY", "uniqueName":"DIM_230166", "name":"RestAPI", "defaultHierarchyUniqueName":"H_678469", "id":"DIM_230166", "smViewType":"", "calcMembers":[ ], "dataSources":[ { "id":"15010652913815127066040160616314_0", "type":"REFERENCED" } ] } ] }, "attrs":{ "isBound":"false", "coType":"INTERNAL", "rawDataConnectionMode":"DEFAULT", "drdId":"17105045377248127095022132474898", "smUniqueName":"", "rawDataQuerying":"0", "connectionName":"", "modelType":"BASE", "drdName":"Orders Date" } }, "folderId":"folder_16768983569080127071039143429505", "designSource":"DESIGNER", "ownerAppName":"admin", "common":{ "compatibilityVersion":"1", "desc":"", "tags":"" }, "entityState":"ACTIVE", "name":"RestAPIFolder", "isPublic":true, "subType":"CUBE", "repositDate":"04/23/2026 11:02:26 IST", "id":"106157", "folderName":"AdventureWorksMF_copy_Rest", "accessRights":"1", "categoryId":"folder_16768983569080127071039143429505" } ] }

JSON Fields Description

Field

Type

Description

Possible Values

Example

iro

JSON Object

Root wrapper containing the semantic model object

-

{...}

iro.id

String

Unique system-generated identifier for the semantic model

Any valid ID string

"17764122062715127080024192718499"

iro.name

String

Human-readable display name. Must be unique within a folder

Any non-empty string (no special characters like / \ : * ? " < > |)

"Sales Analysis Model"

iro.type

String

Internal entity classification

"ANALYTICAL"

"ANALYTICAL"

iro.subType

String

Further classification of entity type

"CUBE", "SMODEL"

"CUBE"

iro.folderId

String

Identifier of the folder where this semantic model resides

Valid folder ID

"folder_177641213309"

iro.categoryId

String

Folder identifier (same as folderId)

Valid folder ID

"folder_177641213309"

iro.folderName

String

Display name of the folder

Any string

"Sales Reports"

iro.accessRights

String

Numeric code for user's permission level

-1 = DENIED ("Deny"),
0 = READ ("Read Only"),
1 = WRITE ("Read And Write"),
-2 = IMPLICIT_READ ("Implicit Read")

"1"

iro.ownerAppId

String

Unique identifier of the owner of particular semantic model

Valid user ID or empty

"user_123456"

iro.ownerAppName

String

Username of the semantic model owner. Used for ownership attribution and audit purposes.

Any string

"John"

iro.repositDate

String

Human-readable timestamp of last modification

Date string

"04/17/2026 13:21:19 IST"

iro.designSource

String

Indicates how this dataset was created.

"DESIGNER", "KYVOS_DIALOG", "QUICK_DATA_MODELLER"

"DESIGNER

iro.entityRepositDate

String

Unix epoch timestamp (ms) of last modification

Numeric string

"1776412263470"

iro.isPublic

Boolean

Whether publicly accessible to all users

true, false

true

iro.linkedEntityId

String

ID of linked entity

Valid entity ID or empty

""

iro.entityState

String

Current lifecycle state

"ACTIVE" - Entity is active,
"SUSPEND" - Entity is suspended

"ACTIVE"

iro.common

JSON Object

Contains common metadata properties

-

{...}

iro.common.compatibilityVersion

String

Indicates which Kyvos version the semantic model was created in.

"1" (INITIAL) - Day 1 to 2021.2
"2" (V2) - 2021.3 to 2023.2
"3" (V3) - 2023.2 to Today (latest version)

“1“, “2“, “3“

1

iro.common.desc

String

Detailed description of the semantic model

Free-form text

"Monthly sales analysis"

iro.common.tags

String

Comma-separated keywords for categorization

Comma-separated tags

"sales,monthly"

iro.specific

JSON Object

Contains all semantic model-specific configuration including dimensions, measures, hierarchies

-

{...}

iro.specific.attrs

JSON Object

Core attributes controlling model behavior, connections, security, and processing options

-

{...}

iro.specific.attrs.smUniqueName

String

System-generated unique identifier for MDX query generation. Do not modify for existing models

Unique identifier

"SM_17764122062715"

iro.specific.attrs.connectionName

String

Name of data connection for model processing and cube builds. Must be pre-configured in Kyvos

Existing connection name

"Snowflake_Sales"

iro.specific.attrs.isBound

String

Whether model has validated all data source connections. "true" means all datasets and columns are accessible

"true", "false"

"true"

iro.specific.attrs.buildStatus

String

Current processing status. COMPLETED=ready for querying, FAILED=errors occurred, IN_PROGRESS=building, NOT_STARTED=never built

"COMPLETED", "FAILED", "IN_PROGRESS", "NOT_STARTED"

"COMPLETED"

iro.specific.attrs.lastBuildStatus

String

Status of most recent build attempt for tracking build history

"COMPLETED", "FAILED", "IN_PROGRESS"

"COMPLETED"

iro.specific.attrs.rawDataQuerying

String

Whether Raw Data Querying (RDQ) is enabled. "1"=users can bypass cube aggregations and access raw data directly

"0" (disabled), "1" (enabled)

"1"

iro.specific.attrs.rawDataConnectionName

String

Connection for raw data queries. Can differ from main processing connection

Existing connection name

"Snowflake_RDQ"

iro.specific.attrs.rawDataConnectionMode

String

How raw data connection is selected. MANUAL=explicit, AUTO=system selects

"MANUAL", "AUTO"

"AUTO"

iro.specific.attrs.securityRuleLogicalRelation

String

How multiple security rules combine. AND=all must pass (restrictive), OR=any must pass (permissive)

"AND", "OR"

"AND"

iro.specific.attrs.supportedQueryingLanguage

String

Query languages supported. MDX for OLAP queries, SQL for relational queries

"MDX", "SQL", or comma-separated

"MDX,SQL"

iro.specific.attrs.modelType

String

Model type. BASE=standalone, PERSPECTIVE=subset view of base, VIRTUAL=queries on-demand without materialization

"BASE", "PERSPECTIVE", "VIRTUAL"

"BASE"

iro.specific.attrs.rowLevelSecurityEndpoint

String

URL for external row-level security evaluation service

Valid URL or empty

""

iro.specific.attrs.drdId

String

ID of Data Relationship Diagram defining underlying data structure (datasets, joins, relationships)

GUID of existing DRD

"17764122062715"

iro.specific.attrs.drdName

String

Display name of associated DRD

Existing DRD name

"Sales_DRD"

iro.specific.attrs.coType

String

Cube type. INTERNAL=data managed in Kyvos storage, EXTERNAL=connects to external OLAP source

"INTERNAL", "EXTERNAL"

"INTERNAL"

iro.specific.smObject

JSON Object

Main semantic model object containing all structural definitions including dimensions, hierarchies, levels, attributes, measures, and measure groups

-

{...}

iro.specific.smObject.viewType

String

Design view type. PHYSICAL=designed using actual database tables/columns, empty=logical business-friendly names

"PHYSICAL", ""

"PHYSICAL"

iro.specific.smObject.scripts

Array

Custom scripts for MDX calculations, data transformations, or automation tasks during processing

Array of Script objects

[{...}]

iro.specific.smObject.drdObject

JSON Object

Embedded DRD definition when model contains its own DRD inline rather than referencing external DRD by ID

Complete DRD JSON

{...}

iro.specific.smObject.queries

Array

Query definitions for non-DRD based models. Not used when drdId is specified

Array of Query objects

[{...}]

iro.specific.smObject.dimMappings

Array

Dimension mapping configurations for complex scenarios where dimensions span multiple sources

Array of DimMapping objects

[{...}]

iro.specific.smObject.layoutProperty

JSON Object

Visual layout properties for designer UI. Does not affect model behavior

Layout object

{...}

iro.specific.smObject.slidingWindows

Array

Sliding window partition configurations for time-based data management with rolling windows (e.g., last 24 months)

Array of SlidingWindow objects

[{...}]

iro.specific.smObject.aggregationStrategy

JSON Object

Strategy for pre-calculated aggregations to improve query performance

-

{...}

iro.specific.smObject.aggregationStrategy.type

String

QUERY_DRIVEN=auto-creates based on query patterns, CONFIGURATION_DRIVEN=explicit rules defined by designer

"QUERY_DRIVEN", "CONFIGURATION_DRIVEN"

"QUERY_DRIVEN"

iro.specific.smObject.aggregationStrategy.queryDriven

JSON Object

Settings for query-driven aggregation including learning rate and thresholds

QueryDriven config

{...}

iro.specific.smObject.aggregationStrategy.configurationDriven

JSON Object

Settings for manually defined aggregation rules

ConfigDriven config

{...}

iro.specific.smObject.writebackSettings

JSON Object

Configuration for writeback capabilities for planning and what-if analysis

Writeback config

{...}

iro.specific.smObject.dimensions

Array

Array of dimension definitions representing categorical axes for analysis (Time, Product, Geography, Customer)

Array of Dimension objects

[{...}]

iro.specific.smObject.dimensions[].id

String

Unique identifier for this dimension, auto-generated during creation

GUID

"dim_17764122062715"

iro.specific.smObject.dimensions[].uniqueName

String

MDX unique name in format [DimensionName]. Used in MDX queries and expressions

[DimensionName]

"[Product]"

iro.specific.smObject.dimensions[].name

String

Human-readable display name shown in reports and UI

Any descriptive name

"Product"

iro.specific.smObject.dimensions[].type

String

Dimension type. "REGULAR"=standard, "TIME"=enables time intelligence (YTD, MTD), "MEASURE"=special measures dimension, “LOCATION”= special dimension type for geographic/spatial data with GIS support

 

"REGULAR", "MEASURE","TIME", "LOCATION"

"REGULAR"

iro.specific.smObject.dimensions[].description

String

Detailed description explaining data content, business meaning, and usage guidance

Free-form text

"Product hierarchy by category"

iro.specific.smObject.dimensions[].tags

String

Comma-separated keywords for categorization and search

Comma-separated tags

"product,catalog"

iro.specific.smObject.dimensions[].isVisible

Boolean

Whether dimension appears in UI. Hidden dimensions used only in calculations or security rules

true, false

true

iro.specific.smObject.dimensions[].isAccessible

Boolean

Runtime flag for user access based on security rules. Set by system during query execution

true, false

Copyright Kyvos, Inc. 2026. All rights reserved.