---
title: "POST /api/projects/{project_id}/dashboards/bulk_delete/"
method: POST
path: "/api/projects/{project_id}/dashboards/bulk_delete/"
tags: ["dashboards"]
---

# POST /api/projects/{project_id}/dashboards/bulk_delete/

`POST /api/projects/{project_id}/dashboards/bulk_delete/`

## Request

- Base URL: `https://us.posthog.com`
- URL: `https://us.posthog.com/api/projects/{project_id}/dashboards/bulk_delete/`
- Auth: HTTP bearer

Soft-delete up to 100 dashboards. Optionally delete insights with no remaining dashboard. Report missing or inaccessible dashboards as skipped.

## Path parameters

- `project_id` string, required

## Request body

- DashboardBulkDeleteRequest
  - `ids` integer[], required: Dashboard IDs to soft-delete. At most 100 IDs per request.
  - `delete_insights` boolean: Also delete insights that have no remaining dashboard after deletion. Defaults to false.

## Response `200`

- DashboardBulkDeleteResponse
  - `deleted` integer[], required: IDs of dashboards that were soft-deleted.
  - `skipped` DashboardBulkDeleteSkipped[], required: Dashboards that were not deleted.
    - `id` integer, required: ID of the dashboard that was skipped.
    - `reason` string, required: Reason the dashboard was skipped.

## Changes

> 53 revisions in range; 1 not diffed.

- **2026-10-15** `fe47d472a2e8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/posthog/apis/posthog-api/changes/api/projects/:project_id/dashboards/bulk_delete/post.md)

---

[API](https://skmtc.dev/posthog/apis/posthog-api.md) · [All operations](https://skmtc.dev/posthog/apis/posthog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/posthog/apis/posthog-api/revisions/993f70ab941b?raw)
