Skip to main content

Dashboards - Read

Endpoint

/o/dashboards

Overview

Returns one dashboard with widget data, app summaries, owner info, and access flags. Sharing details are only included for owners and global admins.

Authentication

Countly API supports three authentication methods:

  1. API key query parameter: api_key=YOUR_API_KEY
  2. Auth token query parameter: auth_token=YOUR_AUTH_TOKEN
  3. Auth token header: countly-token: YOUR_AUTH_TOKEN

Permissions

No separate feature permission flag is checked. Access is controlled by dashboard-level sharing rules.

Request Parameters

ParameterTypeRequiredDescription
dashboard_idStringYesDashboard ID (24-char ObjectId string).
periodStringNoOptional period used by widget data loaders.
actionStringNoOptional action context (for example refresh).
api_keyStringConditionalRequired if auth_token is not provided.
auth_tokenStringConditionalRequired if api_key is not provided.

Configuration Impact

SettingDefaultAffectsUser-visible impact
dashboards.sharing_statustrueDashboard sharing modelControls whether dashboards can be shared broadly (all-users / selected sharing). This changes who can access a dashboard in read flows.

Response

Success Response

{
"_id": "65e1f3d2a4f41a5f6f6d7701",
"name": "Executive Overview",
"owner_id": "65dc6a52a2f7156eb2576f10",
"owner": {
"_id": "65dc6a52a2f7156eb2576f10",
"full_name": "Product Lead",
"email": "lead@company.com",
"username": "lead"
},
"share_with": "selected-users",
"is_owner": true,
"is_editable": true,
"widgets": [
{
"_id": "65e1f5f8a4f41a5f6f6d7703",
"widget_type": "analytics",
"apps": ["6991c75b024cb89cdc04efd2"],
"dashData": {
"isValid": true,
"data": {
"6991c75b024cb89cdc04efd2": {
"t": 2145
}
}
}
}
],
"apps": [
{
"_id": "6991c75b024cb89cdc04efd2",
"name": "Production App",
"has_image": false
}
]
}

Response Fields

FieldTypeDescription
_idStringDashboard ID.
nameStringDashboard name.
owner_idStringOwner member ID.
ownerObjectOwner profile details.
is_ownerBooleantrue for owner/global admin.
is_editableBooleantrue when user has edit access to dashboard.
share_withStringSharing mode (none, selected-users, all-users).
widgetsArrayDashboard widget array with computed data.
appsArrayApp summaries referenced by dashboard widgets.
errorBooleanPresent in access-denied branch.
dashboard_access_deniedBooleantrue when user cannot view dashboard.

Error Responses

  • 401
{
"result": "Invalid parameter: dashboard_id"
}
  • 404
{
"result": "Dashboard does not exist"
}
  • 401
{
"result": "Error while fetching dashboard widget data."
}
  • 200 (no access)
{
"error": true,
"dashboard_access_denied": true
}

Behavior/Processing

Behavior Modes

ModeTriggerProcessing PathResponse Shape
Full dashboard readDashboard exists and user has view accessResolves view/edit access flags, fetches owner info, fetches widgets/apps, enriches widget data.Raw dashboard object
Access deniedUser fails view access checkStops before widget data processing.Raw object with error and dashboard_access_denied

Impact on Other Data

  • Read-only endpoint; no writes.

Database Collections

CollectionUsed forData touched by this endpoint
countly.dashboardsDashboard lookup and access contextReads one dashboard by _id.
countly.widgetsWidget metadata and processing inputReads widgets linked to the dashboard.
countly.appsApp summary enrichmentReads app metadata referenced by widgets.
countly.membersAuthentication, owner enrichment, and shared-user enrichmentReads current member context for access checks, owner profile details, and shared user details.

Examples

Read one dashboard

/o/dashboards?
dashboard_id=65e1f3d2a4f41a5f6f6d7701&
period=30days

Operational Considerations

  • Widget data loading runs across all dashboard widgets. Dashboards with many heavy widgets can have longer response times.
  • Sharing detail fields are hidden for non-owner and non-global-admin users.

Last Updated

2026-02-17