curl --request POST \
--url https://api.sixtyfour.ai/monitors/{monitor_id}/update \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"frequency": "<string>",
"tier": "<string>",
"webhook_url": "<string>",
"webhook_event_types": [
"<string>"
],
"metadata": {},
"is_active": true
}
'import requests
url = "https://api.sixtyfour.ai/monitors/{monitor_id}/update"
payload = {
"name": "<string>",
"frequency": "<string>",
"tier": "<string>",
"webhook_url": "<string>",
"webhook_event_types": ["<string>"],
"metadata": {},
"is_active": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
frequency: '<string>',
tier: '<string>',
webhook_url: '<string>',
webhook_event_types: ['<string>'],
metadata: {},
is_active: true
})
};
fetch('https://api.sixtyfour.ai/monitors/{monitor_id}/update', 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.sixtyfour.ai/monitors/{monitor_id}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'frequency' => '<string>',
'tier' => '<string>',
'webhook_url' => '<string>',
'webhook_event_types' => [
'<string>'
],
'metadata' => [
],
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.sixtyfour.ai/monitors/{monitor_id}/update"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.sixtyfour.ai/monitors/{monitor_id}/update")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sixtyfour.ai/monitors/{monitor_id}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"org_id": "<string>",
"team_id": "<string>",
"name": "<string>",
"frequency": "<string>",
"struct": {},
"tier": "<string>",
"subject_type": "<string>",
"research_plan": "<string>",
"is_active": true,
"disabled_reason": "<string>",
"webhook_url": "<string>",
"webhook_event_types": [
"<string>"
],
"metadata": {},
"last_run_at": "<string>",
"next_run_times": [
"<string>"
],
"row_count": 123,
"active_row_count": 123,
"status": "starting",
"created_at": "<string>",
"updated_at": "<string>"
}{
"detail": "Invalid request body"
}{
"detail": "Invalid API key"
}{
"detail": "This organization no longer has access to Sixtyfour. Contact your representative at Sixtyfour."
}{
"detail": "<string>"
}{
"detail": "Internal server error"
}{
"detail": "Could not verify the API key right now. Retry shortly."
}Update Monitor
Change monitor settings. Watched fields are fixed at creation.
Applied to every row as well as the monitor, because the rows are what run.
is_active is not pushed down: a row switched off by hand stays off.
curl --request POST \
--url https://api.sixtyfour.ai/monitors/{monitor_id}/update \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"frequency": "<string>",
"tier": "<string>",
"webhook_url": "<string>",
"webhook_event_types": [
"<string>"
],
"metadata": {},
"is_active": true
}
'import requests
url = "https://api.sixtyfour.ai/monitors/{monitor_id}/update"
payload = {
"name": "<string>",
"frequency": "<string>",
"tier": "<string>",
"webhook_url": "<string>",
"webhook_event_types": ["<string>"],
"metadata": {},
"is_active": True
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
frequency: '<string>',
tier: '<string>',
webhook_url: '<string>',
webhook_event_types: ['<string>'],
metadata: {},
is_active: true
})
};
fetch('https://api.sixtyfour.ai/monitors/{monitor_id}/update', 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.sixtyfour.ai/monitors/{monitor_id}/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'frequency' => '<string>',
'tier' => '<string>',
'webhook_url' => '<string>',
'webhook_event_types' => [
'<string>'
],
'metadata' => [
],
'is_active' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.sixtyfour.ai/monitors/{monitor_id}/update"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.post("https://api.sixtyfour.ai/monitors/{monitor_id}/update")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sixtyfour.ai/monitors/{monitor_id}/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"frequency\": \"<string>\",\n \"tier\": \"<string>\",\n \"webhook_url\": \"<string>\",\n \"webhook_event_types\": [\n \"<string>\"\n ],\n \"metadata\": {},\n \"is_active\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"org_id": "<string>",
"team_id": "<string>",
"name": "<string>",
"frequency": "<string>",
"struct": {},
"tier": "<string>",
"subject_type": "<string>",
"research_plan": "<string>",
"is_active": true,
"disabled_reason": "<string>",
"webhook_url": "<string>",
"webhook_event_types": [
"<string>"
],
"metadata": {},
"last_run_at": "<string>",
"next_run_times": [
"<string>"
],
"row_count": 123,
"active_row_count": 123,
"status": "starting",
"created_at": "<string>",
"updated_at": "<string>"
}{
"detail": "Invalid request body"
}{
"detail": "Invalid API key"
}{
"detail": "This organization no longer has access to Sixtyfour. Contact your representative at Sixtyfour."
}{
"detail": "<string>"
}{
"detail": "Internal server error"
}{
"detail": "Could not verify the API key right now. Retry shortly."
}Headers
Path Parameters
Body
1 - 120Replaces the subscription. Any of 'monitor.field.changed', 'monitor.execution.completed', 'monitor.execution.failed', 'monitor.run.completed'; null resets it to ['monitor.field.changed'].
Response
Successful Response
One uploaded table, watched as a single thing.
row_count and active_row_count differ when rows have been switched off.
'starting' while an uploaded file's rows are still being added, 'failed' when adding them failed. Nothing is checked until it becomes 'active'. 'cancelled' means the owner cancelled it; 'paused' means it was switched off without cancellation.
starting, failed, active, paused, cancelled Was this page helpful?