Skip to main content

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 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())

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