# POST /report-dashboards

**Resource:** [Reports](./reports.md)  
**Scopes:** `opportunities:read`  
**Write operation:** yes

Create a report dashboard. Supports template expansion with optional pipeline_id scoping. Set visibility to "restricted" then use POST /report-dashboards/:id/acl to grant per-user/role access.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `name` | body | string | no | Dashboard name. Required if no template. |
| `description` | body | string | no | Dashboard description. |
| `template` | body | string | no | Template key: sales_overview, staff_accountability, pipeline_health, marketing_roi. Auto-populates cards. |
| `pipeline_id` | body | uuid | no | Pipeline UUID. Scopes all template cards to this pipeline. |
| `visibility` | body | string | no | Who can see this dashboard. Valid values: "all_users" (default -- everyone in the workspace) or "restricted" (only users/roles added via the ACL endpoint). Use "restricted" + POST /report-dashboards/:id/acl to control access precisely. |

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`