Export a dashboard
curl --request GET \
--url https://api.eu.bronto.io/dashboards/{dashboardId}/export \
--header 'X-BRONTO-API-KEY: <api-key>'import requests
url = "https://api.eu.bronto.io/dashboards/{dashboardId}/export"
headers = {"X-BRONTO-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-BRONTO-API-KEY': '<api-key>'}};
fetch('https://api.eu.bronto.io/dashboards/{dashboardId}/export', 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://api.eu.bronto.io/dashboards/{dashboardId}/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-BRONTO-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eu.bronto.io/dashboards/{dashboardId}/export"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-BRONTO-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eu.bronto.io/dashboards/{dashboardId}/export")
.header("X-BRONTO-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.bronto.io/dashboards/{dashboardId}/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-BRONTO-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_bodyresource "bronto_dashboard" "my_dashboard" {
name = "My Dashboard"
...
}
{
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}{
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Resource not found."
}{
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Resource not found."
}{
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window."
}{
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "Internal Server Error"
}{
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "Internal Server Error"
}dashboards
Export a dashboard
Exports a dashboard as infrastructure-as-code so it can be checked into version control and reapplied elsewhere.
Currently the only supported format is terraform, which renders the dashboard (and its
widgets) as a Terraform HCL resource "bronto_dashboard" block. Widget sources (metrics,
monitors, SLOs) are referenced by id; set include_dependencies to true to additionally
resolve and reference those dependencies.
GET
/
dashboards
/
{dashboardId}
/
export
Export a dashboard
curl --request GET \
--url https://api.eu.bronto.io/dashboards/{dashboardId}/export \
--header 'X-BRONTO-API-KEY: <api-key>'import requests
url = "https://api.eu.bronto.io/dashboards/{dashboardId}/export"
headers = {"X-BRONTO-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-BRONTO-API-KEY': '<api-key>'}};
fetch('https://api.eu.bronto.io/dashboards/{dashboardId}/export', 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://api.eu.bronto.io/dashboards/{dashboardId}/export",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-BRONTO-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.eu.bronto.io/dashboards/{dashboardId}/export"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-BRONTO-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.eu.bronto.io/dashboards/{dashboardId}/export")
.header("X-BRONTO-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eu.bronto.io/dashboards/{dashboardId}/export")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-BRONTO-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_bodyresource "bronto_dashboard" "my_dashboard" {
name = "My Dashboard"
...
}
{
"code": 400,
"type": "Bad Request",
"correlation_id": "95c6a974e3ab01209b6b0dfedb1b16c5",
"details": "Validation failed: 'name' field is required and cannot be empty"
}{
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Resource not found."
}{
"code": 404,
"type": "Not Found",
"correlation_id": "605f832bcfe44a1081441691c8d42253",
"details": "Resource not found."
}{
"code": 429,
"type": "Too Many Requests",
"correlation_id": "53909ed43c544531b7a555e295960437",
"details": "Rate limit exceeded. Maximum 100 requests are allowed within a 5-minute window."
}{
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "Internal Server Error"
}{
"code": 500,
"type": "Internal Server Error",
"correlation_id": "b129b8e0e66c41aa9541a30f67e38ce2",
"details": "Internal Server Error"
}Authorizations
ApiKeyAuthBearerAuth
Path Parameters
The unique identifier of the Dashboard to export
Query Parameters
The format to export the dashboard in.
Available options:
terraform, opentofu If set to true, the widget sources (metrics, monitors, SLOs) referenced by the dashboard's widgets are also resolved and included in the export.
Response
Dashboard exported successfully
The response is of type string.
