---
title: "Clone Explorer dashboard"
method: POST
path: "/v1/explorer/dashboards/{id}/clone"
tags: ["Explorer dashboards"]
---

# Clone Explorer dashboard

`POST /v1/explorer/dashboards/{id}/clone`

## Request

- Base URL: `https://api.nops.io`
- URL: `https://api.nops.io/v1/explorer/dashboards/{id}/clone`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nops/apis/nops-public-api/docs/v1/explorer/dashboards/:id/clone/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required: Dashboard ID

## Headers

- `Idempotency-Key` string, required: Unique key for safe retries on write requests (required, max 64 characters).

## Request body

- object
  - `name` string
  - `scope` 'private' | 'shared' | 'global'
  - `dashboardConfig` object, nullable
    - `showback` integer, nullable, required
    - `showbackValues` string[], nullable, required
    - `filters` object[]
      - `dimension` string, required
      - `mode` 'include' | 'exclude', required
      - `values` string[], required
      - `valueModes` object
      - `texts` object[]
        - `mode` 'include' | 'exclude', required
        - `text` string, required
      - `textCombinator` 'and' | 'or'
      - `keyCombinator` 'and' | 'or'
      - `tagKeyOnly` boolean
      - `includePreAttributionHistory` true
    - `dateRange` object
      - `start` string, required
      - `end` string, required
    - `datePreset` '7D' | '14D' | '30D' | '60D' | '90D' | '1M' | '3M' | '6M' | '1Y' | '3Y' | 'MTD' | 'YTD' | '1Y+MTD' | '+0M' | '+1M' | '+3M' | '+6M' | '+1Y' | '+3Y' | '+4Y'
    - `granularity` 'hour' | 'day' | 'week' | 'month' | 'quarter'
    - `costType` 'line_item_unblended_cost' | 'line_item_amortized_cost' | 'line_item_blended_cost' | 'pricing_public_on_demand_cost' | 'nops_line_item_net_unblended_cost' | 'nops_line_item_net_amortized_cost' | 'nops_pricing_net_public_on_demand_cost'
    - `layoutMode` 'grid' | 'sections'
    - `sections` union[]
      - union
        - object
          - `kind` 'budget', required
          - `id` string, required
          - `title` string
          - `budgetId` string, required
          - `position` integer, required
        - object
          - `kind` 'report'
          - `id` string, required
          - `title` string
          - `explorerReportId` string, required
          - `config` object
            - `dateRange` object
              - …
            - `dateRangeMode` 'rolling' | 'fixed'
            - `datePreset` '7D' | '14D' | '30D' | '60D' | '90D' | '1M' | '3M' | '6M' | '1Y' | '3Y' | 'MTD' | 'YTD' | '1Y+MTD' | '+0M' | '+1M' | '+3M' | '+6M' | '+1Y' | '+3Y' | '+4Y'
            - `groupBy` string
            - `costType` 'line_item_unblended_cost' | 'line_item_amortized_cost' | 'line_item_blended_cost' | 'pricing_public_on_demand_cost' | 'nops_line_item_net_unblended_cost' | 'nops_line_item_net_amortized_cost' | 'nops_pricing_net_public_on_demand_cost'
            - `granularity` 'hour' | 'day' | 'week' | 'month' | 'quarter'
            - `filters` object[]
              - …
            - `tagKeyCombinators` object
            - `topN` integer, nullable
            - `usageChart` 'Hide' | 'Usage' | 'Normalized Usage'
            - `widgetChartView` 'all' | 'spend' | 'usage'
            - `widgetTargetChartView` 'all' | 'spend' | 'target'
            - `widgetBusinessUnitChartView` 'all' | 'spend' | 'unit'
            - `page` integer
            - `pageSize` integer, nullable
            - `sortColumn` union
              - …
            - `sortDir` 'asc' | 'desc'
            - `nameSearch` string
            - `budgetOverlay` object, nullable
              - …
            - `bueOverlay` object, nullable
              - …
            - `showbackOverlay` object, nullable
              - …
            - `heatmap` object, nullable
              - …
            - `forecastHorizon` integer
            - `bypassCache` boolean
            - `flexTable` object, nullable
              - …
          - `panels` string[], required
          - `position` integer, required
          - `suppressUsageBand` boolean
    - `showbackScope` object
      - `showbackId` integer, required
      - `values` string[], required

## Response `201`

Clone Explorer dashboard

- PublicApiError
  - `error` object, required
    - `code` string, required
    - `message` string, required
    - `request_id` string, required

## Other responses

- `401`: Unauthorized — invalid or missing API key
- `403`: Forbidden — insufficient permissions or entitlement

---

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