List dashboards in a workspace
curl --request GET \
--url https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards \
--header 'authorization: <api-key>'import requests
url = "https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards"
headers = {"authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<api-key>'}};
fetch('https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards', 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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards",
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: <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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards")
.header("authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"dashboards": [
{
"id": "<string>",
"name": "<string>",
"tenantId": "<string>",
"ownerProjectUserId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
]
}
}{
"status": "error",
"error": {
"message": "<string>",
"code": "<string>",
"details": {}
}
}Dashboard Management
List Workspace Dashboards
Returns the list of dashboard IDs, names, and ownership metadata for all dashboards visible to the authenticated user in a workspace. Authenticate with a tenant JWT (from the register-tenant endpoint) or an API key. After your organization migrates to v2, this lists the dashboards of the application the workspace became, in the same shape — prefer GET /v2/api/applications//dashboards.
GET
/
v1
/
api
/
dashboard
/
list-workspace-dashboards
List dashboards in a workspace
curl --request GET \
--url https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards \
--header 'authorization: <api-key>'import requests
url = "https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards"
headers = {"authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<api-key>'}};
fetch('https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards', 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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards",
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: <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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<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.upsolve.ai/v1/api/dashboard/list-workspace-dashboards")
.header("authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.upsolve.ai/v1/api/dashboard/list-workspace-dashboards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"dashboards": [
{
"id": "<string>",
"name": "<string>",
"tenantId": "<string>",
"ownerProjectUserId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
]
}
}{
"status": "error",
"error": {
"message": "<string>",
"code": "<string>",
"details": {}
}
}After your organization migrates to v2 this lists the dashboards of the application the workspace became, in this endpoint’s response shape and with v1 IDs where one exists. Use the v2 equivalent instead. See Migrate from v1 to v2.
Authorizations
Query Parameters
Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.
Minimum string length:
1The ID of the organization. Required when using Supabase JWT authentication.
The ID of the connection a guest has access to
The ID of the workspace to list dashboards for
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$Was this page helpful?