---
title: "Get All Alarms (getAllAlarms)"
method: GET
path: "/api/alarms"
tags: ["alarm-controller"]
---

# Get All Alarms (getAllAlarms)

`GET /api/alarms`

Returns a page of alarms that belongs to the current user owner. If the user has the authority of 'Tenant Administrator', the server returns alarms that belongs to the tenant of current user. If the user has the authority of 'Customer User', the server returns alarms that belongs to the customer of current user. Specifying both parameters 'searchStatus' and 'status' at the same time will cause an error. You 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. 

Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority.

## Query parameters

- `searchStatus` 'ANY' | 'ACTIVE' | 'CLEARED' | 'ACK' | 'UNACK'
- `status` 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK'
- `assigneeId` string
- `pageSize` integer, required
- `page` integer, required
- `textSearch` string
- `sortProperty` 'createdTime' | 'startTs' | 'endTs' | 'type' | 'ackTs' | 'clearTs' | 'severity' | 'status'
- `sortOrder` 'ASC' | 'DESC'
- `startTime` integer
- `endTime` integer
- `fetchOriginator` boolean

## Response `200`

OK

- PageDataAlarmInfo
  - `data` AlarmInfo[] — Array of the entities
    - `id` AlarmId
      - `id` string, uuid, required — ID of the entity, time-based UUID v1
      - `entityType` 'ALARM', required — string
    - `createdTime` integer — Timestamp of the alarm creation, in milliseconds
    - `tenantId` TenantId
      - `id` string, uuid, required — ID of the entity, time-based UUID v1
      - `entityType` 'TENANT', required — string
    - `customerId` CustomerId
      - `id` string, uuid, required — ID of the entity, time-based UUID v1
      - `entityType` 'CUSTOMER', required — string
    - `type` string, required — representing type of the Alarm
    - `originator` EntityId, required
      - `id` string, uuid, required — ID of the entity, time-based UUID v1
      - `entityType` 'TENANT' | 'CUSTOMER' | 'USER' | 'DASHBOARD' | 'ASSET' | 'DEVICE' | 'ALARM' | 'RULE_CHAIN' | 'RULE_NODE' | 'ENTITY_VIEW' | 'WIDGETS_BUNDLE' | 'WIDGET_TYPE' | 'TENANT_PROFILE' | 'DEVICE_PROFILE' | 'ASSET_PROFILE' | 'API_USAGE_STATE' | 'TB_RESOURCE' | 'OTA_PACKAGE' | 'EDGE' | 'RPC' | 'QUEUE' | 'NOTIFICATION_TARGET' | 'NOTIFICATION_TEMPLATE' | 'NOTIFICATION_REQUEST' | 'NOTIFICATION' | 'NOTIFICATION_RULE' | 'QUEUE_STATS' | 'OAUTH2_CLIENT' | 'DOMAIN' | 'MOBILE_APP' | 'MOBILE_APP_BUNDLE' | 'CALCULATED_FIELD' | 'JOB' | 'ADMIN_SETTINGS' | 'AI_MODEL' | 'API_KEY', required
    - `severity` 'CRITICAL' | 'MAJOR' | 'MINOR' | 'WARNING' | 'INDETERMINATE', required — Alarm severity
    - `acknowledged` boolean, required — Acknowledged
    - `cleared` boolean, required — Cleared
    - `assigneeId` UserId
      - `id` string, uuid, required — ID of the entity, time-based UUID v1
      - `entityType` 'USER', required — string
    - `startTs` integer — Timestamp of the alarm start time, in milliseconds
    - `endTs` integer — Timestamp of the alarm end time(last time update), in milliseconds
    - `ackTs` integer — Timestamp of the alarm acknowledgement, in milliseconds
    - `clearTs` integer — Timestamp of the alarm clearing, in milliseconds
    - `assignTs` integer — Timestamp of the alarm assignment, in milliseconds
    - `propagate` boolean — Propagation flag to specify if alarm should be propagated to parent entities of alarm originator
    - `propagateToOwner` boolean — Propagation flag to specify if alarm should be propagated to the owner (tenant or customer) of alarm originator
    - `propagateToTenant` boolean — Propagation flag to specify if alarm should be propagated to the tenant entity
    - `propagateRelationTypes` string[] — JSON array of relation types that should be used for propagation. By default, 'propagateRelationTypes' array is empty which means that the alarm will be propagated based on any relation type to parent entities. This parameter should be used only in case when 'propagate' parameter is set to true, otherwise, 'propagateRelationTypes' array will be ignored.
    - `originatorName` string — Alarm originator name
    - `originatorLabel` string — Alarm originator label
    - `originatorDisplayName` string — Originator display name
    - `assignee` AlarmAssignee
      - `id` UserId
        - `id` string, uuid, required — ID of the entity, time-based UUID v1
        - `entityType` 'USER', required — string
      - `firstName` string
      - `lastName` string
      - `email` string
    - `name` string, required — representing type of the Alarm
    - `status` 'ACTIVE_UNACK' | 'ACTIVE_ACK' | 'CLEARED_UNACK' | 'CLEARED_ACK', required — status of the Alarm
    - `details` unknown
  - `totalPages` integer — Total number of available pages. Calculated based on the 'pageSize' request parameter and total number of entities that match search criteria
  - `totalElements` integer — Total number of elements in all available pages
  - `hasNext` boolean — 'false' value indicates the end of the result set

---

[API](https://skmtc.net/thingsboard/apis/thingsboard-rest-api.md) · [All operations](https://skmtc.net/thingsboard/apis/thingsboard-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thingsboard/thingsboard-rest-api/revisions/40169ccdec5c/schema)
