Create a schedule
Creates a new scheduled task that will automatically run the agent based on the specified schedule.
Schedule Types:
- CRON (3): Use cronExpression to define a recurring schedule
- RunOnce (1): Requires startTime (must be at least 1 minute in the future) - runs once at the specified date/time
- RunEvery (2): Uses runEveryCount and runEveryPeriod (0=minutes, 1=hours, 2=days, 3=weeks, 4=months). Optional startTime for first run (must be in the future if provided).
StartTime Validation:
- For RunOnce: Required. Must be at least 1 minute in the future (UTC).
- For RunEvery: Optional. If provided, must be in the future (UTC). Determines when the first run occurs.
- For CRON: Not used. Schedule is determined by cronExpression.
CRON Schedule Example:
{
"name": "Daily Morning Run",
"scheduleType": 3,
"cronExpression": "0 9 * * 1,4",
"timezone": "America/New_York",
"isEnabled": true
}
Run Once Example:
{
"name": "One-time Run",
"scheduleType": 1,
"startTime": "2026-01-20T14:30:00Z",
"timezone": "America/New_York",
"isEnabled": true
}
Run Every Example (every 30 minutes):
{
"name": "Frequent Check",
"scheduleType": 2,
"runEveryCount": 30,
"runEveryPeriod": 0,
"startTime": "2026-01-17T10:00:00Z",
"timezone": "America/Denver",
"isEnabled": true
}
Encrypted input parameters
Prefix a parameter name with ? to have its value encrypted at rest and hidden in
the Run log — for example "?apiKey" instead of "apiKey". The name you send decides
this. Sending a name without the ? prefix stores and logs the value in clear text,
even when the Agent defines that parameter as encrypted. Omitting a parameter
entirely leaves the Agent’s own definition in effect, encryption included.
If you send both "name" and "?name", the ?-prefixed entry is used and the plain
one is discarded. The request still succeeds.
A Schedule stores its input parameters, so a clear-text value is also returned in
clear text by GET /api/v1/agent/{agentId}/schedules to any caller with an API key
and read access to the Agent’s Space. Send ?name for anything sensitive.
Call GET /api/v1/agent/{agentId}/input-parameters to see which parameters an Agent
defines as encrypted.
Authorizations
API Key authorization header. Example: "Authorization: ApiKey {your-api-key}"
OAuth 2.0 Bearer token. Example: "Authorization: Bearer {access-token}"
Path Parameters
The ID of the agent
Body
The schedule configuration
Request model for creating a new schedule
Name of the schedule (required)
Cron expression for the schedule (e.g., "0 9 * * 1,4" for Mon/Thu at 9am)
Local schedule expression (human readable)
Timezone for the schedule (e.g., "America/New_York")
Start date/time for the schedule in UTC.
- Required for RunOnce schedules (must be at least 1 minute in the future).
- Optional for RunEvery schedules (if provided, must be in the future; determines when the first run occurs).
- Not used for CRON schedules.
"2026-01-20T14:30:00Z"
JSON string of input parameters for scheduled runs
0 = None; 1 = RunOnce; 2 = RunEvery; 3 = CRON
0, 1, 2, 3 Whether the schedule is enabled
Run every N periods (used with RunEveryPeriod)
Period unit for RunEveryCount (1=minutes, 2=hours, 3=days, 4=weeks, 5=months)
Parallelism level for the scheduled run
Max concurrency for parallel runs
0 = Combined; 1 = Separated
Combined, Separated Proxy pool ID to use for scheduled runs
Server group ID for scheduled runs (optional). When specified, the schedule will run on servers in this group.
0 = Fatal; 1 = Error; 2 = Warning; 3 = Info
Fatal, Error, Warning, Info 0 = Text; 1 = TextAndHtml
Text, TextAndHtml Whether to run exclusively (no concurrent runs)
Whether to wait on failure before retrying
Response
Returns the created schedule
Represents a scheduled task for an agent in the External API
0 = None; 1 = RunOnce; 2 = RunEvery; 3 = CRON
0, 1, 2, 3 0 = Combined; 1 = Separated
Combined, Separated 0 = Fatal; 1 = Error; 2 = Warning; 3 = Info
Fatal, Error, Warning, Info 0 = Text; 1 = TextAndHtml
Text, TextAndHtml