Monitoring Stations API
Configure and manage monitoring stations for alarm signal reception
Overview
The Monitoring Stations API allows you to create and manage monitoring stations. Monitoring stations are central facilities that receive and process alarm signals from security systems at customer sites.
Use Case
Monitoring stations handle incoming phone or signal lines from security devices and route them to appropriate response teams.
Endpoints
Create a Monitoring Station
Create a new monitoring station for a dealer.
Endpoint: POST /partner/v1/dealers/{dealerId}/monitoring-stations
Authentication: OAuth 2.0 Client Credentials Grant
Request
Path Parameters:
dealerId(number, required): The dealer ID from CHeKT
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Body:
{
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH",
"linecard": "12345"
}
Parameters:
external_monitoring_station_id(string, required): Unique identifier assigned by your systemname(string, required): Name of the monitoring stationprefix(string, optional): Identifier added before account number for classificationlinecard(string, optional): Hardware module handling specific incoming phone or signal lines
Response (201 Created)
{
"monitoring_station_id": 1,
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH",
"linecard": "12345",
"created_at": "2025-01-01T00:00:00.000Z"
}
Response Fields:
monitoring_station_id(number): Unique identifier assigned by CHeKTexternal_monitoring_station_id(string): Your system's identifiername(string): Monitoring station nameprefix(string): Account number prefixlinecard(string): Linecard identifiercreated_at(string): Creation timestamp (ISO format)
List All Monitoring Stations
Retrieve all monitoring stations for a specific dealer.
Endpoint: GET /partner/v1/dealers/{dealerId}/monitoring-stations
Authentication: OAuth 2.0 Client Credentials Grant
Request
Path Parameters:
dealerId(number, required): The dealer ID from CHeKT
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Response (200 OK)
[
{
"monitoring_station_id": 1,
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH",
"linecard": "12345",
"created_at": "2025-01-01T00:00:00.000Z"
}
]
Get a Specific Monitoring Station
Retrieve detailed information about a single monitoring station.
Endpoint: GET /partner/v1/dealers/{dealerId}/monitoring-stations/{monitoringStationId}
Authentication: OAuth 2.0 Client Credentials Grant
Request
Path Parameters:
dealerId(number, required): The dealer ID from CHeKTmonitoringStationId(number, required): The monitoring station ID from CHeKT
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Response (200 OK)
{
"monitoring_station_id": 1,
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH",
"linecard": "12345",
"created_at": "2025-01-01T00:00:00.000Z"
}
Update a Monitoring Station
Update monitoring station details.
Endpoint: PUT /partner/v1/dealers/{dealerId}/monitoring-stations/{monitoringStationId}
Authentication: OAuth 2.0 Client Credentials Grant
Request
Path Parameters:
dealerId(number, required): The dealer ID from CHeKTmonitoringStationId(number, required): The monitoring station ID from CHeKT
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Body:
{
"name": "Updated Station Name",
"prefix": "NEW",
"linecard": "67890"
}
Parameters: (All optional)
name(string): Updated station nameprefix(string): Updated prefixlinecard(string): Updated linecard identifier
Response (200 OK)
{
"monitoring_station_id": 1,
"external_monitoring_station_id": "12345",
"name": "Updated Station Name",
"prefix": "NEW",
"linecard": "67890",
"created_at": "2025-01-01T00:00:00.000Z"
}
Delete a Monitoring Station
Permanently delete a monitoring station.
Endpoint: DELETE /partner/v1/dealers/{dealerId}/monitoring-stations/{monitoringStationId}
Authentication: OAuth 2.0 Client Credentials Grant
Deleting a monitoring station will affect all sites associated with it. Ensure sites are reassigned to another monitoring station before deletion.
Request
Path Parameters:
dealerId(number, required): The dealer ID from CHeKTmonitoringStationId(number, required): The monitoring station ID from CHeKT
Headers:
Authorization: Bearer {access_token}x-partner-trace-id(optional): UUID for request tracking
Response (204 No Content)
No response body. HTTP status 204 indicates successful deletion.
Error Responses
| Status Code | Description | Solution |
|---|---|---|
400 | Bad Request - Invalid input or parameters | Check your request payload format |
401 | Unauthorized - Invalid or expired token | Refresh your access token |
403 | Forbidden - Access denied | Verify your permissions |
404 | Not Found - Monitoring station or dealer does not exist | Check the IDs |
Code Examples
cURL
# Create a monitoring station
curl -X POST https://api.chekt.com/partner/v1/dealers/12345/monitoring-stations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-partner-trace-id: 550e8400-e29b-41d4-a716-123456789000" \
-d '{
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH"
}'
# Get all monitoring stations
curl -X GET https://api.chekt.com/partner/v1/dealers/12345/monitoring-stations \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "x-partner-trace-id: 550e8400-e29b-41d4-a716-123456789000"
JavaScript
// Create a monitoring station
const response = await fetch("https://api.chekt.com/partner/v1/dealers/12345/monitoring-stations", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${accessToken}`,
"x-partner-trace-id": "550e8400-e29b-41d4-a716-123456789000"
},
body: JSON.stringify({
external_monitoring_station_id: "12345",
name: "CHeKT Central Station",
prefix: "CH"
})
});
const station = await response.json();
console.log("Created monitoring station:", station);
Python
import requests
# Create a monitoring station
response = requests.post(
"https://api.chekt.com/partner/v1/dealers/12345/monitoring-stations",
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token}",
"x-partner-trace-id": "550e8400-e29b-41d4-a716-123456789000"
},
json={
"external_monitoring_station_id": "12345",
"name": "CHeKT Central Station",
"prefix": "CH"
}
)
station = response.json()
print("Created monitoring station:", station)
Best Practices
- Store monitoring_station_id for site associations
- Use meaningful names for easy identification
- Keep prefix values consistent across your system
- Document linecard assignments for support teams
- Test monitoring station connectivity before assigning to sites