curl --request PATCH \
--url https://api.seltz.ai/v1/monitors/{monitor_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"cadence": "<string>",
"api_key": null,
"monitor_id": "",
"name": null,
"search_requests": [],
"webhook": {
"events": [],
"status": null,
"url": ""
}
}
'import requests
url = "https://api.seltz.ai/v1/monitors/{monitor_id}"
payload = {
"cadence": "<string>",
"api_key": None,
"monitor_id": "",
"name": None,
"search_requests": [],
"webhook": {
"events": [],
"status": None,
"url": ""
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
cadence: '<string>',
api_key: null,
monitor_id: '',
name: null,
search_requests: [],
webhook: {events: [], status: null, url: ''}
})
};
fetch('https://api.seltz.ai/v1/monitors/{monitor_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.seltz.ai/v1/monitors/{monitor_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'cadence' => '<string>',
'api_key' => null,
'monitor_id' => '',
'name' => null,
'search_requests' => [
],
'webhook' => [
'events' => [
],
'status' => null,
'url' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.seltz.ai/v1/monitors/{monitor_id}"
payload := strings.NewReader("{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.seltz.ai/v1/monitors/{monitor_id}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.seltz.ai/v1/monitors/{monitor_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"monitor": {
"cadence": "<string>",
"status": "active",
"created_at": "2025-04-11T12:00:00Z",
"monitor_id": "",
"name": "",
"search_requests": [],
"updated_at": "2025-04-11T12:00:00Z",
"webhook": {
"events": [],
"status": null,
"url": ""
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}Update monitor
curl --request PATCH \
--url https://api.seltz.ai/v1/monitors/{monitor_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"cadence": "<string>",
"api_key": null,
"monitor_id": "",
"name": null,
"search_requests": [],
"webhook": {
"events": [],
"status": null,
"url": ""
}
}
'import requests
url = "https://api.seltz.ai/v1/monitors/{monitor_id}"
payload = {
"cadence": "<string>",
"api_key": None,
"monitor_id": "",
"name": None,
"search_requests": [],
"webhook": {
"events": [],
"status": None,
"url": ""
}
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
cadence: '<string>',
api_key: null,
monitor_id: '',
name: null,
search_requests: [],
webhook: {events: [], status: null, url: ''}
})
};
fetch('https://api.seltz.ai/v1/monitors/{monitor_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.seltz.ai/v1/monitors/{monitor_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'cadence' => '<string>',
'api_key' => null,
'monitor_id' => '',
'name' => null,
'search_requests' => [
],
'webhook' => [
'events' => [
],
'status' => null,
'url' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.seltz.ai/v1/monitors/{monitor_id}"
payload := strings.NewReader("{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.seltz.ai/v1/monitors/{monitor_id}")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.seltz.ai/v1/monitors/{monitor_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cadence\": \"<string>\",\n \"api_key\": null,\n \"monitor_id\": \"\",\n \"name\": null,\n \"search_requests\": [],\n \"webhook\": {\n \"events\": [],\n \"status\": null,\n \"url\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"monitor": {
"cadence": "<string>",
"status": "active",
"created_at": "2025-04-11T12:00:00Z",
"monitor_id": "",
"name": "",
"search_requests": [],
"updated_at": "2025-04-11T12:00:00Z",
"webhook": {
"events": [],
"status": null,
"url": ""
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"request_id": "<string>"
}Headers
Seltz API key: https://console.seltz.ai/api-keys
Path Parameters
Body
How often the monitor runs. Units: s, m, h, d = 24 h, w = 7 d. A bare number is seconds, single-unit only. There is no month unit because a month is not a duration. At least 1h and at most 366d.
At most one run per cadence period. Neither the time within the period nor the run's duration is guaranteed, and a missed period is not made up.
Replaces the list wholesale when set. An empty list is read as "not set" and keeps the current requests. A request keeps its id and its health when every field of its body is unchanged.
Show child attributes
Show child attributes
A monitor's lifecycle state.
active is scheduled and running. paused runs nothing and keeps its
records and its record of what it has already delivered. Only those two can
be set through the API; disabled and deleted are set by Seltz.
active, paused, disabled, deleted JSON null clears the webhook; an absent field keeps it. Set
webhook.status to turn delivery on or off.
Show child attributes
Show child attributes
Response
Updated.
How often the monitor runs. Units: s, m, h, d = 24 h, w = 7 d. A bare number is seconds, single-unit only. There is no month unit because a month is not a duration. At least 1h and at most 366d.
At most one run per cadence period. Neither the time within the period nor the run's duration is guaranteed, and a missed period is not made up.
Show child attributes
Show child attributes