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 setting | commitMessage | Result |
|---|---|---|
| Disabled | Omitted | Save without committing |
| Disabled | Provided | Save and commit |
| Enabled | Omitted | Reject before saving with COMMIT_MESSAGE_REQUIRED |
| Enabled | Provided | Save and commit |
| Enabled | GitHub unavailable | Reject 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.
Authorization
BearerAuth 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
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"
}
}