Update a Schedule

Partially update a schedule. Unspecified fields are left unchanged. next_run_at is recalculated if any recurrence parameter changes.

PATCH /api/v1/schedules/{id}

Path Parameters

idRequired — the schedule UUID.

Body Parameters (all optional)

nameNew schedule name.
questionNew question.
available_creditsNew reasoning effort. 1 = low, 2 = medium, 3 = high, 4 = max (default).
modeNew investigation mode.
time_windowNew time window.
platformsNew platforms array. Allowed values: twitter, reddit, bluesky, youtube, threads, facebook.
max_postNew posts-per-platform limit.
recurrence_typedaily, weekly, monthly, or once.
recurrence_timeTime of day in HH:MM.
recurrence_timezoneIANA timezone string.
recurrence_day_of_week0–6 for weekly schedules.
recurrence_day_of_month1–31 for monthly schedules.
starts_atNew start ISO 8601 timestamp.
ends_atNew end ISO 8601 timestamp.
notify_emailNew notification email.
notify_slack_webhookNew Slack webhook URL.
notify_slack_channel_idNew Slack channel ID.

Request Example

curl -X PATCH "https://agent.rolli.ai/api/v1/schedules/660e8400-e29b-41d4-a716-446655440111" \
  -H "X-ROLLI-TOKEN: your_token" \
  -H "X-ROLLI-USER-ID: your_user_id" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Weekly Crypto Briefing",
  "recurrence_type": "weekly",
  "recurrence_time": "14:00",
  "recurrence_day_of_week": 1
}'
    
fetch("https://agent.rolli.ai/api/v1/schedules/660e8400-e29b-41d4-a716-446655440111", {
  method: "PATCH",
  headers: {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({"name":"Weekly Crypto Briefing","recurrence_type":"weekly","recurrence_time":"14:00","recurrence_day_of_week":1})
})
  .then(res => res.json())
  .then(console.log);
    
require "net/http"
require "uri"
require "json"

uri = URI("https://agent.rolli.ai/api/v1/schedules/660e8400-e29b-41d4-a716-446655440111")
req = Net::HTTP::Patch.new(uri)
req["X-ROLLI-TOKEN"] = "your_token"
req["X-ROLLI-USER-ID"] = "your_user_id"
req["Content-Type"] = "application/json"
req.body = {"name":"Weekly Crypto Briefing","recurrence_type":"weekly","recurrence_time":"14:00","recurrence_day_of_week":1}.to_json

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(req)
end

puts res.body
    
import requests
import json

url = "https://agent.rolli.ai/api/v1/schedules/660e8400-e29b-41d4-a716-446655440111"
headers = {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
}

payload = {
  "name": "Weekly Crypto Briefing",
  "recurrence_type": "weekly",
  "recurrence_time": "14:00",
  "recurrence_day_of_week": 1
}
response = requests.patch(url, json=payload, headers=headers)

print(response.json())
    

Response Example

{
  "id": "660e8400-e29b-41d4-a716-446655440111",
  "name": "Weekly Crypto Briefing",
  "recurrence_type": "weekly",
  "recurrence_time": "14:00",
  "recurrence_day_of_week": 1,
  "next_run_at": "2026-05-25T18:00:00Z",
  "...": "all other fields"
}