curl --request POST \
--url https://api.olostep.com/v1/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"source_policy": {
"include_urls": [
"<string>"
],
"exclude_urls": [
"<string>"
],
"include_domains": [
"<string>"
],
"exclude_domains": [
"<string>"
]
},
"frequency": "every hour",
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"metadata": {},
"output_schema": {}
}
'import requests
url = "https://api.olostep.com/v1/monitors"
payload = {
"query": "<string>",
"source_policy": {
"include_urls": ["<string>"],
"exclude_urls": ["<string>"],
"include_domains": ["<string>"],
"exclude_domains": ["<string>"]
},
"frequency": "every hour",
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"metadata": {},
"output_schema": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
source_policy: {
include_urls: ['<string>'],
exclude_urls: ['<string>'],
include_domains: ['<string>'],
exclude_domains: ['<string>']
},
frequency: 'every hour',
notification: {events: [], channels: [{target: '<string>', events: []}]},
metadata: {},
output_schema: {}
})
};
fetch('https://api.olostep.com/v1/monitors', 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.olostep.com/v1/monitors",
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([
'query' => '<string>',
'source_policy' => [
'include_urls' => [
'<string>'
],
'exclude_urls' => [
'<string>'
],
'include_domains' => [
'<string>'
],
'exclude_domains' => [
'<string>'
]
],
'frequency' => 'every hour',
'notification' => [
'events' => [
],
'channels' => [
[
'target' => '<string>',
'events' => [
]
]
]
],
'metadata' => [
],
'output_schema' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.olostep.com/v1/monitors"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.olostep.com/v1/monitors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olostep.com/v1/monitors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}"
response = http.request(request)
puts response.read_body"<string>"{
"id": "<string>",
"object": "monitor",
"query": "<string>",
"tracked": {
"type": "<string>",
"urls": [
"<string>"
],
"web_query": "<string>"
},
"source_policy": {
"include_urls": [
"<string>"
],
"exclude_urls": [
"<string>"
],
"include_domains": [
"<string>"
],
"exclude_domains": [
"<string>"
]
},
"schedule": {
"frequency": "<string>",
"cron": "<string>",
"timezone": "UTC",
"next_run_at": "2023-11-07T05:31:56Z"
},
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"webhook": {
"url": "<string>"
},
"output_schema": {},
"error_message": "<string>",
"last_run": {
"id": "<string>",
"status": "completed",
"change_detected": true,
"ran_at": "2023-11-07T05:31:56Z"
},
"agent": {
"id": "<string>"
},
"metadata": {},
"created": 123,
"updated": 123,
"total_count": 123,
"mermaid_diagram": "<string>"
}{
"error": "<string>",
"monitor_id": "<string>"
}Monitor erstellen
Erstellt einen Monitor aus einer natürlichsprachlichen Abfrage. Stellt einen Schattenagenten bereit, generiert eine Workflow-Spezifikation, plant DAGs in die Warteschlange und plant wiederkehrende Ausführungen. Konfiguriere die Zustellung mit notification.channels und/oder webhook. Gibt 202 mit Status “provisioning” zurück oder streamt den Fortschritt mit ?stream=1.
curl --request POST \
--url https://api.olostep.com/v1/monitors \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"source_policy": {
"include_urls": [
"<string>"
],
"exclude_urls": [
"<string>"
],
"include_domains": [
"<string>"
],
"exclude_domains": [
"<string>"
]
},
"frequency": "every hour",
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"metadata": {},
"output_schema": {}
}
'import requests
url = "https://api.olostep.com/v1/monitors"
payload = {
"query": "<string>",
"source_policy": {
"include_urls": ["<string>"],
"exclude_urls": ["<string>"],
"include_domains": ["<string>"],
"exclude_domains": ["<string>"]
},
"frequency": "every hour",
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"metadata": {},
"output_schema": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
source_policy: {
include_urls: ['<string>'],
exclude_urls: ['<string>'],
include_domains: ['<string>'],
exclude_domains: ['<string>']
},
frequency: 'every hour',
notification: {events: [], channels: [{target: '<string>', events: []}]},
metadata: {},
output_schema: {}
})
};
fetch('https://api.olostep.com/v1/monitors', 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.olostep.com/v1/monitors",
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([
'query' => '<string>',
'source_policy' => [
'include_urls' => [
'<string>'
],
'exclude_urls' => [
'<string>'
],
'include_domains' => [
'<string>'
],
'exclude_domains' => [
'<string>'
]
],
'frequency' => 'every hour',
'notification' => [
'events' => [
],
'channels' => [
[
'target' => '<string>',
'events' => [
]
]
]
],
'metadata' => [
],
'output_schema' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.olostep.com/v1/monitors"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.olostep.com/v1/monitors")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.olostep.com/v1/monitors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"source_policy\": {\n \"include_urls\": [\n \"<string>\"\n ],\n \"exclude_urls\": [\n \"<string>\"\n ],\n \"include_domains\": [\n \"<string>\"\n ],\n \"exclude_domains\": [\n \"<string>\"\n ]\n },\n \"frequency\": \"every hour\",\n \"notification\": {\n \"events\": [],\n \"channels\": [\n {\n \"target\": \"<string>\",\n \"events\": []\n }\n ]\n },\n \"metadata\": {},\n \"output_schema\": {}\n}"
response = http.request(request)
puts response.read_body"<string>"{
"id": "<string>",
"object": "monitor",
"query": "<string>",
"tracked": {
"type": "<string>",
"urls": [
"<string>"
],
"web_query": "<string>"
},
"source_policy": {
"include_urls": [
"<string>"
],
"exclude_urls": [
"<string>"
],
"include_domains": [
"<string>"
],
"exclude_domains": [
"<string>"
]
},
"schedule": {
"frequency": "<string>",
"cron": "<string>",
"timezone": "UTC",
"next_run_at": "2023-11-07T05:31:56Z"
},
"notification": {
"events": [],
"channels": [
{
"target": "<string>",
"events": []
}
]
},
"webhook": {
"url": "<string>"
},
"output_schema": {},
"error_message": "<string>",
"last_run": {
"id": "<string>",
"status": "completed",
"change_detected": true,
"ran_at": "2023-11-07T05:31:56Z"
},
"agent": {
"id": "<string>"
},
"metadata": {},
"created": 123,
"updated": 123,
"total_count": 123,
"mermaid_diagram": "<string>"
}{
"error": "<string>",
"monitor_id": "<string>"
}Autorisierungen
Bearer-Authentifizierungsheader in der Form Bearer , wobei dein Authentifizierungstoken ist.
Abfrageparameter
Wenn gesetzt, ist die Antwort text/event-stream mit phase, reasoning_token, complete und error Ereignissen.
1, true Body
Was überwacht werden soll, in natürlicher Sprache.
Optionale URL-/Domain-Zulassungs- und Sperrlisten, die während der Planung und Ausführung angewendet werden.
Show child attributes
Show child attributes
Zeitplan in natürlicher Sprache (zum Beispiel every day at 9am). Das Mindestintervall beträgt alle 10 Minuten. Zeitpläne verwenden UTC.
50Show child attributes
Show child attributes
Show child attributes
Show child attributes
JSON-Schema für strukturierten Extraktions-Output.
Antwort
Bereitstellungsstream (text/event-stream), wenn stream=1. Endet mit einem complete Ereignis, das das Monitor-Objekt enthält.
The response is of type string.
War diese Seite hilfreich?