Skip to content

Asset

The Asset is the root container of the OpenBI model. It holds identity information, the visual layout, the semantic data model, refresh schedules, and data source connections for one BI artifact.


Asset

public class Asset
{
    public string? IdSite { get; set; }
    public AssetInfo? Info { get; set; }
    public Layout? Layout { get; set; }
    public DataModel? DataModel { get; set; }
    public List<RefreshTask>? RefreshTasks { get; set; }
    public List<DataSourceConnection>? DataSourceConnections { get; set; }
    public IEnumerable<Asset> Dependencies { get; set; }
}
Property Type Description
IdSite string? Identifier of the BI site this asset belongs to (matches idSite in sites/*.json)
Info AssetInfo? Identity and classification metadata
Layout Layout? Visual layer — pages, visuals, projections, filters
DataModel DataModel? Semantic layer — tables, columns, relationships
RefreshTasks List<RefreshTask>? Scheduled or composite data refresh tasks
DataSourceConnections List<DataSourceConnection>? Database / API connections used by this asset
Dependencies IEnumerable<Asset> Other assets this asset depends on (e.g. a Report depends on a SemanticModel)

AssetInfo

Carries the identity and classification of an asset, matching what the BI platform exposes in its catalog API.

public class AssetInfo
{
    public string Id { get; set; }
    public string ExternalType { get; set; }
    public string IdFolder { get; set; }
    public string FolderName { get; set; }
    public AssetType Type { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public DateTime? LatestUpdate { get; set; }
    public string? LatestUpdater { get; set; }
    public ICollection<AdditionalMetadata>? AdditionalMetadata { get; set; }
}
Property Type Description
Id string OpenBI asset identifier (maps to the external platform ID)
ExternalType string Platform-native type string (e.g. "Report", "SemanticModel", "Dataflow")
IdFolder string ID of the folder that contains this asset
FolderName string Display name of the folder
Type AssetType OpenBI classification enum (Report or DataModel)
Name string Asset display name
Description string Optional description
LatestUpdate DateTime? Last modification timestamp
LatestUpdater string? Identity of the last editor
AdditionalMetadata ICollection<AdditionalMetadata>? Platform-specific key/value metadata

AssetType

public enum AssetType
{
    Report,
    DataModel
}
Value Meaning
Report A presentation layer artifact — dashboards, pages, visuals (reports, sheets, stories, etc.)
DataModel A semantic / data layer artifact (semantic models, datasets, dataflows, etc.)

Note

ExternalType carries the platform-native name (e.g. "SemanticModel", "Dataflow"), while Type is the normalized OpenBI classification. Both are stored.


AssetDependency

Records a directed dependency between two assets: IdAsset requires IdRequiredAsset.

public class AssetDependency
{
    public string IdAsset { get; set; }
    public string IdRequiredAsset { get; set; }
}

Used by the MCP Server when staging an asset graph that contains dependencies (e.g. a Report that references a SemanticModel).


AdditionalMetadata

A generic key-value extension point present on every OpenBI entity.

public class AdditionalMetadata
{
    public string Name { get; set; }
    public string Value { get; set; }
}

Converters use AdditionalMetadata to round-trip platform-specific attributes that have no typed field in the OpenBI schema. Examples:

Platform Key example Value example
Platform A formatString "#,0.00"
Platform B loadScript "LOAD * FROM …"

The add_metadata MCP tool writes directly to AssetInfo.AdditionalMetadata.