Create your first HTTP monitor in under 5 minutes. Pick the approach that fits your workflow.
Prerequisites
Set your token as an environment variable:
export DEVHELM_API_TOKEN = dh_live_xxxxxxxx
Each API token is scoped to a single organization and workspace, so the
examples below work without any org/workspace flag. If your token grants
access to multiple orgs or workspaces, set DEVHELM_ORG_ID and
DEVHELM_WORKSPACE_ID as well — see
CLI authentication for switching contexts in the CLI.
The examples below use a 60-second check frequency, which requires a paid
plan (the Free plan minimum is 300 seconds). Omit the frequency entirely to
default to your plan’s minimum.
Create a monitor
CLI
YAML + Deploy
TypeScript
Python
REST API
Install the CLI globally: Create a monitor: devhelm monitors create \
--name "My API" \
--type HTTP \
--url https://api.example.com/health \
--frequency 60 \
--regions us-east
Check your monitor status: Create a devhelm.yml file: version : "1"
tags :
- name : production
color : "#10b981"
monitors :
- name : API Health
type : HTTP
config :
url : https://api.example.com/health
method : GET
frequencySeconds : 60
regions :
- us-east
- eu-west
tags :
- production
- name : Marketing Site
type : HTTP
config :
url : https://example.com
method : GET
frequencySeconds : 300
regions :
- us-east
alertChannels :
- name : Engineering Slack
config :
channelType : slack
webhookUrl : ${SLACK_WEBHOOK_URL}
Preview and deploy: devhelm validate devhelm.yml
devhelm plan -f devhelm.yml
devhelm deploy -f devhelm.yml
import { Devhelm } from "@devhelm/sdk" ;
const client = new Devhelm ({
token: process . env . DEVHELM_API_TOKEN ! ,
});
const monitor = await client . monitors . create ({
name: "My API" ,
type: "HTTP" ,
config: { url: "https://api.example.com/health" , method: "GET" },
frequencySeconds: 60 ,
regions: [ "us-east" ],
});
console . log ( `Monitor created: ${ monitor . id } ` );
import os
from devhelm import Devhelm
client = Devhelm( token = os.environ[ "DEVHELM_API_TOKEN" ])
monitor = client.monitors.create({
"name" : "My API" ,
"type" : "HTTP" ,
"config" : { "url" : "https://api.example.com/health" , "method" : "GET" },
"frequencySeconds" : 60 ,
"regions" : [ "us-east" ],
})
print ( f "Monitor created: { monitor.id } " )
curl -X POST https://api.devhelm.io/api/v1/monitors \
-H "Authorization: Bearer $DEVHELM_API_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"name": "My API",
"type": "HTTP",
"config": { "url": "https://api.example.com/health", "method": "GET" },
"frequencySeconds": 60,
"regions": ["us-east"]
}'
What happens next
Once your monitor is running, DevHelm will:
Check your endpoint from the selected probe regions at the configured frequency
Create an incident automatically if the endpoint fails or violates assertions
Alert your team through connected alert channels (Slack, PagerDuty, email, etc.)
Resolve the incident automatically when the endpoint recovers
Next steps
Monitoring overview Learn about all six monitor types, assertions, and regions.
Alerting guide Set up alert channels, notification policies, and escalation rules.
Monitoring as Code Manage your monitoring stack in YAML or Terraform and deploy from CI/CD.
CLI overview Full command reference for all CLI operations.