curl --request POST \
--url https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration \
--header 'Content-Type: application/json' \
--header 'x-auth-apikey: <api-key>' \
--header 'x-auth-scheme: <x-auth-scheme>' \
--data '
{
"displayName": "<string>",
"doorInfoMap": {},
"rhombusToken": "<string>"
}
'import requests
url = "https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration"
payload = {
"displayName": "<string>",
"doorInfoMap": {},
"rhombusToken": "<string>"
}
headers = {
"x-auth-scheme": "<x-auth-scheme>",
"x-auth-apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-auth-scheme': '<x-auth-scheme>',
'x-auth-apikey': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({displayName: '<string>', doorInfoMap: {}, rhombusToken: '<string>'})
};
fetch('https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration")
.header("x-auth-scheme", "<x-auth-scheme>")
.header("x-auth-apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"<string>\",\n \"doorInfoMap\": {},\n \"rhombusToken\": \"<string>\"\n}")
.asString();{
"error": true,
"errorMsg": "<string>",
"misconfiguredDoors": [
"<string>"
],
"presharedSecret": "<string>",
"rhombusToken": "<string>",
"warningMsg": "<string>",
"webhookUrl": "<string>"
}Create or update the Honeywell OnGuard integration
Idempotent activation/update endpoint called by the OnGuard side from its setup tool. Generates the webhook token and pre-shared HMAC secret on first call; preserves both on subsequent calls so the deployed DLL keeps working as the door mapping changes. The request owns the door mapping; behavior flags (face recognition, clip saving, etc.) are managed separately from the Rhombus console.
curl --request POST \
--url https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration \
--header 'Content-Type: application/json' \
--header 'x-auth-apikey: <api-key>' \
--header 'x-auth-scheme: <x-auth-scheme>' \
--data '
{
"displayName": "<string>",
"doorInfoMap": {},
"rhombusToken": "<string>"
}
'import requests
url = "https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration"
payload = {
"displayName": "<string>",
"doorInfoMap": {},
"rhombusToken": "<string>"
}
headers = {
"x-auth-scheme": "<x-auth-scheme>",
"x-auth-apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-auth-scheme': '<x-auth-scheme>',
'x-auth-apikey': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({displayName: '<string>', doorInfoMap: {}, rhombusToken: '<string>'})
};
fetch('https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api2.rhombussystems.com/api/integrations/accessControl/createOrUpdateHoneywellOnGuardIntegration")
.header("x-auth-scheme", "<x-auth-scheme>")
.header("x-auth-apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"<string>\",\n \"doorInfoMap\": {},\n \"rhombusToken\": \"<string>\"\n}")
.asString();{
"error": true,
"errorMsg": "<string>",
"misconfiguredDoors": [
"<string>"
],
"presharedSecret": "<string>",
"rhombusToken": "<string>",
"warningMsg": "<string>",
"webhookUrl": "<string>"
}Authorizations
Your Rhombus API key. Must be accompanied by the x-auth-scheme header set to api-token (or partner-api-token for partner endpoints).
Headers
Authentication scheme identifier. Use api-token for standard API key authentication, partner-api-token for partner API key authentication. Must be paired with the x-auth-apikey header containing your API key.
api-token, api, partner-api-token, partner-api Body
Idempotent create-or-update of one OnGuard deployment for the calling org. An org can have multiple deployments connected at the same time (separate panels, MSP tenants, etc.) — each deployment is identified by its own rhombusToken. On first activation for a deployment, omit rhombusToken; the server generates one and returns it in the response. On subsequent calls, send the previously-returned rhombusToken to update the same deployment's door mapping in place. Map keys are the OnGuard door identifiers; values follow the standard Rhombus badge-integration door info shape.
Response
OK
Result of activating or updating the Honeywell OnGuard integration. Returns the webhook URL, token, and pre-shared secret to configure on the OnGuard side. Token and secret are stable across re-calls so the deployed DLL keeps working when the door mapping changes.