POST
/
v2
/
services
Create service monitor
curl --request POST \
  --url https://app.pulseguard.nl/api/v2/services \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "API Health Check",
  "type": "http",
  "url": "https://api.example.com/health"
}'
{
  "success": true,
  "message": "<string>",
  "data": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "type": "http",
    "url": "<string>",
    "status": "up",
    "check_interval": 123,
    "timeout": 123,
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
This endpoint creates a new service monitor.

Body

name
string
required
A descriptive name for the service monitor (e.g., “Production Database”).
host
string
required
The hostname or IP address of the service to monitor.
port
integer
required
The port number to check (e.g., 3306 for MySQL).
check_interval
integer
The interval in minutes between checks. Defaults to 5.

Authorizations

Authorization
string
header
required

API token generated from your PulseGuard dashboard

Body

application/json
name
string
required

Service monitor name

Example:

"API Health Check"

type
enum<string>
required

Type of monitoring

Available options:
http,
tcp,
ping,
dns
Example:

"http"

url
string<uri>
required

URL or endpoint to monitor

Example:

"https://api.example.com/health"

check_interval
integer
default:5

Check interval in minutes

Required range: 1 <= x <= 60
timeout
integer
default:30

Timeout in seconds

Required range: 1 <= x <= 300

Response

Service monitor created successfully

success
boolean
required
Example:

true

message
string
required

Success message

data
object

Response data as object