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"), | "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, | "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 | “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 |