Create a Schedule

Create a recurring report that runs on a cron-like cadence (daily, weekly, monthly, or one-time) with optional email and Slack notifications.

POST /api/v1/schedules

Schedule Parameters

nameRequired — user-friendly name.
questionRequired — the recurring question for the agent.
available_creditsOptional — reasoning effort for each run. 1 = low, 2 = medium, 3 = high, 4 = max (default). Higher values let the agent perform more searches and produce deeper analysis at higher cost.
modeOptional — investigation mode. Default: trend_briefing.
time_windowOptional — time window per run. Default: 7d.
platformsOptional — array of platforms to search. Allowed values: twitter, reddit, bluesky, youtube, threads, facebook.
max_postOptional — posts per platform per run. Default: 100.
recurrence_typeRequired — daily, weekly, monthly, or once.
recurrence_timeRequired — time of day in HH:MM format (e.g., "09:00").
recurrence_timezoneRequired — IANA timezone (e.g., "America/New_York").
recurrence_day_of_weekOptional — 0–6 for weekly schedules (0 = Sunday).
recurrence_day_of_monthOptional — 1–31 for monthly schedules.
starts_atRequired — ISO 8601 timestamp when the schedule becomes active.
ends_atOptional — ISO 8601 timestamp when the schedule stops.

Notification Parameters

notify_emailOptional — email address for run notifications.
notify_slack_webhookOptional — Slack webhook URL.
notify_slack_channel_idOptional — Slack channel ID.
slack_bot_tokenOptional — Slack bot token.
slack_team_idOptional — Slack workspace ID.
slack_team_nameOptional — Slack workspace name.

Request Example

curl -X POST "https://agent.rolli.ai/api/v1/schedules" \
  -H "X-ROLLI-TOKEN: your_token" \
  -H "X-ROLLI-USER-ID: your_user_id" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Daily Crypto Trends",
  "question": "What is trending in crypto?",
  "mode": "trend_briefing",
  "time_window": "7d",
  "platforms": [
    "twitter",
    "reddit"
  ],
  "recurrence_type": "daily",
  "recurrence_time": "09:00",
  "recurrence_timezone": "America/New_York",
  "starts_at": "2026-05-20T09:00:00Z",
  "notify_email": "[email protected]"
}'
    
fetch("https://agent.rolli.ai/api/v1/schedules", {
  method: "POST",
  headers: {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({"name":"Daily Crypto Trends","question":"What is trending in crypto?","mode":"trend_briefing","time_window":"7d","platforms":["twitter","reddit"],"recurrence_type":"daily","recurrence_time":"09:00","recurrence_timezone":"America/New_York","starts_at":"2026-05-20T09:00:00Z","notify_email":"[email protected]"})
})
  .then(res => res.json())
  .then(console.log);
    
require "net/http"
require "uri"
require "json"

uri = URI("https://agent.rolli.ai/api/v1/schedules")
req = Net::HTTP::Post.new(uri)
req["X-ROLLI-TOKEN"] = "your_token"
req["X-ROLLI-USER-ID"] = "your_user_id"
req["Content-Type"] = "application/json"
req.body = {"name":"Daily Crypto Trends","question":"What is trending in crypto?","mode":"trend_briefing","time_window":"7d","platforms":["twitter","reddit"],"recurrence_type":"daily","recurrence_time":"09:00","recurrence_timezone":"America/New_York","starts_at":"2026-05-20T09:00:00Z","notify_email":"[email protected]"}.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"
headers = {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
}

payload = {
  "name": "Daily Crypto Trends",
  "question": "What is trending in crypto?",
  "mode": "trend_briefing",
  "time_window": "7d",
  "platforms": [
    "twitter",
    "reddit"
  ],
  "recurrence_type": "daily",
  "recurrence_time": "09:00",
  "recurrence_timezone": "America/New_York",
  "starts_at": "2026-05-20T09:00:00Z",
  "notify_email": "[email protected]"
}
response = requests.post(url, json=payload, headers=headers)

print(response.json())
    

Response Example

HTTP 201 Created.

{
  "id": "660e8400-e29b-41d4-a716-446655440111",
  "name": "Daily Crypto Trends",
  "question": "What is trending in crypto?",
  "mode": "trend_briefing",
  "time_window": "7d",
  "platforms": ["twitter", "reddit"],
  "recurrence_type": "daily",
  "recurrence_time": "09:00",
  "recurrence_timezone": "America/New_York",
  "starts_at": "2026-05-20T09:00:00Z",
  "next_run_at": "2026-05-20T13:00:00Z",
  "enabled": true,
  "paused": false,
  "notify_email": "[email protected]",
  "run_count": 0,
  "created_at": "2026-05-19T10:30:00Z"
}