--- title: "system.alarm.acknowledge" description: "Acknowledges any number of alarms, specified by their event ids." --- # system.alarm.acknowledge > Acknowledges any number of alarms, specified by their event ids. This function is used in **Python Scripting**. ## Description Acknowledges any number of alarms, specified by their event ids. The event id is generated for an alarm when it becomes active, and is used to identify a particular event from other events for the same source. The alarms will be acknowledged by the logged in user making the call. Additionally, acknowledgement notes may be included and will be stored along with the acknowledgement. This function uses different parameters based on the scope of the script calling it. Both versions are listed below. ## Client Permission Restrictions [Permission Type](projects\project-properties\project-properties.md#client---permissions): Alarm Management Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope. ## Syntax - Client Scripts `system.alarm.acknowledge(alarmIds, [notes])` ### Parameters Type | Parameter | Description ------- | ------- | ------- String[] | `alarmIds` | List of alarm event ids (uuids) to acknowledge. String | `notes` | Optional. Notes that will be stored on the acknowledged alarm events. ### Returns Nothing ### Scope Client ## Syntax - Gateway Scripts `system.alarm.acknowledge(alarmIds, [notes], username)` ### Parameters Type | Parameter | Description ------- | ------- | ------- String[] | `alarmIds` | List of alarm event ids (uuids) to acknowledge. String | `notes` | Optional. Notes that will be stored on the acknowledged alarm events. String | `username` | The user that acknowledged the alarm. NOTE that this parameter is only used when called from a gateway scoped script. This parameter should be omitted from any client-based scripts. ### Returns Nothing ### Scope Gateway ## Code Examples ```python title="Example #1" # This example shows the basic syntax for acknowledging an alarm from a client-based script system.alarm.acknowledge(['c27c06d8-698f-4814-af89-3c22944f58c5'],'Saw this alarm, did something about it.') ``` ```python title="Example #2" # This example shows the basic syntax for acknowledging an alarm from a gateway-based script system.alarm.acknowledge(['c27c06d8-698f-4814-af89-3c22944f58c5'],'Saw this alarm, did something about it.', 'admin') ``` ```python title="Example #3" # This code snippet could be used as a mouseReleased event handler on a Table component (not an Alarm Status Table component) # whose data was the return value of the system.alarm.queryStatus function. # It presents a right-click menu to acknowledge the currently selected alarms (for more than one, the table must be set to allow multiple selection). # This example does not ask for an ack message, and therefore might fail if the alarms we're attempting to acknowledge require notes. # Also, note that the system will ignore any alarms that have already been acknowledged. if event.button==3: rows = event.source.selectedRows data = event.source.data if len(rows)>0: uuids = [str(data.getValueAt(r,'EventId')) for r in rows] def ack(event, uuids=uuids): import system system.alarm.acknowledge(uuids, None) menu = system.gui.createPopupMenu({'Acknowledge':ack}) menu.show(event) ```