1Validate Semantic Model

1Validate Semantic Model

Overview

This API validates a Semantic Model and its related configurations.

Method: POST

Request URL: {kyvos-url}/rest/v2/semantic-models/{name-or-id}/validate


Authorization

API Key: sessionid

This method authenticates requests using a session ID which acts like an API key.


BasicAuth: HTTP Authorization Scheme

This method authenticates requests using a username and password sent in the HTTP Authorization header.


Headers

Header Name

Type

Description

Possible Values

Header Name

Type

Description

Possible Values

Content-Type (Required)

String

Specifies media type of request body.

application/x-www-form-urlencoded

sessionid

String

The session ID is the token received from the login API.

Note: Session ID is required for token-based authentication.

–


Path Parameters

Parameter Name

Type

Description

Possible Values

Parameter Name

Type

Description

Possible Values

name-or-id (Required)

String

Name or ID of the Semantic Model that needs to be validated.

Note: If the Semantic Model name is provided, then folderName must also be provided.

–


Query Parameters

Parameter Name

Type

Description

Possible Values

Parameter Name

Type

Description

Possible Values

by

String

Specifies whether the name-or-id parameter should be interpreted as a Semantic Model name or Semantic Model ID.

If by=name, provide the Semantic Model name in the name-or-id parameter.

If by=id, provide the Semantic Model ID in the name-or-id parameter.

The default value is name.

–


Request Body

Parameter Name

Type

Description

Possible Values

Parameter Name

Type

Description

Possible Values

folderName

String

Name of the folder containing the Semantic Model to be validated. If the Semantic Model is present in the root directory, specify [Root].

Note: If folderName is not provided, the Semantic Model will be treated as a root-level entity by default.

–

propertiesJson

String

JSON containing additional Semantic Model properties to be validated along with the Semantic Model.

–

jobType

String

Specifies the type of job validation to perform.

UPDATE_AGGREGATES / INCREMENTAL

incrementalType

String

Specifies the incremental validation type.

FACT_ADJUSTMENTS

validateDependentEntities

Boolean

Specifies whether dependent entities should also be validated.

true / false

validationType

String

Specifies whether only Semantic Model design validation or subsequent build validation should be performed.

DESIGN_SUBSEQUENT_BUILD

requestId

String

Unique request identifier used to track the validation request.

–

semanticModelJson

String

JSON containing the logical view of the Semantic Model.

Note: An example JSON is provided here.

–


Responses

200 Success (Valid Semantic Model)

{ "code":0, "message":"Semantic model validated successfully.", "validationStatus":"VALID" }

200 Success (Invalid Semantic Model)

{ "code":0, "message":"Semantic model is invalid.", "validationStatus":"INVALID", "validationResult":{ "name":"Accounts", "subType":"CUBE", "id":"SMODEL_OBJECT_17823923054733127039095115313736", "hasError":true, "type":"ANALYTICAL", "problems":[ { "problemFunctionalType":"DESIGN", "objects":[ { "name":"accountid", "id":"MEASURE_341288", "type":"MEASURE", "parentId":"Account by table" } ], "stackTrace":{ "reason":[ { "isExists":true, "isEncoded":false, "name":"Account by table", "subType":"REGISTERED", "id":"17768552829111127070099165929021", "type":"QUERY", "message":"Data field associated with measure:accountid is either renamed, deleted or is not visible", "folderId":"folder_17768552810231127019028112168715", "object":"OTHERS" } ] }, "type":"ERROR", "message":"accountid measure is invalid" }, { "problemFunctionalType":"DESIGN", "objects":[ { "name":"accountpid", "id":"DIMENSION_ATTRIBUTE_913993", "type":"ATTRIBUTE", "parentId":"DIM_984155" } ], "stackTrace":{ "reason":[ { "isExists":true, "isEncoded":false, "name":"Account by table", "subType":"REGISTERED", "id":"17768552829111127070099165929021", "type":"QUERY", "message":"Data field associated with attribute:accountpid is either renamed, deleted or is not visible", "folderId":"folder_17768552810231127019028112168715", "object":"OTHERS" } ] }, "type":"ERROR", "message":"accountpid attribute of Account by table dimension is invalid" }, { "problemFunctionalType":"AI_SETTINGS", "objects":[ { "name":"UntitledConnection", "id":"UntitledConnection", "type":"DBCONNECTION" } ], "stackTrace":{ "reason":[ { "isExists":true, "isEncoded":false, "name":"UntitledConnection", "id":"UntitledConnection", "type":"DBCONNECTION", "message":"Received an UnknownHostException when attempting to interact with a service. See cause for the exact endpoint that is failing to resolve. If this is happening on an endpoint that previously worked, there may be a network connectivity issue or your DNS cache could be storing endpoints for too long.", "object":"OTHERS" } ] }, "type":"WARNING", "message":"AI settings connection \"UntitledConnection\" is invalid." } ] } }

 

