ThingsBoard Notifications API
Manage notification requests, rules, templates, and targets across email, SMS, Slack, MS Teams, mobile push, and web delivery channels. 24 endpoints.
Manage notification requests, rules, templates, and targets across email, SMS, Slack, MS Teams, mobile push, and web delivery channels. 24 endpoints.
# ThingsBoard ThingsBoard Notifications API
# Source: https://demo.thingsboard.io/v3/api-docs (Apache 2.0)
openapi: 3.1.0
info:
title: ThingsBoard Notifications API
description: "ThingsBoard Notifications API \u2014 subset of the ThingsBoard REST API (open-source IoT platform). Covers: Notification, Notification Rule, Notification Target, Notification Template."
version: 4.3.0.3DEMO
contact:
name: ThingsBoard team
url: https://thingsboard.io
email: info@thingsboard.io
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://demo.thingsboard.io
description: ThingsBoard Live Demo
- url: http://localhost:8080
description: Local ThingsBoard server
tags:
- name: notification-controller
description: Notification
- name: notification-rule-controller
description: Notification Rule
- name: notification-target-controller
description: Notification Target
- name: notification-template-controller
description: Notification Template
paths:
/api/notifications/read:
put:
tags:
- notification-controller
summary: Mark All Notifications as Read (markAllNotificationsAsRead)
description: 'Marks all unread notifications as read.
Available for any authorized user. '
operationId: markAllNotificationsAsRead
parameters:
- name: deliveryMethod
in: query
description: Delivery method
required: false
schema:
type: string
enum:
- WEB
- MOBILE_APP
responses:
'200':
description: OK
/api/notification/{id}/read:
put:
tags:
- notification-controller
summary: Mark Notification as Read (markNotificationAsRead)
description: 'Marks notification as read by its id.
Available for any authorized user. '
operationId: markNotificationAsRead
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/notification/template:
post:
tags:
- notification-template-controller
summary: Save Notification Template (saveNotificationTemplate)
description: "Creates or updates notification template.\n\nHere is an example of template to send notification via Web, SMS and Slack:\n```json\n{\n \"name\": \"Greetings\",\n \"notificationType\"\
: \"GENERAL\",\n \"configuration\": {\n \"deliveryMethodsTemplates\": {\n \"WEB\": {\n \"enabled\": true,\n \"subject\": \"Greetings\",\n \"body\": \"Hi there, ${recipientTitle}\"\
,\n \"additionalConfig\": {\n \"icon\": {\n \"enabled\": true,\n \"icon\": \"back_hand\",\n \"color\": \"#757575\"\n },\n \"actionButtonConfig\"\
: {\n \"enabled\": false\n }\n },\n \"method\": \"WEB\"\n },\n \"SMS\": {\n \"enabled\": true,\n \"body\": \"Hi there, ${recipientTitle}\"\
,\n \"method\": \"SMS\"\n },\n \"SLACK\": {\n \"enabled\": true,\n \"body\": \"Hi there, @${recipientTitle}\",\n \"method\": \"SLACK\"\n }\n }\n }\n\
}\n```\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: saveNotificationTemplate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplate'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplate'
/api/notification/target:
post:
tags:
- notification-target-controller
summary: Save Notification Target (saveNotificationTarget)
description: "Creates or updates notification target.\n\nAvailable `configuration` types are `PLATFORM_USERS` and `SLACK`.\nFor `PLATFORM_USERS` the `usersFilter` must be specified. For tenant, there\
\ are following users filter types available: `USER_LIST`, `CUSTOMER_USERS`, `TENANT_ADMINISTRATORS`, `ALL_USERS`, `ORIGINATOR_ENTITY_OWNER_USERS`, `AFFECTED_USER`.\nFor sysadmin: `TENANT_ADMINISTRATORS`,\
\ `AFFECTED_TENANT_ADMINISTRATORS`, `SYSTEM_ADMINISTRATORS`, `ALL_USERS`.\n\nHere is an example of tenant-level notification target to send notification to customer's users:\n```json\n{\n \"name\"\
: \"Users of Customer A\",\n \"configuration\": {\n \"type\": \"PLATFORM_USERS\",\n \"usersFilter\": {\n \"type\": \"CUSTOMER_USERS\",\n \"customerId\": \"32499a20-d785-11ed-a06c-21dd57dd88ca\"\
\n },\n \"description\": \"Users of Customer A\"\n }\n}\n```\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: saveNotificationTarget
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTarget'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTarget'
/api/notification/target/recipients:
post:
tags:
- notification-target-controller
summary: Get Recipients for Notification Target Config (getRecipientsForNotificationTargetConfig)
description: 'Returns the page of recipients for such notification target configuration.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getRecipientsForNotificationTargetConfig
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTarget'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataUser'
/api/notification/settings:
get:
tags:
- notification-controller
summary: Get Notification Settings (getNotificationSettings)
description: 'Retrieves notification settings for this tenant or sysadmin.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationSettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettings'
post:
tags:
- notification-controller
summary: Save Notification Settings (saveNotificationSettings)
description: "Saves notification settings for this tenant or sysadmin.\n`deliveryMethodsConfigs` of the settings must be specified.\n\nHere is an example of the notification settings with Slack configuration:\n\
```json\n{\n \"deliveryMethodsConfigs\": {\n \"SLACK\": {\n \"method\": \"SLACK\",\n \"botToken\": \"xoxb-....\"\n }\n }\n}\n```\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN'\
\ authority."
operationId: saveNotificationSettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationSettings'
/api/notification/settings/user:
get:
tags:
- notification-controller
operationId: getUserNotificationSettings
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationSettings'
post:
tags:
- notification-controller
operationId: saveUserNotificationSettings
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationSettings'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotificationSettings'
/api/notification/rule:
post:
tags:
- notification-rule-controller
summary: Save Notification Rule (saveNotificationRule)
description: "Creates or updates notification rule. \n\nMandatory properties are `name`, `templateId` (of a template with `notificationType` matching to rule's `triggerType`), `triggerType`, `triggerConfig`\
\ and `recipientConfig`. Additionally, you may specify rule `description` inside of `additionalConfig`.\n\nTrigger type of the rule cannot be changed. Available trigger types for tenant: `ENTITY_ACTION`,\
\ `ALARM`, `ALARM_COMMENT`, `ALARM_ASSIGNMENT`, `DEVICE_ACTIVITY`, `RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT`.\nFor sysadmin, there are following trigger types available: `ENTITIES_LIMIT`, `API_USAGE_LIMIT`,\
\ `NEW_PLATFORM_VERSION`.\n\nHere is an example of notification rule to send notification when a device, asset or customer is created or deleted:\n```json\n{\n \"name\": \"Entity action\",\n \"\
templateId\": {\n \"entityType\": \"NOTIFICATION_TEMPLATE\",\n \"id\": \"32117320-d785-11ed-a06c-21dd57dd88ca\"\n },\n \"triggerType\": \"ENTITY_ACTION\",\n \"triggerConfig\": {\n \"\
entityTypes\": [\n \"CUSTOMER\",\n \"DEVICE\",\n \"ASSET\"\n ],\n \"created\": true,\n \"updated\": false,\n \"deleted\": true,\n \"triggerType\": \"ENTITY_ACTION\"\
\n },\n \"recipientsConfig\": {\n \"targets\": [\n \"320f2930-d785-11ed-a06c-21dd57dd88ca\"\n ],\n \"triggerType\": \"ENTITY_ACTION\"\n },\n \"additionalConfig\": {\n \"description\"\
: \"Send notification to tenant admins or customer users when a device, asset or customer is created\"\n },\n \"templateName\": \"Entity action notification\",\n \"deliveryMethods\": [\n \"\
WEB\"\n ]\n}\n```\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: saveNotificationRule
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRule'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRule'
/api/notification/request:
post:
tags:
- notification-controller
summary: Create Notification Request (createNotificationRequest)
description: "Processes notification request.\nMandatory request properties are `targets` (list of targets ids to send notification to), and either `templateId` (existing notification template id)\
\ or `template` (to send notification without saving the template).\nOptionally, you can set `sendingDelayInSec` inside the `additionalConfig` field to schedule the notification.\n\nFor each enabled\
\ delivery method in the notification template, there must be a target in the `targets` list that supports this delivery method: if you chose `WEB`, `EMAIL` or `SMS` - there must be at least one\
\ target in `targets` of `PLATFORM_USERS` type.\nFor `SLACK` delivery method - you need to chose at least one `SLACK` notification target.\n\nNotification request object with `PROCESSING` status\
\ will be returned immediately, and the notification sending itself is done asynchronously. After all notifications are sent, the `status` of the request becomes `SENT`. Use `getNotificationRequestById`\
\ to see the notification request processing status and some sending stats. \n\nHere is an example of notification request to one target using saved template:\n```json\n{\n \"templateId\": {\n\
\ \"entityType\": \"NOTIFICATION_TEMPLATE\",\n \"id\": \"6dbc3670-e4dd-11ed-9401-dbcc5dff78be\"\n },\n \"targets\": [\n \"320e3ed0-d785-11ed-a06c-21dd57dd88ca\"\n ],\n \"additionalConfig\"\
: {\n \"sendingDelayInSec\": 0\n }\n}\n```\n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: createNotificationRequest
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRequest'
/api/notification/request/preview:
post:
tags:
- notification-controller
summary: Get Notification Request Preview (getNotificationRequestPreview)
description: 'Returns preview for notification request.
`processedTemplates` shows how the notifications for each delivery method will look like for the first recipient of the corresponding notification target.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationRequestPreview
parameters:
- name: recipientsPreviewSize
in: query
description: Amount of the recipients to show in preview
required: false
schema:
type: integer
format: int32
default: 20
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRequestPreview'
/api/notification/entitiesLimitIncreaseRequest/{entityType}:
post:
tags:
- notification-controller
summary: Send Entity Limit Increase Request Notification to System Administrators (sendEntitiesLimitIncreaseRequest)
description: 'Send entity limit increase request notification by Tenant Administrator to System administrators.
Available for users with ''TENANT_ADMIN'' authority.'
operationId: sendEntitiesLimitIncreaseRequest
parameters:
- name: entityType
in: path
description: Entity type
required: true
schema:
type: string
enum:
- DEVICE
- ASSET
- CUSTOMER
- USER
- DASHBOARD
- RULE_CHAIN
- EDGE
responses:
'200':
description: OK
/api/notifications:
get:
tags:
- notification-controller
summary: Get Notifications (getNotifications)
description: "Returns the page of notifications for current user.\n\nYou can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result\
\ set using pagination. See response schema for more details. \n\nAvailable for any authorized user. \n\n**WebSocket API**:\n\nThere are 2 types of subscriptions: one for unread notifications count,\
\ another for unread notifications themselves.\n\nThe URI for opening WS session for notifications: `/api/ws/plugins/notifications`.\n\nSubscription command for unread notifications count:\n```\n\
{\n \"unreadCountSubCmd\": {\n \"cmdId\": 1234\n }\n}\n```\nTo subscribe for latest unread notifications:\n```\n{\n \"unreadSubCmd\": {\n \"cmdId\": 1234,\n \"limit\": 10\n }\n}\n```\n\
To unsubscribe from any subscription:\n```\n{\n \"unsubCmd\": {\n \"cmdId\": 1234\n }\n}\n```\nTo mark certain notifications as read, use following command:\n```\n{\n \"markAsReadCmd\": {\n\
\ \"cmdId\": 1234,\n \"notifications\": [\n \"6f860330-7fc2-11ed-b855-7dd3b7d2faa9\",\n \"5b6dfee0-8d0d-11ed-b61f-35a57b03dade\"\n ]\n }\n}\n\n```\nTo mark all notifications\
\ as read:\n```\n{\n \"markAllAsReadCmd\": {\n \"cmdId\": 1234\n }\n}\n```\n\n\nUpdate structure for unread **notifications count subscription**:\n```\n{\n \"cmdId\": 1234,\n \"totalUnreadCount\"\
: 55\n}\n```\nFor **notifications subscription**:\n- full update of latest unread notifications:\n```\n{\n \"cmdId\": 1234,\n \"notifications\": [\n {\n \"id\": {\n \"entityType\"\
: \"NOTIFICATION\",\n \"id\": \"6f860330-7fc2-11ed-b855-7dd3b7d2faa9\"\n },\n ...\n }\n ],\n \"totalUnreadCount\": 1\n}\n```\n- when new notification arrives or shown notification\
\ is updated:\n```\n{\n \"cmdId\": 1234,\n \"update\": {\n \"id\": {\n \"entityType\": \"NOTIFICATION\",\n \"id\": \"6f860330-7fc2-11ed-b855-7dd3b7d2faa9\"\n },\n # updated\
\ notification info, text, subject etc.\n ...\n },\n \"totalUnreadCount\": 2\n}\n```\n- when unread notifications count changes:\n```\n{\n \"cmdId\": 1234,\n \"totalUnreadCount\": 5\n}\n\
```"
operationId: getNotifications
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: textSearch
in: query
description: Case-insensitive 'substring' filter based on notification subject or text
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
type: string
- name: unreadOnly
in: query
description: To search for unread notifications only
required: false
schema:
type: boolean
default: false
- name: deliveryMethod
in: query
description: Delivery method
required: false
schema:
type: string
enum:
- WEB
- MOBILE_APP
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataNotification'
/api/notifications/unread/count:
get:
tags:
- notification-controller
summary: Get Unread Notifications Count (getUnreadNotificationsCount)
description: 'Returns unread notifications count for chosen delivery method.
Available for any authorized user. '
operationId: getUnreadNotificationsCount
parameters:
- name: deliveryMethod
in: query
description: Delivery method
required: false
schema:
type: string
enum:
- WEB
- MOBILE_APP
responses:
'200':
description: OK
content:
application/json:
schema:
type: integer
format: int32
/api/notification/templates:
get:
tags:
- notification-template-controller
summary: Get Notification Templates (getNotificationTemplates)
description: "Returns the page of notification templates owned by sysadmin or tenant.\n\nYou can specify parameters to filter the results. The result is wrapped with PageData object that allows you\
\ to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: getNotificationTemplates
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: textSearch
in: query
description: Case-insensitive 'substring' filter based on template's name and notification type
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
type: string
- name: notificationTypes
in: query
description: Comma-separated list of notification types to filter the templates
required: false
schema:
type: array
items:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataNotificationTemplate'
/api/notification/template/{id}:
get:
tags:
- notification-template-controller
summary: Get Notification Template by Id (getNotificationTemplateById)
description: 'Fetches notification template by id.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationTemplateById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplate'
delete:
tags:
- notification-template-controller
summary: Delete Notification Template by Id (deleteNotificationTemplateById
description: 'Deletes notification template by its id.
This template cannot be referenced by existing scheduled notification requests or any notification rules.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: deleteNotificationTemplateById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/notification/targets:
get:
tags:
- notification-target-controller
summary: Get Notification Targets by Ids (getNotificationTargetsByIds)
description: 'Returns the list of notification targets found by provided ids.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationTargets
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: textSearch
in: query
description: Case-insensitive 'substring' filed based on the target's name
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
type: string
- name: notificationType
in: query
required: false
schema:
type: string
enum:
- GENERAL
- ALARM
- DEVICE_ACTIVITY
- ENTITY_ACTION
- ALARM_COMMENT
- RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT
- ALARM_ASSIGNMENT
- NEW_PLATFORM_VERSION
- ENTITIES_LIMIT
- ENTITIES_LIMIT_INCREASE_REQUEST
- API_USAGE_LIMIT
- RULE_NODE
- RATE_LIMITS
- EDGE_CONNECTION
- EDGE_COMMUNICATION_FAILURE
- TASK_PROCESSING_FAILURE
- RESOURCES_SHORTAGE
- name: ids
in: query
description: Comma-separated list of uuids representing targets ids
required: true
schema:
type: array
items:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- type: array
items:
$ref: '#/components/schemas/NotificationTarget'
- $ref: '#/components/schemas/PageDataNotificationTarget'
/api/notification/target/{id}:
get:
tags:
- notification-target-controller
summary: Get Notification Target by Id (getNotificationTargetById)
description: 'Fetches notification target by id.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationTargetById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTarget'
delete:
tags:
- notification-target-controller
summary: Delete Notification Target by Id (deleteNotificationTargetById)
description: 'Deletes notification target by its id.
This target cannot be referenced by existing scheduled notification requests or any notification rules.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: deleteNotificationTargetById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/notification/slack/conversations:
get:
tags:
- notification-template-controller
summary: List Slack Conversations (listSlackConversations)
description: 'List available Slack conversations by type.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: listSlackConversations
parameters:
- name: type
in: query
required: true
schema:
type: string
enum:
- DIRECT
- PUBLIC_CHANNEL
- PRIVATE_CHANNEL
- name: token
in: query
description: Slack bot token. If absent - system Slack settings will be used
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SlackConversation'
/api/notification/rules:
get:
tags:
- notification-rule-controller
summary: Get Notification Rules (getNotificationRules)
description: "Returns the page of notification rules.\n\nYou can specify parameters to filter the results. The result is wrapped with PageData object that allows you to iterate over result set using\
\ pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: getNotificationRules
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: textSearch
in: query
description: Case-insensitive 'substring' filter based on rule's name
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataNotificationRuleInfo'
/api/notification/rule/{id}:
get:
tags:
- notification-rule-controller
summary: Get Notification Rule by Id (getNotificationRuleById)
description: 'Fetches notification rule info by rule''s id.
In addition to regular notification rule fields, there are `templateName` and `deliveryMethods` in the response.
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: getNotificationRuleById
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationRuleInfo'
delete:
tags:
- notification-rule-controller
summary: Delete Notification Rule (deleteNotificationRule)
description: 'Deletes notification rule by id.
Cancels all related scheduled notification requests (e.g. due to escalation table)
Available for users with ''SYS_ADMIN'' or ''TENANT_ADMIN'' authority.'
operationId: deleteNotificationRule
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/notification/requests:
get:
tags:
- notification-controller
summary: Get Notification Requests (getNotificationRequests)
description: "Returns the page of notification requests submitted by users of this tenant or sysadmins.\n\nYou can specify parameters to filter the results. The result is wrapped with PageData object\
\ that allows you to iterate over result set using pagination. See response schema for more details. \n\nAvailable for users with 'SYS_ADMIN' or 'TENANT_ADMIN' authority."
operationId: getNotificationRequests
parameters:
- name: pageSize
in: query
description: Maximum amount of entities in a one page
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Sequence number of page starting from 0
required: true
schema:
type: integer
format: int32
- name: textSearch
in: query
description: Case-insensitive 'substring' filed based on the used template name
required: false
schema:
type: string
- name: sortProperty
in: query
description: Property of entity to sort by
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order. ASC (ASCENDING) or DESC (DESCENDING)
required: false
schema:
type: string
responses:
'200':
description: OK
content:
ap
# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/openapi/thingsboard-notifications-openapi.yml