Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

CONNECT data services developer documentation

Materialization

  • Last UpdatedJun 30, 2026
  • 7 minute read

The Materialization Asp.net Core controller.

Get All Tables

Returns a list of Virtual Tables.

Request

GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables
?query={query}&orderBy={orderBy}&skip={skip}&count={count}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string query
Optional query string for filtering results.

string orderBy
Optional parameter to specify sorting order.

[optional] integer skip
The number of records to skip.

[optional] integer count
The maximum number of records to return.

Response

Status Code Body Type Description
200 string The virtual tables list was successfully retrieved.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Create Virtual Table

Creates a new Virtual Table.

Request

POST /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

Request Body

Virtual Table.

{
  "CreatedOn": "2019-08-24T14:15:22Z",
  "LastRefreshed": "2019-08-24T14:15:22Z",
  "LastQueuedRegRefreshTime": "2019-08-24T14:15:22Z",
  "id": "string",
  "name": "string",
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "TenantId": "string",
  "NamespaceId": "string",
  "dataViewId": "string",
  "DataviewName": "string",
  "retrievalMode": "string",
  "interval": "string",
  "MaterializationRunID": "string",
  "Status": "string",
  "TableFormat": "string",
  "CreatedBy": "string",
  "roleids": [
    "string"
  ],
  "SerializedSecurable": "string",
  "ClientId": "string",
  "SecretId": 0,
  "RefreshInterval": "string",
  "Shares": [
    {
      "ShareId": "string",
      "ShareName": "string",
      "ShareType": "string",
      "VirtualTables": [
        {
          "VirtualTableId": "string",
          "VirtualTableName": "string",
          "Status": "string"
        }
      ],
      "ExternalConfig": {
        "globalMetastoreId": "string",
        "clientId": "string",
        "clientSecret": "string",
        "snowflakeId": "string"
      }
    }
  ],
  "SecretExpirationTime": "2019-08-24T14:15:22Z",
  "Comment": "string",
  "LastEnableOrDisableActionBy": "string"
}

Response

Status Code Body Type Description
200 string Successfully created the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Refresh Virtual Table (Refresh path)

Refreshes the Virtual Table.

Request

POST /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}/Refresh

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableId
Virtual Table identifier.

Request Body

Virtual Table.

{
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "VirtualTableId": "string",
  "TenantId": "string",
  "IsUpdateProcess": true,
  "IsManualRefresh": true,
  "IsRefreshAPIcall": true,
  "Priority": 0,
  "JobType": 1,
  "MessageId": "string",
  "MessageSequenceNumber": 0,
  "Status": "string",
  "NamespaceId": "string",
  "JobId": 0
}

Response

Status Code Body Type Description
200 string Successfully refreshed the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Refresh Virtual Table 1

Refreshes the Virtual Table.

Request

POST /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableId
Virtual Table identifier.

Request Body

Virtual Table.

{
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "VirtualTableId": "string",
  "TenantId": "string",
  "IsUpdateProcess": true,
  "IsManualRefresh": true,
  "IsRefreshAPIcall": true,
  "Priority": 0,
  "JobType": 1,
  "MessageId": "string",
  "MessageSequenceNumber": 0,
  "Status": "string",
  "NamespaceId": "string",
  "JobId": 0
}

Response

Status Code Body Type Description
200 string Successfully refreshed the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Update Virtual Table

Updates the Virtual Table.

Request

PUT /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableId
Virtual Table identifier.

Request Body

Virtual Table.

{
  "CreatedOn": "2019-08-24T14:15:22Z",
  "LastRefreshed": "2019-08-24T14:15:22Z",
  "LastQueuedRegRefreshTime": "2019-08-24T14:15:22Z",
  "id": "string",
  "name": "string",
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "TenantId": "string",
  "NamespaceId": "string",
  "dataViewId": "string",
  "DataviewName": "string",
  "retrievalMode": "string",
  "interval": "string",
  "MaterializationRunID": "string",
  "Status": "string",
  "TableFormat": "string",
  "CreatedBy": "string",
  "roleids": [
    "string"
  ],
  "SerializedSecurable": "string",
  "ClientId": "string",
  "SecretId": 0,
  "RefreshInterval": "string",
  "Shares": [
    {
      "ShareId": "string",
      "ShareName": "string",
      "ShareType": "string",
      "VirtualTables": [
        {
          "VirtualTableId": "string",
          "VirtualTableName": "string",
          "Status": "string"
        }
      ],
      "ExternalConfig": {
        "globalMetastoreId": "string",
        "clientId": "string",
        "clientSecret": "string",
        "snowflakeId": "string"
      }
    }
  ],
  "SecretExpirationTime": "2019-08-24T14:15:22Z",
  "Comment": "string",
  "LastEnableOrDisableActionBy": "string"
}

