arazzo: 1.0.1
info:
title: Sysdig Clone Dashboard
summary: Read a source dashboard and create a copy of it under a new name.
description: >-
A dashboard duplication flow for Sysdig Monitor. It fetches a source
dashboard by id, carries its panels and sharing settings forward, and
creates a new dashboard from that definition under a caller-supplied name.
The new dashboard is then read back to confirm it persisted. Every step
spells out its request inline so the flow can be read and executed without
opening the underlying OpenAPI description.
version: 1.0.0
sourceDescriptions:
- name: dashboardsApi
url: ../openapi/sysdig-dashboards-api-openapi.yml
type: openapi
workflows:
- workflowId: clone-dashboard
summary: Duplicate an existing dashboard under a new name.
description: >-
Reads a source dashboard, creates a new dashboard from its panels and
sharing settings, and verifies the copy by id.
inputs:
type: object
required:
- bearerToken
- sourceDashboardId
- newName
properties:
bearerToken:
type: string
description: Sysdig API bearer token used for Authorization.
sourceDashboardId:
type: string
description: The id of the dashboard to clone.
newName:
type: string
description: Name for the cloned dashboard.
steps:
- stepId: getSource
description: Retrieve the source dashboard definition by id.
operationId: getDashboard
parameters:
- name: Authorization
in: header
value: Bearer $inputs.bearerToken
- name: dashboardId
in: path
value: $inputs.sourceDashboardId
successCriteria:
- condition: $statusCode == 200
outputs:
description: $response.body#/dashboard/description
shared: $response.body#/dashboard/shared
panels: $response.body#/dashboard/panels
- stepId: createClone
description: Create a new dashboard from the source panels under the new name.
operationId: createDashboard
parameters:
- name: Authorization
in: header
value: Bearer $inputs.bearerToken
requestBody:
contentType: application/json
payload:
dashboard:
name: $inputs.newName
description: $steps.getSource.outputs.description
shared: $steps.getSource.outputs.shared
panels: $steps.getSource.outputs.panels
successCriteria:
- condition: $statusCode == 201
outputs:
dashboardId: $response.body#/dashboard/id
- stepId: verifyClone
description: Read the cloned dashboard back by id to confirm it persisted.
operationId: getDashboard
parameters:
- name: Authorization
in: header
value: Bearer $inputs.bearerToken
- name: dashboardId
in: path
value: $steps.createClone.outputs.dashboardId
successCriteria:
- condition: $statusCode == 200
outputs:
dashboardId: $response.body#/dashboard/id
name: $response.body#/dashboard/name
outputs:
sourceDashboardId: $inputs.sourceDashboardId
clonedDashboardId: $steps.verifyClone.outputs.dashboardId
clonedName: $steps.verifyClone.outputs.name
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.