curl --request POST \
--url https://api.usedatabrain.com/api/v2/data-app/dashboards \
--header 'Authorization: Bearer dbn_live_abc123...' \
--header 'Content-Type: application/json' \
--data '{
"isPagination": true,
"pageNumber": 1,
"filters": {
"dashboardNames": ["Sales Dashboard", "Marketing Analytics"]
}
}'
curl --request POST \
--url https://api.usedatabrain.com/api/v2/data-app/dashboards \
--header 'Authorization: Bearer dbn_live_abc123...' \
--header 'Content-Type: application/json' \
--data '{
"isPagination": true,
"pageNumber": 1,
"filters": {
"dashboardNames": ["Sales Dashboard", "Marketing Analytics"]
}
}'
{
"data": [
{
"data.name": "<string>",
"data.externalDashboardId": "<string>",
"data.embedId": "<string>"
}
],
"error": {
"error.code": "<string>",
"error.message": "<string>"
},
"INVALID_DATA_APP_API_KEY": "<string>",
"INVALID_REQUEST_BODY": "<string>"
}Retrieve a list of dashboards available in your data app with optional filtering and pagination.
curl --request POST \
--url https://api.usedatabrain.com/api/v2/data-app/dashboards \
--header 'Authorization: Bearer dbn_live_abc123...' \
--header 'Content-Type: application/json' \
--data '{
"isPagination": true,
"pageNumber": 1,
"filters": {
"dashboardNames": ["Sales Dashboard", "Marketing Analytics"]
}
}'
curl --request POST \
--url https://api.usedatabrain.com/api/v2/data-app/dashboards \
--header 'Authorization: Bearer dbn_live_abc123...' \
--header 'Content-Type: application/json' \
--data '{
"isPagination": true,
"pageNumber": 1,
"filters": {
"dashboardNames": ["Sales Dashboard", "Marketing Analytics"]
}
}'
{
"data": [
{
"data.name": "<string>",
"data.externalDashboardId": "<string>",
"data.embedId": "<string>"
}
],
"error": {
"error.code": "<string>",
"error.message": "<string>"
},
"INVALID_DATA_APP_API_KEY": "<string>",
"INVALID_REQUEST_BODY": "<string>"
}GET https://api.usedatabrain.com/api/v2/data-app/dashboards
POST https://api.usedatabrain.com/api/v2/data-app/dashboards
Authorization: Bearer dbn_live_abc123...
application/json.Content-Type: application/json
"true" to enable pagination with a limit of 10 per page.Note: Query parameters are passed as strings. Use "true" or "false"."true". Must be a numeric string (e.g., "1", "2")."Sales Dashboard,Marketing Analytics,Customer Insights"pageNumber to navigate through pages.isPagination is true. Each page returns up to 10 dashboards.["Sales Dashboard", "Marketing Analytics", "Customer Insights"]
| Status Code | Description |
|---|---|
200 | OK - Dashboards retrieved successfully |
400 | Bad Request - Invalid request parameters or missing API key |
401 | Unauthorized - Invalid or missing API key |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Server error occurred |
| Error Code | HTTP Status | Description |
|---|---|---|
INVALID_DATA_APP_API_KEY | 401 | Invalid API key |
INVALID_REQUEST_BODY | 400 | Invalid request body |
RATE_LIMIT_EXCEEDED | 429 | Too many requests |
INTERNAL_SERVER_ERROR | 500 | Server error |
isPagination to true (GET) or true (POST)pageNumber=1 (GET) or pageNumber: 1 (POST)GET /api/v2/data-app/dashboards?isPagination=true&pageNumber=1
{
"isPagination": true,
"pageNumber": 1
}
?dashboardNames=Dashboard%201,Dashboard%202
{
"filters": {
"dashboardNames": ["Dashboard 1", "Dashboard 2"]
}
}
const response = await fetch('https://api.usedatabrain.com/api/v2/data-app/dashboards', {
method: 'POST',
headers: {
'Authorization': 'Bearer dbn_live_...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
isPagination: true,
pageNumber: 1,
filters: {
dashboardNames: ['Sales Dashboard']
}
})
});
const params = new URLSearchParams({
isPagination: 'true',
pageNumber: '1',
dashboardNames: 'Sales Dashboard'
});
const response = await fetch(`https://api.usedatabrain.com/api/v2/data-app/dashboards?${params}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer dbn_live_...'
}
});
true → "true" (string in query params)1 → "1" (string in query params)["name1", "name2"] → Comma-separated string "name1,name2"Get your API token
List all dashboards (GET - Recommended)
curl --request GET \
--url https://api.usedatabrain.com/api/v2/data-app/dashboards \
--header 'Authorization: Bearer dbn_live_abc123...'
Filter by specific dashboard names
curl --request GET \
--url 'https://api.usedatabrain.com/api/v2/data-app/dashboards?dashboardNames=Sales%20Dashboard,Marketing%20Analytics' \
--header 'Authorization: Bearer dbn_live_abc123...'
Use dashboard information for embedding
const dashboards = await fetchDataAppDashboards();
dashboards.data.forEach(dashboard => {
console.log(`Dashboard: ${dashboard.name}`);
console.log(`External ID: ${dashboard.externalDashboardId}`);
// Use the externalDashboardId to create embed configurations
if (!dashboard.embedId) {
console.log('This dashboard can be made embeddable');
}
});