Response

Status Code Body Type Description
200 string Successfully updated the properties of the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Get Table

Returns the specified Virtual Table.

Request

GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualtableId}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableId
Virtual Table identifier.

Response

Status Code Body Type Description
200 string Successfully returns the properties of the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Delete Virtual Table

Deletes the Virtual Table.

Request

DELETE /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualtableid}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableId
Virtual Table identifier.

Response

Status Code Body Type Description
200 string Successfully deleted the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Get Materialized Virtual Table

Returns the Materialized Virtual table.

Request

GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}/data/{format}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableid
Virtual Table identifier.

string format
Format

Response

Status Code Body Type Description
200 string Successfully retrieved materialized virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Get Materialized Virtual Table Status

Returns the Materialized Virtual Table Status.

Request

GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}/status

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableid
Virtual Table identifier.

Response

Status Code Body Type Description
200 string Successfully retrieved the status of the virtual table materialization.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Enable Disable Virtual Table

Creates a new Virtual Table.

Request

PUT /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}/status

Parameters

string tenantId
tenantId identifier.

string namespaceId
namespaceId identifier.

string virtualTableId
virtualTableId identifier.

Request Body

VirtualTable

{
  "IsEnabled": true,
  "id": "string",
  "name": "string",
  "TenantId": "string",
  "NamespaceId": "string",
  "Status": "string",
  "Comment": "string",
  "LastEnableOrDisableActionBy": "string"
}

Response

Status Code Body Type Description
200 string Successfully created the virtual table.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Get Virtual Table Message List

Returns the Materialized Virtual Table Status.

Request

GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/virtualTables/{virtualTableId}/errorMessages
?skip={skip}&count={count}

Parameters

string tenantId
Tenant identifier.

string namespaceId
Namespace identifier.

string virtualtableid
Virtual Table identifier.

[optional] integer skip
int

[optional] integer count
int

Response

Status Code Body Type Description
200 string Successfully retrieved the status of the virtual table materialization.
400 ErrorResponse Bad request.
403 ErrorResponse You are not authorized for this operation.
500 ErrorResponse An error occurred while processing the request.

Definitions

ErrorResponse

Properties

Property Name Data Type Required Nullable Description
OperationId string false true None
Error string false true None
Reason string false true None
Resolution string false true None
Parameters object false true None
ChildErrors object false true None
{
  "OperationId": "string",
  "Error": "string",
  "Reason": "string",
  "Resolution": "string",
  "Parameters": {
    "property1": "string",
    "property2": "string"
  },
  "ChildErrors": {
    "property1": null,
    "property2": null
  }
}


VirtualTable

Virtual Table

Properties

Property Name Data Type Required Nullable Description
CreatedOn date-time false false Creation Date of Virtual table
LastRefreshed date-time false true Date Virtual table was last refreshed on.
LastQueuedRegRefreshTime date-time false true LastQueued in service bus only for reg refresh
id string false true Virtual Table Id
name string false true Virtual Table Name
MaterializationStart date-time false true Materialization start
MaterializationEnd date-time false true Materialization end
startIndex date-time false true Start Index
endIndex date-time false true End Index
TenantId guid false false Tenant Id
NamespaceId string false true Namespace Id
dataViewId string false true Dataview Id
DataviewName string false true Dataview Name
retrievalMode string false false Retreival Mode
interval string false true Interpolation Interval
MaterializationRunID string false true Materialization RunID
Status string false false Status
TableFormat string false false Table Format
CreatedBy string false true Created By
roleids string[] false true Role Ids
SerializedSecurable string false true Serialized Securable
ClientId string false true Client Id
SecretId int32 false false Secret Id
RefreshInterval string false true Refresh Interval
Shares [ShareView] false true Shares associated with VirtualTable
SecretExpirationTime date-time false true Secret Expiration Time
Comment string false true Comments if VTS is failing
LastEnableOrDisableActionBy string false true LastEnableOrDisableActionBy
{
  "CreatedOn": "2019-08-24T14:15:22Z",
  "LastRefreshed": "2019-08-24T14:15:22Z",
  "LastQueuedRegRefreshTime": "2019-08-24T14:15:22Z",
  "id": "string",
  "name": "string",
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "TenantId": "string",
  "NamespaceId": "string",
  "dataViewId": "string",
  "DataviewName": "string",
  "retrievalMode": "string",
  "interval": "string",
  "MaterializationRunID": "string",
  "Status": "string",
  "TableFormat": "string",
  "CreatedBy": "string",
  "roleids": [
    "string"
  ],
  "SerializedSecurable": "string",
  "ClientId": "string",
  "SecretId": 0,
  "RefreshInterval": "string",
  "Shares": [
    {
      "ShareId": "string",
      "ShareName": "string",
      "ShareType": "string",
      "VirtualTables": [
        {
          "VirtualTableId": "string",
          "VirtualTableName": "string",
          "Status": "string"
        }
      ],
      "ExternalConfig": {
        "globalMetastoreId": "string",
        "clientId": "string",
        "clientSecret": "string",
        "snowflakeId": "string"
      }
    }
  ],
  "SecretExpirationTime": "2019-08-24T14:15:22Z",
  "Comment": "string",
  "LastEnableOrDisableActionBy": "string"
}


