Skip to main content
All scheduler endpoints require admin role. Unauthorized users will receive a 403 Forbidden response.

Overview

The Scheduler API provides visibility into Mission Control’s background task system. The scheduler runs several automated maintenance tasks:
  • Auto Backup - Daily database backups at 3:00 AM UTC
  • Auto Cleanup - Daily data pruning at 4:00 AM UTC based on retention policies
  • Agent Heartbeat - Agent liveness checks every 5 minutes
  • Webhook Retry - Failed webhook delivery retries every 60 seconds
  • Claude Session Scan - Active session monitoring every 60 seconds

Get Scheduler Status

Returns the current state of all scheduled tasks including next run times and last execution results.

Response

array
Array of scheduled task status objects
string
required
Task identifier (auto_backup, auto_cleanup, agent_heartbeat, webhook_retry, claude_session_scan)
string
required
Human-readable task name
boolean
required
Whether the task is currently enabled (controlled via settings)
integer
Unix timestamp (milliseconds) of last execution, or null if never run
integer
required
Unix timestamp (milliseconds) of next scheduled execution
boolean
required
Whether the task is currently executing
object
Result of the most recent execution
boolean
required
Whether the task succeeded
string
required
Result message (e.g., “Backup created (2048KB)” or error details)
integer
required
When this result was generated (milliseconds)

Example Response

Trigger Scheduled Task

Manually execute a scheduled task immediately, bypassing the normal schedule. Useful for testing or running on-demand backups.

Request Body

string
required
Task to trigger. Must be one of:
  • auto_backup - Create database backup immediately
  • auto_cleanup - Run data cleanup based on retention policies
  • agent_heartbeat - Check agent liveness and mark stale agents offline

Response

boolean
required
Whether the task executed successfully
string
required
Result message with execution details or error information

Example Responses

Successful Backup
Cleanup Result
Heartbeat Check

Cron Configuration

Backup Schedule

  • Frequency: Daily at 3:00 AM UTC
  • Interval: 24 hours
  • Control Setting: general.auto_backup (boolean)
  • Retention: Keeps last N backups (configured via general.backup_retention_count)

Cleanup Schedule

  • Frequency: Daily at 4:00 AM UTC
  • Interval: 24 hours
  • Control Setting: general.auto_cleanup (boolean)
  • Target Tables: activities, audit_log, notifications, pipeline_runs, token_usage
  • Retention Policies: Configured per table via retention.* settings

Agent Heartbeat

  • Frequency: Every 5 minutes
  • Control Setting: general.agent_heartbeat (default: enabled)
  • Timeout: Configurable via general.agent_timeout_minutes (default: 10)
  • Action: Marks agents offline if no heartbeat received within timeout period

Webhook Retry

  • Frequency: Every 60 seconds
  • Control Setting: webhooks.retry_enabled (default: enabled)
  • Purpose: Retry failed webhook deliveries with exponential backoff

Claude Session Scan

  • Frequency: Every 60 seconds
  • Control Setting: general.claude_session_scan (default: enabled)
  • Purpose: Monitor and sync active Claude Desktop sessions

Enabling/Disabling Tasks

Tasks are controlled via the Settings API. Use the settings keys listed in each task’s “Control Setting” field.

Error Responses

Invalid task_id provided. Must be one of: auto_backup, auto_cleanup, agent_heartbeat
User is not authenticated. Check session cookie.
User does not have admin role. Only admins can control the scheduler.
Task execution failed. Check the response message for error details.