Status Code

Description

Status Code

Description

401

Authorization information is missing or invalid.

404

No matching record found.

500

Internal Server Error


Resources

Refer to this example of JSON structure which can be used as a reference for the propertiesJson parameter in the request body.

{ "TYPE":"ADVANCED_PROPERTIES", "entities":[ { "entityPropsValues":{ "property":[ { "mode":"MANUAL", "name":"kyvos.process.compute.type", "value":"KYVOS_QE_COMPUTE" }, { "mode":"MANUAL", "name":"kyvos.cuboid.replication.type", "value":"LOCAL" }, { "mode":"MANUAL", "name":"kyvos.query.resultcache.strategy", "value":"NONE" } ] }, "subType":"CUBE", "id":"17830762122520127028058189453617", "type":"ANALYTICAL" } ] }

JSON Fields Description

Field

Type

Description

Possible Values

Example

TYPE

String

The type of property that is being validated.

ADVANCED_PROPERTIES

ADVANCED_PROPERTIES

entities

Array

A list of entity objects. Each item represents one entity and its associated advanced property information. Multiple entities can be included in the array.

Array with one or more entity objects

[{"id":"...","type":"SMODEL",...}]

entities[].id

String

The unique identifier of the entity.

Valid entity ID string

17754811627004127079024192058298

entities[].type

String

The primary category of the entity.

RDATASET, RELATIONSHIP, SMODEL

SMODEL

entities[].subType

String

The sub-category of the entity. Provides additional classification for the entity type. Leave empty if not applicable.

REGISTERED, or empty string

REGISTERED

entities[].entityPropsValues

Object

A wrapper object containing the advanced property definitions for the entity.

Object containing a property array

{"property":[{...}]}

entities[].entityPropsValues.property

Array

A list of advanced property objects associated with the entity. Each object represents one property definition.

Array with one or more property objects

[{"name":"spark.kryoserializer.buffer.max","value":"64m","mode":"MANUAL"}]

entities[].entityPropsValues.property[].name

String

The technical name (key) of the advanced property.

Any valid Kyvos advanced property key

kyvos.process.compute.type

entities[].entityPropsValues.property[].value

String

The value associated with the advanced property. The expected format depends on the specific property.

Any valid value accepted by the property

KYVOS_QE_COMPUTE

entities[].entityPropsValues.property[].mode

String

Indicates how the property value is represented.

MANUAL, DEFAULT

MANUAL

entities[].entityPropsValues.property[].recommendedValue

String

The system-recommended value for the property, when available.

Any string or empty

128m

entities[].entityPropsValues.property[].defaultValue

String

The system default value for the property, when available.

Any string or empty

32m

entities[].entityPropsValues.property[].remarks

String

Optional descriptive text associated with the property.

Any text string or empty

Increased for large dataset builds

entities[].entityPropsValues.property[].inheritedValue

Object

Contains details about a value this property may be inheriting from a parent entity or global configuration.

Object containing value and source fields.

{"value":"32m","source":"Global"}

entities[].entityPropsValues.property[].inheritedValue.value

String

The inherited value associated with the property.

Any string or empty

32m

entities[].entityPropsValues.property[].inheritedValue.source

String

The source from which the property value is inherited.

Any string or empty

Global

 

Copyright Kyvos, Inc. 2026. All rights reserved.