Skip to content

Download & Upload

These two tools are the bridge between the OpenBI session and a live BI platform. They require a connector plugin (ISiteConnectionFactory) and a converter plugin (IOpenBIConverterFactory) to be installed and referenced in the site configuration.


download_asset

Downloads an asset artifact from the BI site, converts it to OpenBI format using the site converter, and imports it into the current session database.

Remote BI platform  →  [connector: DownloadAssetArtifactAsync]  →  raw bytes
raw bytes           →  [converter: FromArtifactToOpenBIAsync]    →  Asset (OpenBI model)
Asset               →  [SessionStore: StageAssetGraphAsync]      →  Session

Parameters

Name Type Required Description
session_id string Session id from create_session
id_site string Site id from list_sites
asset_id string Remote external asset id (from query_site_assets)
asset_type string Remote asset type (e.g. "Report", "SemanticModel", "Dataflow", "PaginatedReport")

Response

{
  "status": "Success",
  "remoteAssetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "assetType": "Report",
  "importedAssetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "importedAssetName": "Sales Dashboard",
  "assets": 1,
  "assetDependencies": 0,
  "tables": 12,
  "columns": 87,
  "pages": 5,
  "visuals": 34,
  "relationships": 8,
  "filters": 3,
  "refreshTasks": 0,
  "dataSourceConnections": 2
}
Field Description
remoteAssetId The asset id as given on the remote platform
importedAssetId The OpenBI asset id assigned in the session database
assets Total number of AssetInfo rows staged
assetDependencies Number of asset dependency edges staged
All other counts Entities staged in the session database

Prerequisites

  • Site must have siteConnectionFactoryName and siteConverterFactoryName configured.
  • The corresponding connector and converter plugins must be installed in plugins/.

upload_asset

Converts the OpenBI session asset to a platform artifact and uploads it to the BI site.

Session          →  [converter: ToArtifactFromOpenBIAsync]    →  raw bytes
raw bytes        →  [connector: UploadAssetArtifactAsync]     →  Remote BI platform

Parameters

Name Type Required Description
session_id string Session id from create_session
asset_id string Asset id from list_assets or create_asset
folder_id string Folder id from get_folders
id_asset string External asset id for update; omit or null to create a new asset in the target folder

Response

{
  "status": "Success",
  "remoteAssetId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "folderId": "workspace-guid"
}

Create vs update

id_asset value Behavior
omitted / null A new asset is created in the target folder
existing remote id The existing remote asset is replaced/updated

Prerequisites

Same as download_asset: connector plugin + converter plugin installed, site JSON configured.