ShareView

Share view list

Properties

Property Name Data Type Required Nullable Description
ShareId string false true Share Id
ShareName string false true Share name
ShareType string false true Share Type
VirtualTables [ShareVirtualTableView] false true List of virtual tables associated with the share.
ExternalConfig ShareExternalConfig false false External configuration details for the share.
{
  "ShareId": "string",
  "ShareName": "string",
  "ShareType": "string",
  "VirtualTables": [
    {
      "VirtualTableId": "string",
      "VirtualTableName": "string",
      "Status": "string"
    }
  ],
  "ExternalConfig": {
    "globalMetastoreId": "string",
    "clientId": "string",
    "clientSecret": "string",
    "snowflakeId": "string"
  }
}


ShareVirtualTableView

Share virtual table view

Properties

Property Name Data Type Required Nullable Description
VirtualTableId string false false Virtual Table Id
VirtualTableName string false false Virtual Table Name
Status string false false Materialization Status
{
  "VirtualTableId": "string",
  "VirtualTableName": "string",
  "Status": "string"
}


ShareExternalConfig

Share External Config

Properties

Property Name Data Type Required Nullable Description
globalMetastoreId string false true Global Metastore Id
clientId string false true Client Id
clientSecret string false true Client Secret
snowflakeId string false true Snowflake Id
{
  "globalMetastoreId": "string",
  "clientId": "string",
  "clientSecret": "string",
  "snowflakeId": "string"
}


VirtualTableRefresh

Represents the refresh details for a virtual table.

Properties

Property Name Data Type Required Nullable Description
MaterializationStart date-time false true Materialization start
MaterializationEnd date-time false true Materialization end
startIndex date-time false true Start Index
endIndex date-time false true End Index
VirtualTableId string false true Virtual Table id
TenantId string false true Virtual Table TenantId
IsUpdateProcess boolean false false Boolean value indicating whether the process is an update.
IsManualRefresh boolean false false Boolean value indicating whether the refresh is manual.
IsRefreshAPIcall boolean false false IsRefreshAPIcall
Priority int32 false false Set Job Priority according to jobtype
JobType JobType false false Job type used for Service Bus queue routing.
MessageId string false true Message Id
MessageSequenceNumber int64 false true Azure Service Bus sequence number for the locked message (set when receiving from the queue).
Status string false true Materialization Status
NamespaceId string false true Virtual Table TenantId
JobId int64 false true Job ID associated with the refresh operation.
{
  "MaterializationStart": "2019-08-24T14:15:22Z",
  "MaterializationEnd": "2019-08-24T14:15:22Z",
  "startIndex": "2019-08-24T14:15:22Z",
  "endIndex": "2019-08-24T14:15:22Z",
  "VirtualTableId": "string",
  "TenantId": "string",
  "IsUpdateProcess": true,
  "IsManualRefresh": true,
  "IsRefreshAPIcall": true,
  "Priority": 0,
  "JobType": 1,
  "MessageId": "string",
  "MessageSequenceNumber": 0,
  "Status": "string",
  "NamespaceId": "string",
  "JobId": 0
}


JobType

automatic time-expanding refresh, automatic change broker refresh, manual refresh, Backfill

Enumerated Values

Property Value Description
RegularRefresh 1 automatic time-expanding refresh
ManualRefresh 2 Manual Refresh
Updateprocessor 3 automatic change broker refresh
Backfill 4 Backfill

VirtualTableEnableModel

VirtualTableEnableModel

Properties

Property Name Data Type Required Nullable Description
IsEnabled boolean false true enable = True, set Table status = Pending
id string false true Virtual Table Id
name string false true Virtual Table Name
TenantId guid false false Tenant Id
NamespaceId string false true Namespace Id
Status string false false Status
Comment string false true Comments if VTS is failing
LastEnableOrDisableActionBy string false true LastEnableOrDisableActionBy
{
  "IsEnabled": true,
  "id": "string",
  "name": "string",
  "TenantId": "string",
  "NamespaceId": "string",
  "Status": "string",
  "Comment": "string",
  "LastEnableOrDisableActionBy": "string"
}


In This Topic