Skip to main content

Dashboards - Remove Widget

Endpoint

/i/dashboards/remove-widget

Overview

Removes a widget from a dashboard and deletes the widget document.

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

Dashboard sharing rules control access:

  • edit access is required for removal,
  • view-only and no-access users get explicit denial payloads.

Request Parameters

ParameterTypeRequiredDescription
dashboard_idStringYesDashboard ID (24-char ObjectId string).
widget_idStringYesWidget ID (24-char ObjectId string).
api_keyStringConditionalRequired if auth_token is not provided.
auth_tokenStringConditionalRequired if api_key is not provided.

Response

Success Response

{
"result": "Success"
}

Response Fields

FieldTypeDescription
resultStringSuccess or error message in wrapped responses.
errorBooleanPresent in access-denied branches.
edit_access_deniedBooleantrue when user has view access but no edit access.
dashboard_access_deniedBooleantrue when user has no dashboard access.

Error Responses

  • 400
{
"result": "Invalid parameter: dashboard_id"
}
  • 400
{
"result": "Invalid parameter: widget_id"
}
  • 400
{
"result": "Such dashboard and widget combination does not exist."
}
  • 500
{
"result": "Failed to remove widget"
}
  • 200 (view-only access)
{
"error": true,
"edit_access_denied": true
}
  • 200 (no dashboard access)
{
"error": true,
"dashboard_access_denied": true
}

Behavior/Processing

Behavior Modes

ModeTriggerProcessing PathResponse Shape
Remove widgetUser has edit accessPulls widget ID from dashboard, deletes widget document, logs action.Wrapped { "result": "Success" }
View-only deniedUser has view but not edit accessStops without modifications.Raw object with error and edit_access_denied
No access deniedUser has no dashboard accessStops without modifications.Raw object with error and dashboard_access_denied

Impact on Other Data

  • Updates countly.dashboards.widgets with $pull.
  • Deletes widget from countly.widgets.
  • Dispatches widget deleted event to dashboard listeners.

Audit & System Logs

ActionTriggerPayload
widget_deletedAfter successful dashboard pull and widget deleteDeleted widget payload plus dashboard name

Database Collections

CollectionUsed forData touched by this endpoint
countly.membersAuthentication and dashboard-share access checksReads current member record and group/share context for edit/view validation.
countly.dashboardsOwnership and linkage updateReads dashboard-widget relationship and removes widget ID from dashboard.
countly.widgetsWidget storageDeletes widget document by _id.
countly.systemlogsAudit trailWrites widget_deleted entry.

Examples

Remove one widget

/i/dashboards/remove-widget?
dashboard_id=65e1f3d2a4f41a5f6f6d7701&
widget_id=65e1f5f8a4f41a5f6f6d7703

Limitations

  • The handler parses widget if passed, but does not use it for deletion logic.
  • Successful delete requires both dashboard update and widget delete to complete.

Last Updated

2026-02-17