Update, pause, or resume a schedule
curl --request PATCH \
--url https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": true
}
'import requests
url = "https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}"
payload = {
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
prompt: '<string>',
schedule: '<string>',
timezone: '<string>',
enabled: true
})
};
fetch('https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}', 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.onecli.sh/v1/agents/{agentId}/crons/{cronId}",
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([
'name' => '<string>',
'prompt' => '<string>',
'schedule' => '<string>',
'timezone' => '<string>',
'enabled' => true
]),
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.onecli.sh/v1/agents/{agentId}/crons/{cronId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"agentId": "<string>",
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": true,
"disabledReason": "authorization",
"nextFireAt": "2023-11-07T05:31:56Z",
"lastFiredAt": "2023-11-07T05:31:56Z",
"lastOutcome": "ok",
"consecutiveFailures": 123,
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>"
}{
"error": "<string>"
}Schedules
Update, pause, or resume an agent schedule
Changes an agent schedule’s cron expression or prompt, or pauses and resumes it. Only the fields you send are updated, and the updated schedule is returned.
PATCH
/
agents
/
{agentId}
/
crons
/
{cronId}
Update, pause, or resume a schedule
curl --request PATCH \
--url https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": true
}
'import requests
url = "https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}"
payload = {
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
prompt: '<string>',
schedule: '<string>',
timezone: '<string>',
enabled: true
})
};
fetch('https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}', 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.onecli.sh/v1/agents/{agentId}/crons/{cronId}",
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([
'name' => '<string>',
'prompt' => '<string>',
'schedule' => '<string>',
'timezone' => '<string>',
'enabled' => true
]),
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.onecli.sh/v1/agents/{agentId}/crons/{cronId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/agents/{agentId}/crons/{cronId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"prompt\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"agentId": "<string>",
"name": "<string>",
"prompt": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"enabled": true,
"disabledReason": "authorization",
"nextFireAt": "2023-11-07T05:31:56Z",
"lastFiredAt": "2023-11-07T05:31:56Z",
"lastOutcome": "ok",
"consecutiveFailures": 123,
"createdAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>"
}{
"error": "<string>"
}Edits a schedule in place. Use it to change when or what an agent runs, or pause a schedule while you keep its settings.
Related guide: Agent access: grant credentials to agents.
Availability: Cloud · Community (self-hosted) · Enterprise (self-hosted)
Authorizations
A workspace API key (oc_…) or organization API key (oc_org_…). Workspace-scoped endpoints called with an organization key also need X-Workspace-Id.
Body
application/json
Response
Updated
A cron expression (five fields, croner syntax).
IANA time zone the schedule is evaluated in.
Why the platform paused it, when it did. completed marks a one-shot schedule that fired its last occurrence.
Available options:
authorization, failures, completed, null Available options:
ok, failed, skipped_busy, null