Semaphor

Update a dashboard

Updates dashboard metadata (title, description, visibility, tags) and optionally replaces the full template. All fields are optional — only provided fields are changed.

tags uses full replacement semantics: omit it to preserve the current set, send [] to clear all tags, or send a non-empty array to replace the full set. Tags are returned in ascending lexical order. Sending the same tag set by itself is a no-op and does not advance updatedAt.

When you update title or description without providing a template, those values are automatically synced into the stored template JSON.

Version-control policy:

Project settingcommitMessageResult
DisabledOmittedSave without committing
DisabledProvidedSave and commit
EnabledOmittedReject before saving with COMMIT_MESSAGE_REQUIRED
EnabledProvidedSave and commit
EnabledGitHub unavailableReject before saving with VCS_NOT_CONFIGURED

Visibility-only and tag-only changes do not modify the versioned dashboard template and therefore do not require a commit message. A commitMessage supplied with a tag-only update is ignored.

PATCH
/api/management/v1/dashboards/{dashboardId}

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

curl -X patch "https://semaphor.cloud/api/management/v1/dashboards/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "versionControl": {
    "status": "committed",
    "commitSha": "string",
    "commitUrl": "http://example.com"
  },
  "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": {}
}
{
  "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,
  "dashboard": {
    "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"
  }
}