Documentation Index Fetch the complete documentation index at: https://docs.getcollate.io/llms.txt
Use this file to discover all available pages before exploring further.
Create a Dashboard
Create a new dashboard within a dashboard service.
Body Parameters
Name of the dashboard. Must be unique within the parent dashboard service.
Fully qualified name of the parent DashboardService (e.g., sample_superset).
Human-readable display name for the dashboard.
Description of the dashboard in Markdown format.
URL of the dashboard in the source system.
Array of chart fully qualified names to associate with the dashboard.
Array of owner references (users or teams) to assign to the dashboard. UUID of the owner entity.
Type of owner entity (e.g., user, team).
Name of the owner entity.
Fully qualified name of the domain to assign for governance purposes.
Array of classification tags to apply to the dashboard. Fully qualified name of the tag.
Type of label (e.g., Manual, Derived, Propagated).
State of the tag (e.g., Suggested, Confirmed).
Custom property values defined by your organization’s metadata schema.
from metadata.sdk import configure
from metadata.sdk.entities import Dashboards
from metadata.generated.schema.api.data.createDashboard import CreateDashboardRequest
configure(
host = "https://your-company.getcollate.io/api" ,
jwt_token = "your-jwt-token"
)
request = CreateDashboardRequest(
name = "10" ,
displayName = "deck.gl Demo" ,
service = "sample_superset" ,
description = "Dashboard showcasing deck.gl visualizations" ,
sourceUrl = "http://localhost:808/superset/dashboard/10/"
)
dashboard = Dashboards.create(request)
print ( f "Created: { dashboard.fullyQualifiedName } " )
{
"id" : "03fb5cc3-de48-423f-9926-8e192e5de59d" ,
"name" : "10" ,
"displayName" : "deck.gl Demo" ,
"fullyQualifiedName" : "sample_superset.10" ,
"description" : "Dashboard showcasing deck.gl visualizations" ,
"version" : 0.1 ,
"updatedAt" : 1769982666437 ,
"updatedBy" : "admin" ,
"sourceUrl" : "http://localhost:808/superset/dashboard/10/" ,
"service" : {
"id" : "b1e6a71d-7f47-4e5f-8ce0-e6e8a88ec97a" ,
"type" : "dashboardService" ,
"name" : "sample_superset" ,
"fullyQualifiedName" : "sample_superset" ,
"deleted" : false
},
"serviceType" : "Superset" ,
"href" : "http://localhost:8585/api/v1/dashboards/03fb5cc3-de48-423f-9926-8e192e5de59d" ,
"deleted" : false ,
"owners" : [],
"tags" : [],
"followers" : [],
"votes" : {
"upVotes" : 0 ,
"downVotes" : 0
},
"domains" : [],
"charts" : []
}
Returns
Returns the created dashboard object with all specified properties and system-generated fields.
Response
Unique identifier for the dashboard (UUID format).
Fully qualified name in format service.dashboardName.
Human-readable display name.
Description of the dashboard in Markdown format.
Reference to the parent dashboard service. UUID of the dashboard service.
Type of entity (always dashboardService).
Name of the dashboard service.
Fully qualified name of the dashboard service.
URL of the dashboard in the source system.
Type of dashboard service (e.g., Superset, Looker, Tableau, Metabase, PowerBI).
List of charts associated with the dashboard.
List of owners assigned to the dashboard. UUID of the owner entity.
Type of owner entity (e.g., user, team).
Name of the owner entity.
Domain assignments for governance.
Classification tags applied to the dashboard. Fully qualified name of the tag.
Type of label (e.g., Manual, Derived, Propagated).
State of the tag (e.g., Suggested, Confirmed).
Custom property values defined by your organization’s metadata schema.
Version number for the entity (starts at 0.1).
Create or Update (PUT)
Use PUT /v1/dashboards instead of POST to perform an upsert. If a dashboard with the same fullyQualifiedName already exists, it will be updated; otherwise, a new dashboard is created. The request body is the same as POST.
curl -X PUT "{base_url}/api/v1/dashboards" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{ ... same body as POST ... }'
PUT will not return a 409 conflict error if the entity already exists — it will update the existing entity instead.
Bulk Create or Update (PUT)
Use PUT /v1/dashboards/bulk to create or update multiple dashboards in a single request. The request body is an array of create request objects.
curl -X PUT "{base_url}/api/v1/dashboards/bulk" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '[
{ "name": "dashboard_one", "service": "sample_superset" },
{ "name": "dashboard_two", "service": "sample_superset" }
]'
Error Handling
Code Error Type Description 400BAD_REQUESTInvalid request body or missing required fields 401UNAUTHORIZEDInvalid or missing authentication token 403FORBIDDENUser lacks permission to create dashboards 409ENTITY_ALREADY_EXISTSDashboard with same name already exists in service (POST only)