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
siteConnectionFactoryNameandsiteConverterFactoryNameconfigured. - 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.