Semaphor
API ReferenceDashboards

Duplicate a dashboard

Creates a copy of a dashboard in the same project. Optional title and description values replace the generated copy metadata. The duplicate receives the source dashboard's canonical tags and visibility. Tags cannot be overridden through this operation. Data Apps retain the existing 409 rejection on this dashboard-only endpoint.

Provide commitMessage to commit the duplicate to the project's connected GitHub repository. When the project requires commits on save, organization users must provide a message. Tenant users can duplicate dashboards through their normal save flow but cannot request a Git commit.

POST
/api/management/v1/dashboards/{dashboardId}/duplicate

Authorization

BearerAuth
AuthorizationBearer <token>

A project-scoped or dashboard-scoped access token. Generate one via the Token API using your project ID and project secret.

In: header

Path Parameters

dashboardId*string

Dashboard identifier.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X post "https://semaphor.cloud/api/management/v1/dashboards/string/duplicate" \  -H "Content-Type: application/json" \  -d '{}'
{
  "message": "Dashboard duplicated successfully",
  "original": {
    "id": "dashboard_source",
    "title": "Operations Dashboard"
  },
  "duplicate": {
    "id": "dashboard_duplicate",
    "kind": "dashboard",
    "title": "Operations Dashboard (Copy)",
    "projectId": "project_source",
    "tags": [
      "audience:operations",
      "product:inbound-ticketing"
    ]
  }
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "code": "string",
  "errorCode": "string",
  "details": {},
  "success": true
}
{
  "error": "string",
  "errorCode": "COMMIT_FAILED",
  "dashboardSaved": true,
  "duplicate": {
    "id": "string",
    "kind": "string",
    "tags": [
      "string"
    ],
    "title": "string",
    "description": "string",
    "projectId": "string",
    "tenantId": "string",
    "isPrivate": true,
    "isPublic": true,
    "version": "string",
    "permissions": {
      "canEdit": true,
      "canShare": true,
      "canDelete": true
    },
    "ownership": {}
  },
  "versionControl": {
    "status": "committed",
    "commitSha": "string",
    "commitUrl": "http://example.com"
  }
}