Overview
Rhombus alarm monitoring provides centralized security management for your locations. Through the API, you can enable or disable monitoring per location, respond to threat cases in real time, manage keypad PINs, and retrieve policy alerts. This is especially useful for building custom security dashboards, automating alarm response workflows, or integrating Rhombus alarms into a third-party monitoring platform.
When monitoring is enabled for a location, Rhombus cameras and sensors detect security events and generate threat cases. Your application can then retrieve, escalate, dismiss, or cancel those threat cases programmatically.
Prerequisites
Before you begin, make sure you have:
A Rhombus API key with alarm monitoring permissions (generated in the Rhombus Console under Settings > API)
An alarm monitoring license active on your organization
At least one configured location with cameras or sensors enrolled in alarm monitoring
Check Monitoring Status
Use the org-wide status endpoint to see which locations have monitoring enabled, or query a specific location directly.
Organization-Wide Status
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/orgStatus" ,
headers = headers,
json = {}
)
print (response.json())
Location-Specific Status
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/locationStatus" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID"
}
)
print (response.json())
You can also retrieve the full alarm monitoring settings for a location, including armed state and configured schedules:
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/getAlertMonitoringSettingsForLocation" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID"
}
)
print (response.json())
Enable and Disable Monitoring
Toggle alarm monitoring on or off for a specific location. When you enable monitoring, the system begins watching for security events at that location. When you disable it, threat case generation pauses.
Enable Monitoring
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/enableMonitoringForLocation" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID"
}
)
print (response.json())
Disable Monitoring
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/disableMonitoringForLocation" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID"
}
)
print (response.json())
You can automate monitoring schedules by enabling and disabling monitoring at specific times using a cron job or scheduler in your application.
Manage Threat Cases
Threat cases represent detected security events that require a response. When a camera or sensor detects suspicious activity at a monitored location, the system creates a threat case. You can then retrieve, escalate, dismiss, or cancel these cases through the API.
Get Threat Cases
Retrieve threat cases within a time range. Use pagination parameters to handle large result sets.
import requests
import time
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
# Get threat cases from the last 24 hours
now_ms = int (time.time() * 1000 )
one_day_ago_ms = now_ms - ( 24 * 60 * 60 * 1000 )
response = requests.post(
"https://api2.rhombussystems.com/api/event/getAlertMonitoringThreatCases" ,
headers = headers,
json = {
"startTimestampMs" : one_day_ago_ms,
"endTimestampMs" : now_ms
}
)
data = response.json()
for case in data.get( "threatCases" , []):
print ( f "Threat Case: { case[ 'threatCaseId' ] } - Status: { case[ 'status' ] } " )
Respond to Threat Cases
When a threat case is active, you have three response options depending on the situation.
Escalate to Alarm
Dismiss
Cancel
Escalate a threat case to a full alarm when the threat is confirmed and requires immediate response from security or law enforcement. import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/escalateThreatCaseToAlarm" ,
headers = headers,
json = {
"threatCaseId" : "YOUR_THREAT_CASE_ID"
}
)
print (response.json())
Dismiss a threat case when you have reviewed it and determined it does not require action (for example, a false positive). import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/dismissThreatCase" ,
headers = headers,
json = {
"threatCaseId" : "YOUR_THREAT_CASE_ID"
}
)
print (response.json())
Cancel a threat case to stop it from progressing further. Use this when the situation has been resolved before escalation is needed. import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/cancelThreatCase" ,
headers = headers,
json = {
"threatCaseId" : "YOUR_THREAT_CASE_ID"
}
)
print (response.json())
Manage Location PINs
PINs allow users to arm and disarm alarm monitoring at a location using a Rhombus keypad. You can create and delete PINs for each location through the API.
Create a PIN
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/createPinForLocation" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID" ,
"pin" : "4829" ,
"name" : "Front Desk Staff"
}
)
print (response.json())
Delete a PIN
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/alertmonitoring/deletePinForLocation" ,
headers = headers,
json = {
"locationUuid" : "YOUR_LOCATION_UUID" ,
"pinUuid" : "YOUR_PIN_UUID"
}
)
print (response.json())
Deleting a PIN takes effect immediately. Make sure the PIN is no longer needed before removing it, as users relying on that PIN will lose the ability to arm or disarm the system at the keypad.
Work with Policy Alerts
Policy alerts are triggered when configured detection policies (such as motion detection or person detection) fire at monitored locations. Use these endpoints to retrieve recent alerts and dismiss them after review.
Get Policy Alerts
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/event/getPolicyAlerts" ,
headers = headers,
json = {}
)
data = response.json()
for alert in data.get( "policyAlerts" , []):
print ( f "Alert: { alert[ 'policyAlertUuid' ] } - Type: { alert.get( 'alertType' , 'N/A' ) } " )
Dismiss a Policy Alert
import requests
headers = {
"x-auth-scheme" : "api-token" ,
"x-auth-apikey" : "YOUR_API_KEY" ,
"Content-Type" : "application/json"
}
response = requests.post(
"https://api2.rhombussystems.com/api/event/dismissPolicyAlertV2" ,
headers = headers,
json = {
"policyAlertUuid" : "YOUR_POLICY_ALERT_UUID"
}
)
print (response.json())
Next Steps
Webhook Notifications Receive real-time notifications when alarm events occur so your application can respond immediately
API Reference Explore the full API reference for complete request and response schemas for all alarm monitoring endpoints