Start a Databricks Metric View publication preview
curl --request POST \
--url https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataSourceName": "<string>",
"sourceOverrides": {},
"targetNames": {},
"viewNameRegex": "<string>",
"viewNames": [
"<string>"
]
}
'import requests
url = "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews"
payload = {
"dataSourceName": "<string>",
"sourceOverrides": {},
"targetNames": {},
"viewNameRegex": "<string>",
"viewNames": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dataSourceName: '<string>',
sourceOverrides: {},
targetNames: {},
viewNameRegex: '<string>',
viewNames: ['<string>']
})
};
fetch('https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'dataSourceName' => '<string>',
'sourceOverrides' => [
],
'targetNames' => [
],
'viewNameRegex' => '<string>',
'viewNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews"
payload := strings.NewReader("{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"buildJobId": 123,
"dataSourceName": "<string>",
"deploymentId": 123,
"previewId": "<string>",
"resultUrl": "<string>",
"reused": true,
"status": "QUEUED",
"statusUrl": "<string>",
"commit": "<string>"
}Databricks Metric View Publication
Start a Databricks Metric View publication preview
POST
/
api
/
v1
/
deployments
/
{deploymentId}
/
databricks-metric-view-previews
Start a Databricks Metric View publication preview
curl --request POST \
--url https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dataSourceName": "<string>",
"sourceOverrides": {},
"targetNames": {},
"viewNameRegex": "<string>",
"viewNames": [
"<string>"
]
}
'import requests
url = "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews"
payload = {
"dataSourceName": "<string>",
"sourceOverrides": {},
"targetNames": {},
"viewNameRegex": "<string>",
"viewNames": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
dataSourceName: '<string>',
sourceOverrides: {},
targetNames: {},
viewNameRegex: '<string>',
viewNames: ['<string>']
})
};
fetch('https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'dataSourceName' => '<string>',
'sourceOverrides' => [
],
'targetNames' => [
],
'viewNameRegex' => '<string>',
'viewNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews"
payload := strings.NewReader("{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant}.cubecloud.dev/api/v1/deployments/{deploymentId}/databricks-metric-view-previews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"dataSourceName\": \"<string>\",\n \"sourceOverrides\": {},\n \"targetNames\": {},\n \"viewNameRegex\": \"<string>\",\n \"viewNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"buildJobId": 123,
"dataSourceName": "<string>",
"deploymentId": 123,
"previewId": "<string>",
"resultUrl": "<string>",
"reused": true,
"status": "QUEUED",
"statusUrl": "<string>",
"commit": "<string>"
}Queues an offline conversion of static YAML from the deployment’s latest successful build and returns polling URLs immediately. Exact retries while the same content-addressed preview is running reuse that work; a later submission starts a fresh execution. Preview payloads and results are retained for at most seven days. The conversion supports scalar dimensions, common and calculated measures, and acyclic many-to-one equi-joins from one Databricks datasource. Access policies, templating, extends, unsafe fanout, unsupported expressions, multiple datasources, and converter loss are blocked per view. Two-part schema.table sources are qualified with
CUBEJS_DB_DATABRICKS_CATALOG for the selected datasource; without that setting they fail closed with an actionable issue. Requires SchemaRead or SchemaUpdate access. This is currently in preview — reach out to the Cube support team to activate it for your account.Authorizations
Token authentication. Send Authorization: Bearer <YOUR_TOKEN>.
Path Parameters
Body
application/json
DatabricksMetricViewPublicationPreviewInput
Available options:
all, selected, pattern Optional map of Cube view name to the root source dataset the view projects from, for view projections where that root would otherwise be ambiguous.
Show child attributes
Show child attributes
Optional Cube view name to Databricks Metric View name overrides.
Show child attributes
Show child attributes
A safe, bounded regex subset for view names. Supports literals, ^, $, dot, and one .* wildcard; grouping, alternation, lookaround, and backreferences are rejected.
Required only when selectionMode is 'selected'.