Alarm Verifications API
Handle alarm verification responses and actions
Overview
The Alarm Verifications API allows you to respond to alarm verification requests from the CHeKT system. When an alarm is triggered, the system may request verification from site contacts before dispatching emergency services.
Verification Flow
Alarm verifications are created by the CHeKT system when an alarm is triggered. Partners use this API to submit verification responses from contacts.
Verification Actions
Two actions are available for alarm verification:
| Action | Description |
|---|---|
dispatch | Confirm the alarm is real - dispatch emergency services |
disregard | Alarm is false - do not dispatch emergency services |
Endpoints
Update Alarm Verification
Submit a verification response for an alarm.
Endpoint: PATCH /partner/v1/dealers/{dealerId}/sites/{siteId}/alarm-verifications/{verificationId}
Authentication: OAuth 2.0 Client Credentials Grant
Verification responses must be submitted promptly. Delayed responses may result in automatic dispatch or alarm cancellation.
Request
Path Parameters:
dealerId(string, required): The dealer ID from CHeKTsiteId(string, required): The site ID from CHeKTverificationId(number, required): The verification ID from CHeKT alarm notification
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Body:
{
"verification_id": "550e8400-e29b-41d4-a716-446655440000",
"contact_id": 67890,
"action": "dispatch",
"responded_at": "2023-10-01T12:00:00Z"
}
Parameters:
verification_id(string, required): UUID assigned by CHeKT when alarm verification was createdcontact_id(number, required): CHeKT ID of the contact who respondedaction(string, required): Verification action (dispatchordisregard)responded_at(string, required): ISO 8601 timestamp when the action was taken
Response (200 OK)
{
"id": 1,
"verification_id": "550e8400-e29b-41d4-a716-446655440000",
"contact_id": 67890,
"action": "dispatch",
"responded_at": "2023-10-01T12:00:00Z"
}
Response Fields:
id(number): Unique identifier for the alarm verification responseverification_id(string): UUID of the verification requestcontact_id(number): CHeKT contact ID who respondedaction(string): Verification action takenresponded_at(string): Timestamp of the response (ISO 8601 format)
Verification Process
How alarm verification works:
- Alarm Triggered: A device at the site triggers an alarm
- Verification Created: CHeKT creates a verification request with a unique
verification_id - Contact Notified: Site contacts receive notification via your system or CHeKT
- Contact Responds: Contact chooses to dispatch or disregard
- Response Submitted: Your system calls this API with the contact's decision
- Action Taken: CHeKT processes the response and takes appropriate action
Error Responses
| Status Code | Description | Solution |
|---|---|---|
400 | Bad Request - Invalid action or parameters | Check action is "dispatch" or "disregard" |
401 | Unauthorized - Invalid or expired token | Refresh your access token |
403 | Forbidden - Access denied | Verify your permissions |
404 | Not Found - Verification, contact, site, or dealer not found | Check all IDs |
Code Examples
cURL
# Submit verification response
curl -X PATCH https://api.chekt.com/partner/v1/dealers/12345/sites/1/alarm-verifications/1 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-partner-trace-id: 550e8400-e29b-41d4-a716-123456789000" \
-d '{
"verification_id": "550e8400-e29b-41d4-a716-446655440000",
"contact_id": 67890,
"action": "dispatch",
"responded_at": "2023-10-01T12:00:00Z"
}'
JavaScript
// Submit verification response
const response = await fetch(
"https://api.chekt.com/partner/v1/dealers/12345/sites/1/alarm-verifications/1",
{
method: "PATCH",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${accessToken}`,
"x-partner-trace-id": "550e8400-e29b-41d4-a716-123456789000"
},
body: JSON.stringify({
verification_id: "550e8400-e29b-41d4-a716-446655440000",
contact_id: 67890,
action: "dispatch",
responded_at: new Date().toISOString()
})
}
);
const result = await response.json();
console.log("Verification response recorded:", result);
Python
import requests
from datetime import datetime
# Submit verification response
response = requests.patch(
"https://api.chekt.com/partner/v1/dealers/12345/sites/1/alarm-verifications/1",
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token}",
"x-partner-trace-id": "550e8400-e29b-41d4-a716-123456789000"
},
json={
"verification_id": "550e8400-e29b-41d4-a716-446655440000",
"contact_id": 67890,
"action": "dispatch",
"responded_at": datetime.utcnow().isoformat() + "Z"
}
)
result = response.json()
print("Verification response recorded:", result)
Best Practices
- Respond to verification requests within 2 minutes
- Validate contact_id before submission
- Use accurate responded_at timestamps
- Log all verification responses for audit trails
- Implement timeout handling for unresponsive contacts
- Test both dispatch and disregard workflows
Response Time Guidelines
| Response Time | Recommendation |
|---|---|
| 0-2 minutes | Ideal - Contact responded promptly |
| 2-5 minutes | Acceptable - Within normal range |
| 5-10 minutes | Late - May trigger automatic dispatch |
| 10+ minutes | Too late - Likely already dispatched or cancelled |
Integration Notes
Receiving Verification Requests
Verification requests are sent to your system via:
- Webhooks: Real-time push notifications (recommended)
- Polling: Periodic checking of verification status
Configure webhooks for real-time alarm verification. See the Webhook Setup Guide for details.
Testing
Test your verification workflow with:
- Create a test site with test contacts
- Trigger a test alarm
- Submit verification responses
- Verify proper handling in your system