API Reference

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 system
  • name (string, required): Name of the monitoring station
  • prefix (string, optional): Identifier added before account number for classification
  • linecard (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 CHeKT
  • external_monitoring_station_id (string): Your system's identifier
  • name (string): Monitoring station name
  • prefix (string): Account number prefix
  • linecard (string): Linecard identifier
  • created_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 CHeKT
  • monitoringStationId (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 CHeKT
  • monitoringStationId (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 name
  • prefix (string): Updated prefix
  • linecard (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 CHeKT
  • monitoringStationId (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 CodeDescriptionSolution
400Bad Request - Invalid input or parametersCheck your request payload format
401Unauthorized - Invalid or expired tokenRefresh your access token
403Forbidden - Access deniedVerify your permissions
404Not Found - Monitoring station or dealer does not existCheck 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

Next Steps

Next Steps