ControlUp Alerts - Devices API
The Alerts - Devices API from ControlUp — 2 operation(s) for alerts - devices.
The Alerts - Devices API from ControlUp — 2 operation(s) for alerts - devices.
openapi: 3.2.0
info:
title: Dex Alerts Alerts - Devices API
version: 1.0.0
description: Dex API Description
contact: {}
servers:
- url: https://api.controlup.com/events/v1/alerts
tags:
- name: Alerts - Devices
paths:
/organizations/{orgId}/alert-configs/desktop/{id}:
get:
operationId: AlertsDesktopController_getAlertById
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/DesktopAlertConfigDTO'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: Retrieves details of a specific Devices alert configuration.
summary: Retrieve a Devices Alert
tags:
- Alerts - Devices
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
- description: ID of the Devices alert to update. You can use [List all alerts](alertsconfigscontroller_getall) to get alert IDs.
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UUID'
patch:
operationId: AlertsDesktopController_updateAlertConfiguration
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/DesktopAlertConfigDTO'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: Updates an existing Devices alert. Only sent parameters are changed.
summary: Update a Devices alert
tags:
- Alerts - Devices
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
- description: ID of the Devices alert to update. You can use [List all alerts](alertsconfigscontroller_getall) to get alert IDs.
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UUID'
requestBody:
description: Updated Devices alert configuration details
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Partial_CreateDesktopAlertDTO_'
description: Updated Devices alert configuration details
delete:
operationId: AlertsDesktopController_deleteAlertConfiguration
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/DeletedActionResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: Deletes a Devices alert.
summary: Delete a Devices alert
tags:
- Alerts - Devices
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
- description: ID of the Devices alert to delete. You can use [List all alerts](alertsconfigscontroller_getall) to get alert IDs.
in: path
name: id
required: true
schema:
$ref: '#/components/schemas/UUID'
/organizations/{orgId}/alert-configs/desktop:
post:
operationId: AlertsDesktopController_createDesktopAlert
responses:
'200':
description: Ok
content:
application/json:
schema:
$ref: '#/components/schemas/DesktopAlertConfigDTO'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__'
'401':
description: 'Unauthorized: Access is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__'
'403':
description: 'Forbidden: Access to this resource is denied'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden__'
'404':
description: 'Not Found: The requested resource could not be found'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__'
description: Creates a new Devices alert.
summary: Create a Devices alert
tags:
- Alerts - Devices
security:
- apiKey: []
parameters:
- description: ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform.
in: path
name: orgId
required: true
schema:
$ref: '#/components/schemas/UUID'
requestBody:
description: Desktop alert configuration details
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Omit_DesktopAlertConfigDTO.sourceName-or-id_'
description: Desktop alert configuration details
components:
schemas:
DesktopAlertConfigDTO:
properties:
integrations:
properties:
servicenow:
properties:
customFields:
$ref: '#/components/schemas/ServiceNowCustomFields'
subcategory:
type: string
category:
type: string
closeNotes:
type: string
closeCode:
type: string
settings:
properties:
autoUpdateTicketState:
type: string
eventMapping:
properties:
resource:
type: string
node:
type: string
alertDescription:
type: string
type: object
type: object
eventSource:
type: string
eventType:
type: string
autoResolveIntervalSeconds:
type: number
format: double
description: 'The duration, in seconds, the system waits after an alert condition has cleared before automatically resolving the associated ServiceNow ticket.
If omitted, the ticket does not automatically resolve.'
urgency:
type: integer
format: int32
description: Urgency level of the ServiceNow ticket.
impact:
type: integer
format: int32
description: Impact level of the ServiceNow ticket.
ticketType:
$ref: '#/components/schemas/ServiceNowTicketType'
description: Type of ServiceNow ticket created. (1 - Incident, 2 - Event)
enabled:
type: boolean
description: Whether the ServiceNow integration is enabled.
required:
- urgency
- impact
- ticketType
- enabled
type: object
description: ServiceNow integration configuration.
type: object
description: Integrations with third-party software.
selfServiceNotification:
properties:
scriptLabel:
type:
- string
- 'null'
description: Custom label for the "Run Script" button shown in the Connect / self-service notification. If empty, a default label is used.
scriptId:
type:
- string
- 'null'
description: ID of a system script offered to the end user through the ControlUp Connect notification. Independent from `actions.systemScriptId`.
message:
type:
- string
- 'null'
description: Custom message displayed to the end user when the self-service notification triggers.
enabled:
type: boolean
description: Whether to trigger a self-service notification on the end user's device when the alert fires.
required:
- enabled
type: object
description: ControlUp Connect / end-user self-service notification settings.
tags:
items:
type: string
type: array
description: 'List of device tags to filter which devices can trigger this alert.
If empty or omitted, the alert applies to all devices.
If set, the alert triggers only for devices that have at least one matching tag.'
notifications:
properties:
webhookUrl:
allOf:
- $ref: '#/components/schemas/URI'
description: Destination URL to receive a notification when the alert triggers. Set to null to clear.
emailAddresses:
items:
$ref: '#/components/schemas/Email'
type: array
description: A list of email addresses to receive a notification when the alert triggers.
type: object
description: Notifications to send when the alert triggers.
actions:
properties:
surveyId:
type: string
description: ID of an on-demand survey to run. You can use [List all surveys](get-surveys) to get survey IDs.
userScriptId:
type: string
description: 'ID of a user script to run. You can use [List all scripts](list-all-scripts) to get script IDs.
The script must match the platform in the `platform` parameter.'
systemScriptId:
type: string
description: 'ID of a system script to run. You can use [List all scripts](list-all-scripts) to get script IDs.
The script must match the platform in the `platform` parameter.'
type: object
description: Followup actions to run on devices that trigger the alert.
retriggerIntervalSeconds:
type: number
format: double
description: 'The minimum duration between subsequent alert activations.
If the retrigger interval duration has not passed since the last alert activation, then the alert won''t activate even if all conditions are met.'
hitsTimeWindowSeconds:
type: number
format: double
description: The time window in seconds for the `hitsNumber` parameter.
hitsNumber:
type: number
format: double
description: The number of times that the alert conditions (`metrics`) must be met within the specified time window (hitsTimeWindowSeconds) for the alert to trigger.
metrics:
items:
$ref: '#/components/schemas/DesktopAlertMetric'
type: array
description: List of conditions that must be met for the alert to trigger. Multiple conditions are combined with AND operators.
index:
type: string
description: 'The data index used for the alert. The alert conditions in the `metrics` object must be based on fields within this data index.
You can use [List all data indices](get-data-indices) to get a list of indices, and [Get a data index](get-data-index) to see the data within an index.'
platform:
$ref: '#/components/schemas/DesktopPlatform'
description: 'OS platform for followup action script execution. Scripts configured in the actions object must match the platform in this parameter.
Note that this parameter does not control which devices can trigger the alert.
If you don''t want the alert to trigger a script, you can set this to 0.
(0 - No platform selected, 1 - Windows, 2 - macOS, 3 - Linux, 4 - ChromeOS)'
id:
type: string
description: The alert's ID.
enabled:
type: boolean
description: Whether the alert is enabled.
severity:
$ref: '#/components/schemas/Severity'
description: The alert's severity level.
description:
type: string
description: The alert's description.
name:
type: string
description: The alert's name.
required:
- name
- severity
- enabled
- id
- platform
- index
- metrics
- hitsNumber
- hitsTimeWindowSeconds
- retriggerIntervalSeconds
type: object
additionalProperties: true
? ErrorResponseBody_ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError__
: properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.InternalServerError.HttpStatusCode.INTERNAL_SERVER_ERROR.ErrorCode.InternalServerError_'
required:
- error
- metadata
type: object
Pick_DesktopAlertConfigDTO.Exclude_keyofDesktopAlertConfigDTO.sourceName-or-id__:
properties:
integrations:
properties:
servicenow:
properties:
customFields:
$ref: '#/components/schemas/ServiceNowCustomFields'
subcategory:
type: string
category:
type: string
closeNotes:
type: string
closeCode:
type: string
settings:
properties:
autoUpdateTicketState:
type: string
eventMapping:
properties:
resource:
type: string
node:
type: string
alertDescription:
type: string
type: object
type: object
eventSource:
type: string
eventType:
type: string
autoResolveIntervalSeconds:
type: number
format: double
description: 'The duration, in seconds, the system waits after an alert condition has cleared before automatically resolving the associated ServiceNow ticket.
If omitted, the ticket does not automatically resolve.'
urgency:
type: integer
format: int32
description: Urgency level of the ServiceNow ticket.
impact:
type: integer
format: int32
description: Impact level of the ServiceNow ticket.
ticketType:
$ref: '#/components/schemas/ServiceNowTicketType'
description: Type of ServiceNow ticket created. (1 - Incident, 2 - Event)
enabled:
type: boolean
description: Whether the ServiceNow integration is enabled.
required:
- urgency
- impact
- ticketType
- enabled
type: object
description: ServiceNow integration configuration.
type: object
description: Integrations with third-party software.
selfServiceNotification:
properties:
scriptLabel:
type:
- string
- 'null'
description: Custom label for the "Run Script" button shown in the Connect / self-service notification. If empty, a default label is used.
scriptId:
type:
- string
- 'null'
description: ID of a system script offered to the end user through the ControlUp Connect notification. Independent from `actions.systemScriptId`.
message:
type:
- string
- 'null'
description: Custom message displayed to the end user when the self-service notification triggers.
enabled:
type: boolean
description: Whether to trigger a self-service notification on the end user's device when the alert fires.
required:
- enabled
type: object
description: ControlUp Connect / end-user self-service notification settings.
tags:
items:
type: string
type: array
description: 'List of device tags to filter which devices can trigger this alert.
If empty or omitted, the alert applies to all devices.
If set, the alert triggers only for devices that have at least one matching tag.'
notifications:
properties:
webhookUrl:
allOf:
- $ref: '#/components/schemas/URI'
description: Destination URL to receive a notification when the alert triggers. Set to null to clear.
emailAddresses:
items:
$ref: '#/components/schemas/Email'
type: array
description: A list of email addresses to receive a notification when the alert triggers.
type: object
description: Notifications to send when the alert triggers.
actions:
properties:
surveyId:
type: string
description: ID of an on-demand survey to run. You can use [List all surveys](get-surveys) to get survey IDs.
userScriptId:
type: string
description: 'ID of a user script to run. You can use [List all scripts](list-all-scripts) to get script IDs.
The script must match the platform in the `platform` parameter.'
systemScriptId:
type: string
description: 'ID of a system script to run. You can use [List all scripts](list-all-scripts) to get script IDs.
The script must match the platform in the `platform` parameter.'
type: object
description: Followup actions to run on devices that trigger the alert.
retriggerIntervalSeconds:
type: number
format: double
description: 'The minimum duration between subsequent alert activations.
If the retrigger interval duration has not passed since the last alert activation, then the alert won''t activate even if all conditions are met.'
hitsTimeWindowSeconds:
type: number
format: double
description: The time window in seconds for the `hitsNumber` parameter.
hitsNumber:
type: number
format: double
description: The number of times that the alert conditions (`metrics`) must be met within the specified time window (hitsTimeWindowSeconds) for the alert to trigger.
metrics:
items:
$ref: '#/components/schemas/DesktopAlertMetric'
type: array
description: List of conditions that must be met for the alert to trigger. Multiple conditions are combined with AND operators.
index:
type: string
description: 'The data index used for the alert. The alert conditions in the `metrics` object must be based on fields within this data index.
You can use [List all data indices](get-data-indices) to get a list of indices, and [Get a data index](get-data-index) to see the data within an index.'
platform:
$ref: '#/components/schemas/DesktopPlatform'
description: 'OS platform for followup action script execution. Scripts configured in the actions object must match the platform in this parameter.
Note that this parameter does not control which devices can trigger the alert.
If you don''t want the alert to trigger a script, you can set this to 0.
(0 - No platform selected, 1 - Windows, 2 - macOS, 3 - Linux, 4 - ChromeOS)'
enabled:
type: boolean
description: Whether the alert is enabled.
severity:
$ref: '#/components/schemas/Severity'
description: The alert's severity level.
description:
type: string
description: The alert's description.
name:
type: string
description: The alert's name.
required:
- name
- severity
- enabled
- platform
- index
- metrics
- hitsNumber
- hitsTimeWindowSeconds
- retriggerIntervalSeconds
type: object
description: From T, pick a set of properties whose keys are in the union K
DeletedActionResponse:
properties:
affectedRows:
type: number
format: double
required:
- affectedRows
type: object
DesktopPlatform:
enum:
- 0
- 1
- 2
- 3
- 4
type: number
ErrorCode.NotFound:
enum:
- 5
type: number
HttpStatusCode.INTERNAL_SERVER_ERROR:
enum:
- 500
type: number
ErrorMessage.Unauthorized:
enum:
- Unauthorized
type: string
ErrorCode.Unauthorized:
enum:
- 3
type: number
BadRequestErrorMessages:
enum:
- Bad Request
- Invalid Params
- Unique Field Violation
type: string
ErrorResponseBody_ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_'
required:
- error
- metadata
type: object
ErrorType_ErrorMessage.Forbidden.HttpStatusCode.FORBIDDEN.ErrorCode.Forbidden_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.Forbidden'
code:
$ref: '#/components/schemas/ErrorCode.Forbidden'
status:
$ref: '#/components/schemas/HttpStatusCode.FORBIDDEN'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
HttpStatusCode.UNAUTHORIZED:
enum:
- 401
type: number
BadRequestErrorCodes:
enum:
- 2
- 14
- 50
type: number
ServiceNowCustomFields:
description: Custom fields dictionary type for ServiceNow integration.
properties: {}
type: object
additionalProperties:
type: string
ErrorResponseMetadata:
properties:
cuRequestId:
type: string
orgId:
type: string
userId:
type: string
userIp:
type: string
required:
- userIp
- userId
- orgId
- cuRequestId
type: object
ErrorMessage.InternalServerError:
enum:
- Internal Server Error
type: string
DesktopAlertMetricCondition:
type: string
enum:
- '='
- '!='
- '>='
- '>'
- <=
- <
- like
ErrorMessage.Forbidden:
enum:
- Forbidden
type: string
ErrorMessage.NotFound:
enum:
- Not Found
type: string
ErrorCode.InternalServerError:
enum:
- 6
type: number
ErrorType_ErrorMessage.Unauthorized.HttpStatusCode.UNAUTHORIZED.ErrorCode.Unauthorized_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.Unauthorized'
code:
$ref: '#/components/schemas/ErrorCode.Unauthorized'
status:
$ref: '#/components/schemas/HttpStatusCode.UNAUTHORIZED'
data:
additionalProperties: true
type: object
required:
- status
- code
- message
type: object
HttpStatusCode.FORBIDDEN:
enum:
- 403
type: number
ErrorCode.Forbidden:
enum:
- 4
type: number
Omit_DesktopAlertConfigDTO.sourceName-or-id_:
$ref: '#/components/schemas/Pick_DesktopAlertConfigDTO.Exclude_keyofDesktopAlertConfigDTO.sourceName-or-id__'
description: Construct a type with the properties of T except for those in type K.
URI:
type: string
example: http://example.com
format: uri
description: Valid URI.
pattern: ^(http(s)?:\/\/.)?(www\.)?([-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6})|(localhost)\b([-a-zA-Z0-9@:%_\+.~#?&\/=]*)$
DesktopAlertMetric:
properties:
metric:
type: string
description: 'The name of the metric (field) to use for the condition.
You must enter the name of the field as it appears in the data index.'
condition:
$ref: '#/components/schemas/DesktopAlertMetricCondition'
description: Type of comparison. Note that a condition based on a string field must use the `like` condition.
value:
type: string
description: Value to compare against. Numbers can be passed as strings.
required:
- value
- condition
- metric
type: object
ErrorResponseBody_ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_'
required:
- error
- metadata
type: object
HttpStatusCode.BAD_REQUEST:
enum:
- 400
type: number
Email:
type: string
format: email
description: Valid email address.
pattern: ^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$
ErrorResponseBody_ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes__:
properties:
metadata:
$ref: '#/components/schemas/ErrorResponseMetadata'
error:
$ref: '#/components/schemas/ErrorType_BadRequestErrorMessages.HttpStatusCode.BAD_REQUEST.BadRequestErrorCodes_'
required:
- error
- metadata
type: object
ErrorType_ErrorMessage.NotFound.HttpStatusCode.NOT_FOUND.ErrorCode.NotFound_:
properties:
message:
$ref: '#/components/schemas/ErrorMessage.NotFound'
code:
$ref: '#/components/schemas/ErrorCode.NotFound'
status:
$ref: '#/com
# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/controlup/refs/heads/main/openapi/controlup-alerts-devices-api-openapi.yml