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
| name | Required — user-friendly name. |
| question | Required — the recurring question for the agent. |
| available_credits | Optional — 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. |
| mode | Optional — investigation mode. Default: trend_briefing. |
| time_window | Optional — time window per run. Default: 7d. |
| platforms | Optional — array of platforms to search. Allowed values: twitter, reddit, bluesky, youtube, threads, facebook. |
| max_post | Optional — posts per platform per run. Default: 100. |
| recurrence_type | Required — daily, weekly, monthly, or once. |
| recurrence_time | Required — time of day in HH:MM format (e.g., "09:00"). |
| recurrence_timezone | Required — IANA timezone (e.g., "America/New_York"). |
| recurrence_day_of_week | Optional — 0–6 for weekly schedules (0 = Sunday). |
| recurrence_day_of_month | Optional — 1–31 for monthly schedules. |
| starts_at | Required — ISO 8601 timestamp when the schedule becomes active. |
| ends_at | Optional — ISO 8601 timestamp when the schedule stops. |
Notification Parameters
| notify_email | Optional — email address for run notifications. |
| notify_slack_webhook | Optional — Slack webhook URL. |
| notify_slack_channel_id | Optional — Slack channel ID. |
| slack_bot_token | Optional — Slack bot token. |
| slack_team_id | Optional — Slack workspace ID. |
| slack_team_name | Optional — 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"
}