openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Linode Alerts API' version: 4.215.0 servers: - url: https://api.linode.com tags: - description: Akamai Cloud Pulse lets you configure alerts to monitor key metrics and events in real time and automatically trigger notifications or actions when predefined thresholds or conditions are met. name: Alerts paths: /{apiVersion}/monitor/alert-channels: parameters: - description: __Enum__ Call the `v4beta` URL for operations still only in beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4beta example: v4beta type: string x-akamai: file-path: parameters/api-version-v4beta-path.yaml x-akamai: file-path: paths/aclp-alert-channels.yaml path-info: /{apiVersion}/monitor/alert-channels x-linode-cli-command: alerts get: description: '__Beta__ Returns all of the monitoring alert channels available to your user. > 📘 > > - This operation is beta. Call it using the `v4beta` path in its URL. > > - Filtering is supported for specific objects, labeled as **Filterable**. However, only the `+and` and `+or` operators are supported, and you can''t nest filter operators. > --- - __OAuth scopes__. ``` monitor:read_only ``` Learn more... - __CLI__. ``` linode-cli alerts channels-list ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-alert-channels operationId: get-alert-channels responses: '200': content: application/json: example: data: - alerts: - id: 10000 label: High Memory Usage Plan Dedicated type: alerts-definitions url: /monitor/alerts-definitions/10000 - id: 10001 label: High Memory Usage Plan Shared type: alerts-definitions url: /monitor/alerts-definitions/10001 channel_type: email content: email: email_addresses: - Users-with-read-write-access-to-resources created: '2025-03-20T01:41:09' created_by: system id: 10000 label: Read-Write Channel type: system updated: '2025-03-20T01:41:09' updated_by: system page: 1 pages: 1 results: 1 schema: additionalProperties: false properties: data: items: additionalProperties: false properties: alerts: description: Details about the alerts where you've applied this alert channel. items: additionalProperties: false properties: id: description: The unique identifier for the alert. example: 10000 type: integer label: description: The name of the alert. example: High Memory Usage Plan Dedicated type: string type: description: The entity type of the alert. example: alerts-definitions type: string url: description: The URL to access the alert. example: /monitor/alerts-definitions/10000 format: url type: string type: object type: array channel_type: description: The type of notification used with the alert channel. Currently, only `email` is supported. enum: - email example: email type: string content: additionalProperties: false description: The configuration of the alert channel. properties: email: additionalProperties: false description: An alert channel set up to deliver an email for an alert. properties: email_addresses: description: 'Email addresses that receive the message for the alert. For a `user` alert, these are the email addresses you defined in the alert channel. For a `system` alert, this is returned as `Users-with-read-write-access-to-resources`. This represents all users on your account that have read-write access to the object that triggered the alert. > 📘 > > Currently, only `system` alert channels are supported for use.' example: - Users-with-read-write-access-to-resources items: type: string type: array type: object type: object created: description: When the alert channel was created. example: '2025-03-20 01:41:09' format: date-time type: string created_by: description: 'For a `user` alert channel, this is the user on your account that created it. For a `system` alert channel, this value is returned as `system`. > 📘 > > Currently, only `system` alert channels are supported for use. This value will always return a value of `system`.' example: system type: string id: description: __Filterable__ The unique identifier for the alert channel. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string x-akamai: labels: - Filterable x-linode-filterable: true type: description: 'The type of alert channel. This can be either `system` for a channel provided by Akamai, or `user` for one you''ve created. > 📘 > > Currently, only `system` alert channels are supported for use. This value will always return a value of `system`.' enum: - system - user example: system type: string updated: description: When the alert channel was last updated. This is the same as `created` if the channel hasn't been updated. example: '2025-03-20 01:41:09' format: date-time type: string updated_by: description: 'For a `user` alert channel, this is the user on your account that last updated it. For a `system` alert channel, this is returned as `system`. If it hasn''t been updated, this value is the same as `created_by`. > 📘 > > Currently, only `system` alert channels are supported for use. This value will always return a value of `system`.' example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-channel-response.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/aclp-alert-channels-response.yaml description: Returns a paginated list of alerts channels. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_only summary: List alert channels tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: linode-cli alerts channels-list title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: channels-list x-linode-grant: read_only /{apiVersion}/monitor/alert-definitions: parameters: - description: __Enum__ Call the `v4beta` URL for operations still only in beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4beta example: v4beta type: string x-akamai: file-path: parameters/api-version-v4beta-path.yaml x-akamai: file-path: paths/aclp-alert-definitions.yaml path-info: /{apiVersion}/monitor/alert-definitions x-linode-cli-command: alerts get: description: '__Beta__ Returns all available alert definitions on your account. > 📘 > > - This operation is beta. Call it using the `v4beta` path in its URL. > > - Filtering is supported for specific objects, labeled as **Filterable**. However, only the `+and` and `+or` operators are supported, and you can''t nest filter operators. > --- - __OAuth scopes__. ``` monitor:read_only ``` Learn more... - __CLI__. ``` linode-cli alerts definitions-list-all ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-alert-definitions operationId: get-alert-definitions responses: '200': content: application/json: example: data: - alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: dedicated created: '2025-03-20T01:42:11' created_by: system description: Alert triggers when dedicated plan nodes consistently reach critical memory usage, risking application performance degradation. entity_ids: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' has_more_resources: false id: 10000 label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: system updated: '2025-03-20T01:42:11' updated_by: system - alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: null created: '2025-03-20T02:15:18' created_by: John Q. Linode description: Custom alert set up for high memory usage for shared plan nodes. entity_ids: - '126907' - '126908' - '137436' - '141497' - '190004' - '257627' - '257628' has_more_resources: false id: 10001 label: High Memory Usage Plan Shared rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: user updated: '2025-03-20T02:15:18' updated_by: John Q. Linode page: 1 pages: 1 results: 6 schema: additionalProperties: false properties: data: items: additionalProperties: false properties: alert_channels: description: The alert channels set up for use with this alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation to see all of the available channels. items: additionalProperties: false properties: id: description: The unique identifier for this alert channel on your account. example: 10000 type: integer label: description: The name of the channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string type: description: The type of notification used with the channel. For a `user` alert definition, only `email` is supported. enum: - email example: email type: string url: description: The URL for the channel that ends in the channel's `id`. example: /monitor/alert-channels/10000 format: url type: string type: object type: array class: description: The plan type for the Managed Database cluster, either `shared` or `dedicated`. This only applies to a `system` alert for a `service_type` of `dbaas` (Managed Databases). For `user` alerts for `dbaas`, this is returned as `null`. enum: - shared - dedicated example: dedicated type: - string - 'null' created: description: When the alert definition was created. example: '2025-03-20 01:42:11' format: date-time type: string created_by: description: For a `user` alert definition, this is the user on your account that [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type) it. For a `system` alert definition, this is returned as `system`. example: system type: string description: description: An additional description for the alert definition. example: Alert for my PostgreSQL database type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' items: type: string type: array has_more_resources: description: Whether there are additional `entity_ids` associated with the alert for which the user doesn't have at least `read-only` access. example: false type: boolean id: description: __Filterable__ The unique identifier for the alert definition. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: High Memory Usage Plan Dedicated type: string x-akamai: labels: - Filterable x-linode-filterable: true rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: avg type: string dimension_filters: description: Dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string label: description: The name of the dimension filter. Used for display purposes. example: Node Type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array label: description: The name of the individual rule. This is used for display purposes in Akamai Cloud Manager. example: Memory Usage type: string metric: description: The metric to query. example: memory_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: eq type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 95 format: float type: number unit: description: The unit of the metric. This can be values like `percent` for percentage or `GB` for gigabyte. enum: - number - byte - second - percent - bit_per_second - millisecond - KB - MB - GB example: percent type: string type: object type: array type: object service_type: description: The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. example: dbaas type: string severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: 2 type: integer status: description: __Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`. enum: - enabled - disabled - in progress - failed example: enabled type: string x-akamai: labels: - Filterable x-linode-filterable: true trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: description: __Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account. enum: - user - system example: system type: string x-akamai: labels: - Filterable x-linode-filterable: true updated: description: When the alert definition was last updated. This is the same as `created` if the alert definition hasn't been updated. example: '2025-03-20 01:42:11' format: date-time type: string updated_by: description: For a `user` alert definition, this is the user on your account that last [updated](https://techdocs.akamai.com/linode-api/reference/put-alert-definition) it. For a `system` alert definition, this is returned as `system`. If it hasn't been updated, this value is the same as `created_by`. example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-definition-response.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/aclp-alert-definitions-response.yaml description: Returns a paginated list of all alert definitions. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_only summary: List alert definitions tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: linode-cli alerts definitions-list-all title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: definitions-list-all x-linode-grant: read_only /{apiVersion}/monitor/services/{serviceType}/alert-definitions: parameters: - description: __Enum__ Call the `v4beta` URL for operations still only in beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4beta example: v4beta type: string x-akamai: file-path: parameters/api-version-v4beta-path.yaml - description: The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`. example: '{{serviceType}}' in: path name: serviceType required: true schema: example: dbaas type: string x-akamai: file-path: parameters/aclp-service-type.yaml x-akamai: file-path: paths/aclp-service-alert-definitions.yaml path-info: /{apiVersion}/monitor/services/{serviceType}/alert-definitions x-linode-cli-command: alerts post: description: '__Beta__ Create a new alert definition for a specific service type. Akamai refers to these as `user` alerts. You need `read_only` access to the scope for the selected `serviceType`. Check out this workflow for the basics on set up of a destination and a stream to gather logs. > 📘 > > This operation is beta. Call it using the `v4beta` path in its URL. > --- - __OAuth scopes__. ``` monitor:read_write ``` Learn more... - __CLI__. ``` linode-cli alerts definition-create \ --channel_ids 546 \ --label CPU usage threshold maximum \ --rule_criteria.metric cpu_usage \ --rule_criteria.operator gt \ --rule_criteria.threshold 80 \ --severity 2 --trigger_conditions.evaluation_period_seconds 300 \ --trigger_conditions.polling_interval_seconds 300 \ --trigger_conditions.trigger_occurrences 3 \ ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type operationId: post-alert-definition-for-service-type requestBody: content: application/json: example: channel_ids: - 546 - 392 description: Alert for my PostgreSQL database. entity_ids: - '13116' - '13217' - '13331' label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: min dimension_filters: - dimension_label: node_type operator: eq value: primary label: CPU Usage metric: cpu_usage operator: gt threshold: 80 severity: 1 trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 schema: additionalProperties: false properties: channel_ids: description: The identifiers for the alert channels to use for the alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation and store the `id` for the applicable channels. example: - 546 - 392 items: type: integer type: array description: description: An additional description for the alert definition. example: '{{description}}' type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`, while other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '13116' - '13217' - '13331' items: type: string type: array label: description: The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: '{{label}}' type: string rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: min type: string dimension_filters: description: Individual objects that define dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array metric: description: The metric to query. example: cpu_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: gt type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 80 format: float type: number type: object type: array type: object severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: '{{severity}}' type: integer trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object required: - label - severity - rule_criteria - trigger_conditions - channel_ids type: object x-akamai: file-path: schemas/aclp-alert-definition-create.yaml required: true responses: '200': content: application/json: example: alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: dedicated created: '2025-03-20T01:42:11' created_by: system description: Alert triggers when dedicated plan nodes consistently reach critical memory usage, risking application performance degradation. entity_ids: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' has_more_resources: false id: 10000 label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: system updated: '2025-03-20T01:42:11' updated_by: system schema: additionalProperties: false properties: alert_channels: description: The alert channels set up for use with this alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation to see all of the available channels. items: additionalProperties: false properties: id: description: The unique identifier for this alert channel on your account. example: 10000 type: integer label: description: The name of the channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string type: description: The type of notification used with the channel. For a `user` alert definition, only `email` is supported. enum: - email example: email type: string url: description: The URL for the channel that ends in the channel's `id`. example: /monitor/alert-channels/10000 format: url type: string type: object type: array class: description: The plan type for the Managed Database cluster, either `shared` or `dedicated`. This only applies to a `system` alert for a `service_type` of `dbaas` (Managed Databases). For `user` alerts for `dbaas`, this is returned as `null`. enum: - shared - dedicated example: dedicated type: - string - 'null' created: description: When the alert definition was created. example: '2025-03-20 01:42:11' format: date-time type: string created_by: description: For a `user` alert definition, this is the user on your account that [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type) it. For a `system` alert definition, this is returned as `system`. example: system type: string description: description: An additional description for the alert definition. example: Alert for my PostgreSQL database type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' items: type: string type: array has_more_resources: description: Whether there are additional `entity_ids` associated with the alert for which the user doesn't have at least `read-only` access. example: false type: boolean id: description: __Filterable__ The unique identifier for the alert definition. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: High Memory Usage Plan Dedicated type: string x-akamai: labels: - Filterable x-linode-filterable: true rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: avg type: string dimension_filters: description: Dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string label: description: The name of the dimension filter. Used for display purposes. example: Node Type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array label: description: The name of the individual rule. This is used for display purposes in Akamai Cloud Manager. example: Memory Usage type: string metric: description: The metric to query. example: memory_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: eq type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 95 format: float type: number unit: description: The unit of the metric. This can be values like `percent` for percentage or `GB` for gigabyte. enum: - number - byte - second - percent - bit_per_second - millisecond - KB - MB - GB example: percent type: string type: object type: array type: object service_type: description: The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. example: dbaas type: string severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: 2 type: integer status: description: __Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`. enum: - enabled - disabled - in progress - failed example: enabled type: string x-akamai: labels: - Filterable x-linode-filterable: true trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: description: __Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account. enum: - user - system example: system type: string x-akamai: labels: - Filterable x-linode-filterable: true updated: description: When the alert definition was last updated. This is the same as `created` if the alert definition hasn't been updated. example: '2025-03-20 01:42:11' format: date-time type: string updated_by: description: For a `user` alert definition, this is the user on your account that last [updated](https://techdocs.akamai.com/linode-api/reference/put-alert-definition) it. For a `system` alert definition, this is returned as `system`. If it hasn't been updated, this value is the same as `created_by`. example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-definition-response.yaml description: The alert definition is created. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_write summary: Create an alert definition tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: 'linode-cli alerts definition-create \ --channel_ids 546 \ --label CPU usage threshold maximum \ --rule_criteria.metric cpu_usage \ --rule_criteria.operator gt \ --rule_criteria.threshold 80 \ --severity 2 --trigger_conditions.evaluation_period_seconds 300 \ --trigger_conditions.polling_interval_seconds 300 \ --trigger_conditions.trigger_occurrences 3 \' title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: definition-create x-linode-grant: read_write get: description: '__Beta__ Returns all available alert definitions for a specific service type. > 📘 > > This operation is beta. Call it using the `v4beta` path in its URL. > --- - __OAuth scopes__. ``` monitor:read_only ``` Learn more... - __CLI__. ``` linode-cli alerts service-definitions-list dbaas ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-alert-definitions-for-service-type operationId: get-alert-definitions-for-service-type responses: '200': content: application/json: example: data: - alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: dedicated created: '2025-03-20T01:42:11' created_by: system description: Alert triggers when dedicated plan nodes consistently reach critical memory usage, risking application performance degradation. entity_ids: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' has_more_resources: false id: 10000 label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: system updated: '2025-03-20T01:42:11' updated_by: system - alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: null created: '2025-03-20T02:15:18' created_by: John Q. Linode description: Custom alert set up for high memory usage for shared plan nodes. entity_ids: - '126907' - '126908' - '137436' - '141497' - '190004' - '257627' - '257628' has_more_resources: false id: 10001 label: High Memory Usage Plan Shared rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: user updated: '2025-03-20T02:15:18' updated_by: John Q. Linode page: 1 pages: 1 results: 6 schema: additionalProperties: false properties: data: items: additionalProperties: false properties: alert_channels: description: The alert channels set up for use with this alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation to see all of the available channels. items: additionalProperties: false properties: id: description: The unique identifier for this alert channel on your account. example: 10000 type: integer label: description: The name of the channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string type: description: The type of notification used with the channel. For a `user` alert definition, only `email` is supported. enum: - email example: email type: string url: description: The URL for the channel that ends in the channel's `id`. example: /monitor/alert-channels/10000 format: url type: string type: object type: array class: description: The plan type for the Managed Database cluster, either `shared` or `dedicated`. This only applies to a `system` alert for a `service_type` of `dbaas` (Managed Databases). For `user` alerts for `dbaas`, this is returned as `null`. enum: - shared - dedicated example: dedicated type: - string - 'null' created: description: When the alert definition was created. example: '2025-03-20 01:42:11' format: date-time type: string created_by: description: For a `user` alert definition, this is the user on your account that [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type) it. For a `system` alert definition, this is returned as `system`. example: system type: string description: description: An additional description for the alert definition. example: Alert for my PostgreSQL database type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' items: type: string type: array has_more_resources: description: Whether there are additional `entity_ids` associated with the alert for which the user doesn't have at least `read-only` access. example: false type: boolean id: description: __Filterable__ The unique identifier for the alert definition. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: High Memory Usage Plan Dedicated type: string x-akamai: labels: - Filterable x-linode-filterable: true rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: avg type: string dimension_filters: description: Dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string label: description: The name of the dimension filter. Used for display purposes. example: Node Type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array label: description: The name of the individual rule. This is used for display purposes in Akamai Cloud Manager. example: Memory Usage type: string metric: description: The metric to query. example: memory_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: eq type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 95 format: float type: number unit: description: The unit of the metric. This can be values like `percent` for percentage or `GB` for gigabyte. enum: - number - byte - second - percent - bit_per_second - millisecond - KB - MB - GB example: percent type: string type: object type: array type: object service_type: description: The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. example: dbaas type: string severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: 2 type: integer status: description: __Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`. enum: - enabled - disabled - in progress - failed example: enabled type: string x-akamai: labels: - Filterable x-linode-filterable: true trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: description: __Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account. enum: - user - system example: system type: string x-akamai: labels: - Filterable x-linode-filterable: true updated: description: When the alert definition was last updated. This is the same as `created` if the alert definition hasn't been updated. example: '2025-03-20 01:42:11' format: date-time type: string updated_by: description: For a `user` alert definition, this is the user on your account that last [updated](https://techdocs.akamai.com/linode-api/reference/put-alert-definition) it. For a `system` alert definition, this is returned as `system`. If it hasn't been updated, this value is the same as `created_by`. example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-definition-response.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/aclp-alert-definitions-response.yaml description: Returns a paginated list of alert definitions for the specified service type. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_only summary: List alert definitions for a service type tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: linode-cli alerts service-definitions-list dbaas title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: service-definitions-list x-linode-grant: read_only /{apiVersion}/monitor/services/{serviceType}/alert-definitions/{alertId}: parameters: - description: __Enum__ Call the `v4beta` URL for operations still only in beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4beta example: v4beta type: string x-akamai: file-path: parameters/api-version-v4beta-path.yaml - description: The Akamai Cloud Computing service being monitored. To see your currently supported services, run the [List supported service types](https://techdocs.akamai.com/linode-api/reference/get-monitor-services) operation and store the appropriate `service_type`. example: '{{serviceType}}' in: path name: serviceType required: true schema: example: dbaas type: string x-akamai: file-path: parameters/aclp-service-type.yaml - description: The unique identifier assigned to the alert definition. Run the [List alert definitions](https://techdocs.akamai.com/linode-api/reference/get-alert-definitions) operation and store the `id` for the applicable alert definition. example: '{{alertId}}' in: path name: alertId required: true schema: example: 457 type: integer x-akamai: file-path: parameters/aclp-alert-id.yaml x-akamai: file-path: paths/aclp-service-alert-definition.yaml path-info: /monitor/services/{serviceType}/alert-definitions/{alertId} x-linode-cli-command: alerts get: description: '__Beta__ Returns a specific alert definition. > 📘 > > This operation is beta. Call it using the `v4beta` path in its URL. > --- - __OAuth scopes__. ``` monitor:read_only ``` Learn more... - __CLI__. ``` linode-cli alerts definition-view dbaas 457 ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-alert-definition operationId: get-alert-definition responses: '200': content: application/json: example: alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: dedicated created: '2025-03-20T01:42:11' created_by: system description: Alert triggers when dedicated plan nodes consistently reach critical memory usage, risking application performance degradation. entity_ids: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' has_more_resources: false id: 10000 label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: system updated: '2025-03-20T01:42:11' updated_by: system schema: additionalProperties: false properties: alert_channels: description: The alert channels set up for use with this alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation to see all of the available channels. items: additionalProperties: false properties: id: description: The unique identifier for this alert channel on your account. example: 10000 type: integer label: description: The name of the channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string type: description: The type of notification used with the channel. For a `user` alert definition, only `email` is supported. enum: - email example: email type: string url: description: The URL for the channel that ends in the channel's `id`. example: /monitor/alert-channels/10000 format: url type: string type: object type: array class: description: The plan type for the Managed Database cluster, either `shared` or `dedicated`. This only applies to a `system` alert for a `service_type` of `dbaas` (Managed Databases). For `user` alerts for `dbaas`, this is returned as `null`. enum: - shared - dedicated example: dedicated type: - string - 'null' created: description: When the alert definition was created. example: '2025-03-20 01:42:11' format: date-time type: string created_by: description: For a `user` alert definition, this is the user on your account that [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type) it. For a `system` alert definition, this is returned as `system`. example: system type: string description: description: An additional description for the alert definition. example: Alert for my PostgreSQL database type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' items: type: string type: array has_more_resources: description: Whether there are additional `entity_ids` associated with the alert for which the user doesn't have at least `read-only` access. example: false type: boolean id: description: __Filterable__ The unique identifier for the alert definition. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: High Memory Usage Plan Dedicated type: string x-akamai: labels: - Filterable x-linode-filterable: true rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: avg type: string dimension_filters: description: Dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string label: description: The name of the dimension filter. Used for display purposes. example: Node Type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array label: description: The name of the individual rule. This is used for display purposes in Akamai Cloud Manager. example: Memory Usage type: string metric: description: The metric to query. example: memory_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: eq type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 95 format: float type: number unit: description: The unit of the metric. This can be values like `percent` for percentage or `GB` for gigabyte. enum: - number - byte - second - percent - bit_per_second - millisecond - KB - MB - GB example: percent type: string type: object type: array type: object service_type: description: The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. example: dbaas type: string severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: 2 type: integer status: description: __Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`. enum: - enabled - disabled - in progress - failed example: enabled type: string x-akamai: labels: - Filterable x-linode-filterable: true trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: description: __Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account. enum: - user - system example: system type: string x-akamai: labels: - Filterable x-linode-filterable: true updated: description: When the alert definition was last updated. This is the same as `created` if the alert definition hasn't been updated. example: '2025-03-20 01:42:11' format: date-time type: string updated_by: description: For a `user` alert definition, this is the user on your account that last [updated](https://techdocs.akamai.com/linode-api/reference/put-alert-definition) it. For a `system` alert definition, this is returned as `system`. If it hasn't been updated, this value is the same as `created_by`. example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-definition-response.yaml description: Returns the specified alert definition. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_only summary: Get an alert definition tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: linode-cli alerts definition-view dbaas 457 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: definition-view x-linode-grant: read_only put: description: '__Beta__ Update an existing alert definition. You need `read_only` access to the scope for the selected `serviceType`. Only include the objects in the request that you want to update. Leave any object out of the request to leave it set as is. > 📘 > > This operation is beta. Call it using the `v4beta` path in its URL. **User alert definitions** When updating an alert definition you''ve created, you can change the `status` to `enabled` or `disabled`. You can also modify the `label`, `description`, `severity`, `entity_ids`, `rule_criteria`, `trigger_conditions`, and `channel_ids` objects. If updating the `entity_ids`, `rule_criteria`, or `channel_ids` list objects, these points apply: - If you want to keep an existing item, you need to include it in the list. - If you want to remove an existing item, leave it out of the list. - To add a new item, include it in the list. - You can''t pass an empty list to remove all items. This doesn''t apply to the `entity_ids` or `dimension_filters` (in `rule_criteria`) list objects, because they are optional, while all other list objects are required. **System alert definitions** These are the default alert definitions offered by Akamai. You can only edit the `entity_ids` list object for these alerts. All of the points above regarding editing a list object apply here, too. > --- - __OAuth scopes__. ``` monitor:read_write ``` Learn more... - __CLI__. ``` linode-cli alerts definition-update dbaas 457 \ --status disabled \ --label Read-Write Channel (old) ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-alert-definition operationId: put-alert-definition requestBody: content: application/json: example: channel_ids: - 546 - 392 description: Alert for my PostgreSQL database. entity_ids: - '13116' - '13217' - '13331' label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: min dimension_filters: - dimension_label: node_type operator: eq value: primary label: CPU Usage metric: cpu_usage operator: gt threshold: 80 severity: 1 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 schema: additionalProperties: false properties: channel_ids: description: The identifiers for the alert channels to use for the alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation and store the `id` for the applicable channels. example: - 546 - 392 items: type: integer type: array description: description: An additional description for the alert definition. example: '{{description}}' type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. You also need `read_only` access to the [scope](https://techdocs.akamai.com/linode-api/reference/get-started#oauth-reference) for the `service_type` for each of the `entity_ids`. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '13116' - '13116' - '13331' items: type: string type: array label: description: The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: '{{label}}' type: string rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: min type: string dimension_filters: description: Individual objects that define dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array metric: description: The metric to query. example: cpu_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: gt type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 80 format: float type: number type: object type: array type: object severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: '{{severity}}' type: integer status: description: The current status of the alert. You can set this to `enabled` or `disabled`. enum: - enabled - disabled example: '{{status}}' type: string trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: object x-akamai: file-path: schemas/aclp-alert-definition-update.yaml required: true responses: '200': content: application/json: example: alert_channels: - id: 10000 label: Read-Write Channel type: alert-channels url: /monitor/alert-channels/10000 class: dedicated created: '2025-03-20T01:42:11' created_by: system description: Alert triggers when dedicated plan nodes consistently reach critical memory usage, risking application performance degradation. entity_ids: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' has_more_resources: false id: 10000 label: High Memory Usage Plan Dedicated rule_criteria: rules: - aggregate_function: avg dimension_filters: - dimension_label: node_type label: Node Type operator: eq value: primary label: Memory Usage metric: memory_usage operator: gt threshold: 95 unit: percent service_type: dbaas severity: 2 status: enabled trigger_conditions: criteria_condition: ALL evaluation_period_seconds: 300 polling_interval_seconds: 300 trigger_occurrences: 3 type: system updated: '2025-03-20T01:42:11' updated_by: system schema: additionalProperties: false properties: alert_channels: description: The alert channels set up for use with this alert. Run the [List alert channels](https://techdocs.akamai.com/linode-api/reference/get-alert-channels) operation to see all of the available channels. items: additionalProperties: false properties: id: description: The unique identifier for this alert channel on your account. example: 10000 type: integer label: description: The name of the channel, used to display it in Akamai Cloud Manager. example: Read-Write Channel type: string type: description: The type of notification used with the channel. For a `user` alert definition, only `email` is supported. enum: - email example: email type: string url: description: The URL for the channel that ends in the channel's `id`. example: /monitor/alert-channels/10000 format: url type: string type: object type: array class: description: The plan type for the Managed Database cluster, either `shared` or `dedicated`. This only applies to a `system` alert for a `service_type` of `dbaas` (Managed Databases). For `user` alerts for `dbaas`, this is returned as `null`. enum: - shared - dedicated example: dedicated type: - string - 'null' created: description: When the alert definition was created. example: '2025-03-20 01:42:11' format: date-time type: string created_by: description: For a `user` alert definition, this is the user on your account that [created](https://techdocs.akamai.com/linode-api/reference/post-alert-definition-for-service-type) it. For a `system` alert definition, this is returned as `system`. example: system type: string description: description: An additional description for the alert definition. example: Alert for my PostgreSQL database type: string entity_ids: description: 'The `id` for each individual entity from a `service_type`. Get this value by running the list operation for the appropriate entity. For example, if your entity is one of your PostgreSQL databases, run the [List PostgreSQL Managed Databases](https://techdocs.akamai.com/linode-api/reference/get-databases-postgre-sql-instances) operation and store the `id` for the appropriate database from the response. > 📘 > > The format `type` for an `entity_id` may vary, based on the Akamai Cloud `service_type`. For example, the `dbaas` service returns an integer value for an `id`, that you''d use for the `entity_id`. Other services may return a string for their `id`. With the Alerts operations, all of these formats are recognized as an `entity_id`, when you include them as a `string`.' example: - '126905' - '126906' - '137435' - '141496' - '190003' - '257625' - '257626' items: type: string type: array has_more_resources: description: Whether there are additional `entity_ids` associated with the alert for which the user doesn't have at least `read-only` access. example: false type: boolean id: description: __Filterable__ The unique identifier for the alert definition. example: 10000 type: integer x-akamai: labels: - Filterable x-linode-filterable: true label: description: __Filterable__ The name of the alert definition. This is used for display purposes in Akamai Cloud Manager. example: High Memory Usage Plan Dedicated type: string x-akamai: labels: - Filterable x-linode-filterable: true rule_criteria: additionalProperties: false description: Details for the rules required to trigger the alert. properties: rules: description: The individual rules that make up the alert definition. items: additionalProperties: false properties: aggregate_function: description: The aggregation function applied to the `metric`. Available values are `avg`, `sum`, `min`, and `max`. enum: - avg - sum - min - max example: avg type: string dimension_filters: description: Dimension filters for the rule. items: additionalProperties: false properties: dimension_label: description: The name of the dimension to be used in the filter. example: node_type type: string label: description: The name of the dimension filter. Used for display purposes. example: Node Type type: string operator: description: The operator to apply to the dimension filter. Available values are `eq` for equal, `neq` for not equal, `startswith`, and `endswith`. enum: - eq - neq - startswith - endswith example: eq type: string value: description: The value to compare the `dimension_label` against. example: primary type: string type: object type: array label: description: The name of the individual rule. This is used for display purposes in Akamai Cloud Manager. example: Memory Usage type: string metric: description: The metric to query. example: memory_usage type: string operator: description: The operator to apply to the metric. Available values are `eq` for equal, `gt` for greater than, `lt` for less than, `gte` for greater than or equal, and `lte` for less than or equal. enum: - eq - gt - lt - gte - lte example: eq type: string threshold: description: The predefined value or condition that triggers an alert when met or exceeded. For example, for `avg(cpu_usage) > 80`, the `threshold` is 80. example: 95 format: float type: number unit: description: The unit of the metric. This can be values like `percent` for percentage or `GB` for gigabyte. enum: - number - byte - second - percent - bit_per_second - millisecond - KB - MB - GB example: percent type: string type: object type: array type: object service_type: description: The identifier for the Akamai Cloud Computing service. Use this value to call out the service in other Monitor operations in the API. example: dbaas type: string severity: description: The severity of the alert. Supported values include `3` for info, `2` for low, `1` for medium, and `0` for severe. enum: - 0 - 1 - 2 - 3 example: 2 type: integer status: description: __Filterable__ The current status of the alert. This can be either `enabled`, `disabled`, `in progress`, or `failed`. enum: - enabled - disabled - in progress - failed example: enabled type: string x-akamai: labels: - Filterable x-linode-filterable: true trigger_conditions: additionalProperties: false description: The conditions that need to be met to send a notification for the alert. properties: criteria_condition: description: Signifies the logical operation applied when multiple metrics are set for an alert definition. For example, if you wanted to apply both `cpu_usage > 90` and `memory_usage > 80`, `ALL` is the `criteria_condition`. Currently, only `ALL` is supported. enum: - ALL example: ALL type: string evaluation_period_seconds: description: 'The time period over which data is collected before evaluating whether the alert definition''s `threshold` has been met or exceeded. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer polling_interval_seconds: description: 'The frequency at which the `metric` is checked for a change in state. For example, with `cpu_usage` set as your `metric` and this set to `300`, your `cpu_usage` is checked every 5 minutes for some change in its state. > 📘 > > During the beta, only a value of `300` seconds is supported.' example: 300 type: integer trigger_occurrences: description: The minimum number of consecutive `polling_interval_seconds` periods that the `threshold` needs to be breached to trigger the alert. example: 3 type: integer type: object type: description: __Filterable__ The type of alert. This can be either `user` for an alert specific to the current user, or `system` for one that applies to all users on your account. enum: - user - system example: system type: string x-akamai: labels: - Filterable x-linode-filterable: true updated: description: When the alert definition was last updated. This is the same as `created` if the alert definition hasn't been updated. example: '2025-03-20 01:42:11' format: date-time type: string updated_by: description: For a `user` alert definition, this is the user on your account that last [updated](https://techdocs.akamai.com/linode-api/reference/put-alert-definition) it. For a `system` alert definition, this is returned as `system`. If it hasn't been updated, this value is the same as `created_by`. example: system type: string type: object x-akamai: file-path: schemas/aclp-alert-definition-response.yaml description: The alert definition is updated. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_write summary: Update an alert definition tags: - Alerts x-akamai: status: BETA tabs: - syntax: monitor:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth - syntax: 'linode-cli alerts definition-update dbaas 457 \ --status disabled \ --label Read-Write Channel (old)' title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli x-linode-cli-action: definition-update x-linode-grant: read_write delete: description: '__Beta__ Delete a specific alert definition on your account. > 📘 > > - This operation is beta. Call it using the `v4beta` path in its URL. > > - You need `read_only` access to the scope for the target `serviceType`. > > - An alert definition with a `type` of `system` can''t be deleted. > --- - __CLI__. ``` linode-cli alerts definition-delete dbaas 123 ``` Learn more... - __OAuth scopes__. ``` monitor:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-alert-definition operationId: delete-alert-definition responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/empty.json description: Alert definition successfully deleted. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - monitor:read_write summary: Delete an alert definition tags: - Alerts x-akamai: status: BETA tabs: - syntax: linode-cli alerts definition-delete dbaas 123 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: monitor:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: definition-delete x-linode-grant: read_only components: securitySchemes: oauth: flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize scopes: account:read_only: Allows access to GET information about your account. account:read_write: Allows access to all endpoints related to your account. domains:read_only: Allows access to GET Domains on your account. domains:read_write: Allows access to all Domain endpoints. events:read_only: Allows access to GET your Events. events:read_write: Allows access to all endpoints related to your Events. firewall:read_only: Allows access to GET information about your Firewalls. firewall:read_write: Allows access to all Firewall endpoints. images:read_only: Allows access to GET your Images. images:read_write: Allows access to all endpoints related to your Images. ips:read_only: Allows access to GET your ips. ips:read_write: Allows access to all endpoints related to your ips. linodes:read_only: Allows access to GET Linodes on your account. linodes:read_write: Allow access to all endpoints related to your Linodes. lke:read_only: Allows access to GET LKE Clusters on your account. lke:read_write: Allows access to all endpoints related to LKE Clusters on your account. longview:read_only: Allows access to GET your Longview Clients. longview:read_write: Allows access to all endpoints related to your Longview Clients. monitor:read-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to Monitor (Akamai Cloud Pulse) data. nodebalancers:read_only: Allows access to GET NodeBalancers on your account. nodebalancers:read_write: Allows access to all NodeBalancer endpoints. object_storage:read_only: Allows access to GET information related to your Object Storage. object_storage:read_write: Allows access to all Object Storage endpoints. stackscripts:read_only: Allows access to GET your StackScripts. stackscripts:read_write: Allows access to all endpoints related to your StackScripts. volumes:read_only: Allows access to GET your Volumes. volumes:read_write: Allows access to all endpoints related to your Volumes. vpc:read_write: Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion. tokenUrl: https://login.linode.com/oauth/token type: oauth2 personalAccessToken: scheme: bearer type: http externalDocs: description: See documentation for Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference x-readme: samples-languages: - curl - python - node