curl --request GET \
--url https://api.arize.com/v2/dashboards/{dashboard_id}/widgets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/dashboards/{dashboard_id}/widgets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/dashboards/{dashboard_id}/widgets', 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.arize.com/v2/dashboards/{dashboard_id}/widgets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.arize.com/v2/dashboards/{dashboard_id}/widgets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.arize.com/v2/dashboards/{dashboard_id}/widgets")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/dashboards/{dashboard_id}/widgets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"widgets": [
{
"id": "TGluZUNoYXJ0V2lkZ2V0OjEyMw==",
"title": "Latency over time",
"type": "LINE_CHART",
"grid_position": [
0,
0,
6,
4
]
},
{
"id": "VGV4dFdpZGdldDoxMjQ=",
"title": "Investigation notes",
"type": "TEXT",
"grid_position": [
6,
0,
4,
2
]
}
],
"pagination": {
"has_more": false
}
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}List dashboard widgets
List the widgets on a dashboard as summaries (id, title, type, and parent dashboard). Use Get a dashboard widget to retrieve a widgetās full configuration. The caller must have permission to read the dashboard.
Only published widgets are returned by default. Set creation_status to
DRAFT to list draft widgets instead. Use type to return only widgets of one
type. Results use cursor-based pagination.
curl --request GET \
--url https://api.arize.com/v2/dashboards/{dashboard_id}/widgets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/dashboards/{dashboard_id}/widgets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/dashboards/{dashboard_id}/widgets', 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.arize.com/v2/dashboards/{dashboard_id}/widgets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.arize.com/v2/dashboards/{dashboard_id}/widgets"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.arize.com/v2/dashboards/{dashboard_id}/widgets")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/dashboards/{dashboard_id}/widgets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"widgets": [
{
"id": "TGluZUNoYXJ0V2lkZ2V0OjEyMw==",
"title": "Latency over time",
"type": "LINE_CHART",
"grid_position": [
0,
0,
6,
4
]
},
{
"id": "VGV4dFdpZGdldDoxMjQ=",
"title": "Investigation notes",
"type": "TEXT",
"grid_position": [
6,
0,
4,
2
]
}
],
"pagination": {
"has_more": false
}
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}Authorizations
Most Arize AI endpoints require authentication. For those endpoints that require authentication, include your API key in the request header using the format
Path Parameters
The Relay global ID of the dashboard. A universally unique identifier (base64-encoded opaque string).
"RW50aXR5OjEyMzQ1"
Query Parameters
Filter widgets by type, for example LINE_CHART. If omitted, widgets of every type are returned.
The kind of dashboard widget and the configuration shape it uses.
LINE_CHART, BAR_CHART, STATISTIC, TEXT, PIVOT_TABLE, EXPERIMENT_CHART Filter widgets by creation status, either DRAFT or PUBLISHED. Defaults to PUBLISHED if omitted.
Whether the widget is still being edited or is available in the dashboard.
DRAFT, PUBLISHED Maximum items to return. Defaults to 50 if omitted; maximum is 100.
1 <= x <= 100Opaque pagination cursor returned from a previous response
(pagination.next_cursor). Treat it as an unreadable token; do not
attempt to parse or construct it.
Was this page helpful?