openapi: 3.2.0 info: title: Logicmonitor Dashboards API license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: '1.0' description: 'Operations tagged Dashboards across 2 of this provider''s published API definitions: logicmonitor-rest-api-v2-swagger.json, logicmonitor-rest-api-v3-swagger.json. Each path carries the servers of the definition it was published in.' servers: - url: /santaba/rest tags: - name: Dashboards paths: /dashboard/dashboards: post: summary: add dashboard security: - LMv1: [] description: '' operationId: addDashboard responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Dashboard' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - Dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' required: true get: summary: get dashboard list security: - LMv1: [] description: '' operationId: getDashboardList responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/DashboardPaginationResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: query name: fields required: false schema: type: string - in: query name: size required: false schema: type: integer format: int32 default: 50.0 - in: query name: offset required: false schema: type: integer format: int32 default: 0.0 - in: query name: filter required: false schema: type: string tags: - Dashboards servers: - url: /santaba/rest /dashboard/dashboards/{id}/widgets: get: summary: get widget list by DashboardId security: - LMv1: [] description: '' operationId: getWidgetListByDashboardId responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/WidgetPaginationResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 pattern: \d+ - in: query name: fields required: false schema: type: string - in: query name: size required: false schema: type: integer format: int32 default: 50.0 - in: query name: offset required: false schema: type: integer format: int32 default: 0.0 - in: query name: filter required: false schema: type: string tags: - Dashboards servers: - url: /santaba/rest /dashboard/dashboards/{id}: patch: summary: update dashboard security: - LMv1: [] description: The template field works only for the POST API operationId: patchDashboardById responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Dashboard' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 pattern: \d+ - in: query name: overwriteGroupFields required: false schema: type: boolean default: false tags: - Dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' required: true get: summary: get dashboard security: - LMv1: [] description: '' operationId: getDashboardById responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Dashboard' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 pattern: \d+ - in: query name: template required: false schema: type: boolean default: false - in: query name: format required: false schema: type: string default: json - in: query name: fields required: false schema: type: string tags: - Dashboards delete: summary: delete dashboard security: - LMv1: [] description: '' operationId: deleteDashboardById responses: '200': description: successful operation content: application/json: schema: type: object default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 pattern: \d+ tags: - Dashboards put: summary: update dashboard security: - LMv1: [] description: The template field works only for the POST API operationId: updateDashboardById responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/Dashboard' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: - in: path name: id required: true schema: type: integer format: int32 pattern: \d+ - in: query name: overwriteGroupFields required: false schema: type: boolean default: false tags: - Dashboards requestBody: content: application/json: schema: $ref: '#/components/schemas/Dashboard' required: true servers: - url: /santaba/rest components: schemas: Dashboard: type: object required: - name properties: owner: description: This field will be empty unless the dashboard is a private dashboard, in which case the owner will be listed type: string template: description: The template which is used for import dashboard type: object userPermission: description: The permission of the user that made the API call readOnly: true type: string groupId: format: int32 description: The id of the group the dashboard belongs to type: integer example: 1.0 fullName: description: Full name of the dashboard, including group path readOnly: true type: string example: a new group//Collector Health/ description: description: The description of the dashboard type: string example: Windows Servers Performance sharable: description: Whether or not the dashboard is sharable. This value will always be true unless the dashboard is a private dashboard type: boolean example: true widgetsConfig: description: Information about widget configuration used by the UI type: object groupName: description: The name of group where created dashboard will reside type: string example: Server Dashboard widgetTokens: description: If useDynamicWidget=true, this field must at least contain tokens defaultDeviceGroup and defaultServiceGroup type: array items: $ref: '#/components/schemas/WidgetToken' example: '"widgetTokens":[{"name":"defaultDeviceGroup","value":"*"},{"name":"defaultServiceGroup","value":"*"}]' name: description: The name of the dashboard type: string example: Default Device Group id: format: int32 description: The Id of the dashboard readOnly: true type: integer groupFullPath: description: The full path (excluding root group) of the group the dashboard belongs to readOnly: true type: string WidgetTokenInheritance: type: object properties: fullpath: readOnly: true type: string value: readOnly: true type: string WidgetToken: type: object properties: inheritList: type: array items: $ref: '#/components/schemas/WidgetTokenInheritance' name: description: This is the name of the parent group of devices, if there is one established type: string example: Default Device Group type: readOnly: true type: string value: description: this is the name of the child group of devices, if there is one type: string example: Devices by Type/Network ErrorResponse: type: object properties: errorMessage: description: The error message readOnly: true type: string errorCode: format: int32 description: The error code readOnly: true type: integer errorDetail: description: The error detail readOnly: true type: object Widget: type: object required: - dashboardId - name - type properties: lastUpdatedBy: description: The user that last updated the widget readOnly: true type: string userPermission: description: The permission level of the user who last modified the widget readOnly: true type: string example: write dashboardId: format: int32 description: The id of the dashboard the widget belongs to type: integer example: 1.0 name: description: The name of the widget type: string example: Test description: description: The description of the widget type: string example: Devices By Type lastUpdatedOn: format: int64 description: The time that corresponds to when the widget was last updated, in epoch format readOnly: true type: integer theme: description: 'The color scheme of the widget. Options are: borderPurple | borderGray | borderBlue | solidPurple | solidGray | solidBlue | simplePurple | simpleBlue | simpleGray | newBorderGray | newBorderBlue | newBorderDarkBlue | newSolidGray | newSolidBlue | newSolidDarkBlue | newSimpleGray | newSimpleBlue |newSimpleDarkBlue' type: string example: newBorderBlue interval: format: int32 description: The refresh interval of the widget, in minutes type: integer example: 5.0 id: format: int32 description: The Id of the widget type: integer type: description: alert | batchjob | flash | gmap | ngraph | ograph | cgraph | sgraph | netflowgraph | groupNetflowGraph | netflow | groupNetflow | html | bigNumber | gauge | pieChart | table | dynamicTable | deviceSLA | text | statsd | deviceStatus | serviceAlert | noc | websiteOverview | websiteOverallStatus | websiteIndividualStatus | websiteSLA type: string example: bigNumber timescale: description: The default timescale of the widget type: string discriminator: propertyName: type DashboardPaginationResponse: type: object properties: total: format: int32 readOnly: true type: integer searchId: readOnly: true type: string items: type: array items: $ref: '#/components/schemas/Dashboard' WidgetPaginationResponse: type: object properties: total: format: int32 readOnly: true type: integer searchId: readOnly: true type: string items: type: array items: $ref: '#/components/schemas/Widget' Dashboard_2: type: object required: - name properties: owner: description: This field will be empty unless the dashboard is a private dashboard, in which case the owner will be listed type: string template: description: The template which is used for importing dashboard type: object userPermission: description: The permission of the user that made the API call readOnly: true type: string groupId: format: int32 description: The id of the group the dashboard belongs to type: integer example: 1 fullName: description: Full name of the dashboard, including group path readOnly: true type: string example: a new group//Collector Health/ description: description: The description of the dashboard type: string example: Windows Servers Performance sharable: description: Whether or not the dashboard is sharable. This value will always be true unless the dashboard is a private dashboard type: boolean example: true widgetsConfig: description: Information about widget configuration used by the UI type: object groupName: description: The name of group where created dashboard will reside type: string example: Server Dashboard defaultDashboardFilters: description: this field will hold values for a dashboard filter on account level readOnly: false $ref: '#/components/schemas/RestDefaultDashboardFilters' widgetTokens: description: If useDynamicWidget=true, this field must at least contain tokens defaultDeviceGroup and defaultServiceGroup type: array items: $ref: '#/components/schemas/WidgetToken_2' example: '"[{"name":"defaultDeviceGroup","value":"*"},{"name":"defaultServiceGroup","value":"*"}]"' name: description: The name of the dashboard type: string example: Default Device Group overwriteGroupFields: description: 'Overwrite existing Resource/Website Group fields with ##defaultResourceGroup## and/or ##defaultWebsiteGroup## tokens. This value of this attribute is only considered while updating the Dashboard configuration. While creating the new Dashboard, this value will always be considered as false irrespective of the passed value.' readOnly: true type: boolean id: format: int32 description: The Id of the dashboard readOnly: true type: integer groupFullPath: description: The full path (excluding root group) of the group the dashboard belongs to readOnly: true type: string WidgetTokenInheritance_2: description: The widget token inherit list type: object properties: fullpath: description: The fullpath for the widget token readOnly: true type: string value: description: The property value for the group readOnly: true type: string WidgetToken_2: description: If useDynamicWidget=true, this field must at least contain tokens defaultDeviceGroup and defaultServiceGroup type: object properties: inheritList: description: The widget token inherit list type: array items: $ref: '#/components/schemas/WidgetTokenInheritance_2' name: description: This is the name of the parent group of devices, if there is one established type: string example: Default Device Group type: description: 'The values can be owned | inherit Specifies the type of the widget' readOnly: true type: string value: description: This is the name of the child group of devices, if there is one type: string example: Devices by Type/Network example: '"[{"name":"defaultDeviceGroup","value":"*"},{"name":"defaultServiceGroup","value":"*"}]"' Widget_2: type: object required: - dashboardId - name - type properties: lastUpdatedBy: description: The user that last updated the widget readOnly: true type: string userPermission: description: The permission level of the user who last modified the widget readOnly: true type: string example: write supportCustomProperty: type: boolean description: description: The description of the widget type: string example: Devices By Type type: description: alert | batchjob | flash | gmap | ngraph | ograph | cgraph | sgraph | netflowgraph | groupNetflowGraph | netflow | groupNetflow | html | bigNumber | gauge | pieChart | table | dynamicTable | deviceSLA | text | statsd | deviceStatus | serviceAlert | noc | websiteOverview | websiteOverallStatus | websiteIndividualStatus | websiteSLA | savedMap type: string example: bigNumber dashboardId: format: int32 description: The id of the dashboard the widget belongs to type: integer example: 1 isSupportCustomProperty: description: Custom property support in table widget or not type: boolean example: false name: description: The name of the widget type: string example: Test lastUpdatedOn: format: int64 description: The time that corresponds to when the widget was last updated, in epoch format readOnly: true type: integer theme: description: 'The color scheme of the widget. Options are: borderPurple | borderGray | borderBlue | solidPurple | solidGray | solidBlue | simplePurple | simpleBlue | simpleGray | newBorderGray | newBorderBlue | newBorderDarkBlue | newSolidGray | newSolidBlue | newSolidDarkBlue | newSimpleGray | newSimpleBlue |newSimpleDarkBlue' type: string example: newBorderBlue interval: format: int32 description: The refresh interval of the widget, in minutes type: integer example: 5 id: format: int32 description: The Id of the widget type: integer timescale: description: The default timescale of the widget type: string discriminator: propertyName: type RestDefaultDashboardFilterDetails: type: object properties: name: type: string alias: type: string label: type: string type: type: string RestDefaultDashboardFilters: description: this field will hold values for a dashboard filter on account level type: object properties: defaultDashboardFilterDetails: type: array items: $ref: '#/components/schemas/RestDefaultDashboardFilterDetails' example: - name: fix.version alias: version label: version type: RESOURCE_PROPERTY - name: system.instancedescription alias: instanceDescription label: instanceDescription type: INSTANCE_PROPERTY securitySchemes: LMv1: in: header name: Authorization type: apiKey externalDocs: description: LogicMonitor Support Docs url: https://www.logicmonitor.com/support/rest-api-developers-guide/ x-refined-from: - logicmonitor-rest-api-v2-swagger.json - logicmonitor-rest-api-v3-swagger.json