Topolo Docs Topolo Platform
Open workspace

Delete focused dashboard

Deletes an owned dashboard and promotes the most recent remaining one in the same owner's scope and visibility library as the default.

Outcome

Deletes an owned dashboard and promotes the most recent remaining one in the same owner's scope and visibility library as the default. Anyone the layout was shared with loses it.

Before you start

  • Verify the intended environment, authenticated identity and explicitly authorized ownership context.
  • Discover the published dashboard:write permission and any required resource grant.
  • Approve the actual effects before confirming the unchanged planned request. Fixture identifiers, recipients and provider responses authorize no live operation.

Discover the target

topolo whoami --json
topolo actions get app_topolo_one.dashboard_layouts.delete --detail --json
  • id: Exact identifier retained from the corresponding create response or permitted list; dashboard ids and local application ids are distinct.

Request

DELETE /api/dashboard-layouts/{id}

Inspect and test this action.

Input fields

FieldRequiredMeaningConstraints
idRequiredExact identifier retained from the corresponding create response or permitted list; dashboard ids and local application ids are distinct.{"type":"string","minLength":1}

Inspect nested fields.

Interpret the response

Call app_topolo_one.dashboard_layouts.list and confirm which layout is now the default.

Inspect the declared output schema and captured variants.

Worked examples

Actual exported One Worker with local Miniflare D1/KV. Authentication, application discovery, checkout, billing and remote widget providers are controlled synthetic responses; outbound access is sealed. No live provider outcome is established.

Save the reviewed input below as payload.json; substitute discovered identifiers and bind credential/resource context separately. CLI:

topolo actions validate app_topolo_one.dashboard_layouts.delete --data @payload.json --json
topolo actions plan app_topolo_one.dashboard_layouts.delete --data @payload.json --json
topolo actions call app_topolo_one.dashboard_layouts.delete --data @payload.json --confirm --detail --json

MCP planning and execution use the same reviewed input:

{
  "tool": "topolo_prepare_action",
  "arguments": {
    "actionId": "app_topolo_one.dashboard_layouts.delete",
    "input": {
      "id": "dashboard_25d42154-3509-4391-829e-8f023882f7d3"
    }
  }
}
{
  "tool": "topolo_call_action",
  "arguments": {
    "actionId": "app_topolo_one.dashboard_layouts.delete",
    "input": {
      "id": "dashboard_25d42154-3509-4391-829e-8f023882f7d3"
    },
    "confirm": true,
    "detail": true
  }
}

Successful response · HTTP 200

Input · payload.json:

{
  "id": "dashboard_25d42154-3509-4391-829e-8f023882f7d3"
}

Captured response:

{
  "data": {
    "id": "dashboard_25d42154-3509-4391-829e-8f023882f7d3",
    "deleted": true
  }
}

Call app_topolo_one.dashboard_layouts.list and confirm which layout is now the default.

Refused request · HTTP 401 · auth_error

Input · payload.json:

{
  "id": "dashboard_2c6f8947-3cd3-4b64-9e42-e50c1e7f506f"
}

Captured response:

{
  "error": "Token validation failed"
}

Authenticate using the required credential type for this action; service-only actions require the registered Auth service identity.

Verify the result

  • Call app_topolo_one.dashboard_layouts.list and confirm which layout is now the default.

Errors and recovery

  • personal_context_required (HTTP 403): Switch to the dashboard's Personal context before deleting it.
  • not_found (HTTP 404): The layout is already gone; treat a repeat delete as satisfied.
  • insufficient_permissions (HTTP 403): The caller does not hold the permission this action requires.
  • auth_error (HTTP 401): Authenticate using the required credential type for this action; service-only actions require the registered Auth service identity.

These are observed local refusals; inspect the raw error body because one SDK code can represent several handler messages. Preserve the request id when available.

Recovery boundary

Recreate it from its composition; the shares it had are not restored.

  • Create focused dashboard: Create a named purpose-driven dashboard with explicit time context, app contributions, resource bindings, and saved analyses.

Evidence

Actual exported One Worker with local Miniflare D1/KV. Authentication, application discovery, checkout, billing and remote widget providers are controlled synthetic responses; outbound access is sealed. No live provider outcome is established.