---
title: "Edit (overwrite) one AI insights section of a campaign dashboard"
method: PUT
path: "/v2/reporting/campaigns-dashboard/{dashboardId}/insights"
tags: ["Performance Dashboard Insights"]
---

# Edit (overwrite) one AI insights section of a campaign dashboard

`PUT /v2/reporting/campaigns-dashboard/{dashboardId}/insights`

## Request

- Base URL: `https://app.metricool.com/api`
- URL: `https://app.metricool.com/api/v2/reporting/campaigns-dashboard/{dashboardId}/insights`
- Auth: none declared

## Path parameters

- `dashboardId` integer, required

## Query parameters

- `section` string, required

## Request body

- UpdateInsightSectionRequest: Full replacement content for one insights section.
  - `content` InsightBlockDto[], required: Ordered boxes of the section (0 to 4). An empty list clears the section.
    - `text` string, required: Rich-text content of the box

## Response `200`

OK

- JsonOkResponsePerformanceDashboardInsightsResponseDto
  - `metadata` object
  - `page` JsonPaging
    - `next` string
  - `data` PerformanceDashboardInsightsResponseDto
    - `dashboardId` integer, required: Dashboard id
    - `status` string, required: Job status: COMPLETED, GENERATING, FAILED, or NOT_GENERATED_YET
    - `startedAt` DateTimeInfo
      - `dateTime` string, required: Local Date-time represented with a certain timezone
      - `timezone` string: Timezone applied to the datetime
    - `finishedAt` DateTimeInfo
      - `dateTime` string, required: Local Date-time represented with a certain timezone
      - `timezone` string: Timezone applied to the datetime
    - `errorMessage` string: Error message if the latest job failed
    - `content` InsightsContentDto: Structured insights content per section. Null if no insight has been generated.
      - `language` string: ISO 639-1 language code of the insights
      - `executiveSummary` InsightSectionDto: Global best-posts section (null if absent)
        - `generationStatus` string, required: Per-section status: GENERATED, MODIFIED or PROCESSING
        - `content` InsightBlockDto[], required: Ordered boxes of the section
          - `text` string, required: Rich-text content of the box
      - `organicNetworks` object: Per organic-network sections, keyed by network token (e.g. instagram)
      - `adsPlatforms` object: Per ads-platform sections, keyed by platform token (e.g. google, facebookAds)
      - `bestPosts` InsightSectionDto: Global best-posts section (null if absent)
        - `generationStatus` string, required: Per-section status: GENERATED, MODIFIED or PROCESSING
        - `content` InsightBlockDto[], required: Ordered boxes of the section
          - `text` string, required: Rich-text content of the box

---

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