Materialization
- Last UpdatedApr 16, 2025
- 6 minute read
The Materialization Asp.net Core controller.
Get All Tables
Returns a list of Virtual Tables.
Request
GET /api/v1/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/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",
"id": "string",
"name": "string",
"MaterializationStart": "2019-08-24T14:15:22Z",
"MaterializationEnd": "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"
}
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/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",
"VirtualTableId": "string",
"TenantId": "string",
"IsUpdateProcess": true,
"IsManualRefresh": true,
"MessageId": "string"
}
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/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",
"VirtualTableId": "string",
"TenantId": "string",
"IsUpdateProcess": true,
"IsManualRefresh": true,
"MessageId": "string"
}
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/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",
"id": "string",
"name": "string",
"MaterializationStart": "2019-08-24T14:15:22Z",
"MaterializationEnd": "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"
}
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/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/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/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/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. |
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. |
| 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 |
| 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 |
{
"CreatedOn": "2019-08-24T14:15:22Z",
"LastRefreshed": "2019-08-24T14:15:22Z",
"id": "string",
"name": "string",
"MaterializationStart": "2019-08-24T14:15:22Z",
"MaterializationEnd": "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"
}
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 | true | false | Materialization start |
| MaterializationEnd | date-time | true | false | Materialization end |
| 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. |
| MessageId | string | false | true | Message Id |
{
"MaterializationStart": "2019-08-24T14:15:22Z",
"MaterializationEnd": "2019-08-24T14:15:22Z",
"VirtualTableId": "string",
"TenantId": "string",
"IsUpdateProcess": true,
"IsManualRefresh": true,
"MessageId": "string"
}