Predict.aiDocs
Realtime

Event catalog

Every realtime event the platform emits, by channel — names, triggers, and payload highlights.

Every event arrives as an event frame (see the wire protocol); this page catalogs what goes in event and data. Payloads carry the IDs you need to fetch full state from the linked product section — they are hints, not complete documents.

Workspace channel — workspace:WORKSPACE_ID

The firehose: everything happening in a workspace.

EventFired whenPayload highlights
training.job.queued / training.job.started / training.job.completed / training.job.failedA training run changes statustraining_id, model_id, status
training.job.progressA running training reports progresstraining_id, model_id, status: "running", stage, pct (0–100), epoch, total_epochs
deployment.updatedA deployment changes status (initializing, deploying, deployed, ready, starting, failed, archived)deployment_id, promotion_id, model_id, status
inference.createdA new forecast/inference is recordedinference_id, model_id, inference_type, success
inference.completedA scheduled segment inference finishes (success or failure)inference_id, deployment_id, segment_id, success, error
signal.analysis.completed (and .error, .cancelled, .skipped, …)A signal analysis job changes status — the suffix is the new statusanalysis_id, status
ingestion.execution.queued / .started / .completed / .failed / .cancelledAn ingestion execution changes statusexecution_id, source_id, job_id, status; .failed adds error
ingestion.execution.progressA running execution reports progressexecution_id, status: "processing", phase, percentage
ingestion.source.updatedA data source is created, updated, tested, or deleted, or its jobs changesource_id, action

Every goal event below is also published to the goal's workspace channel, so a workspace subscription sees the full goal stream too.

Goal channel — goal:GOAL_ID

One goal's stream — subscribe here (for example, from a bot) to follow a single goal without the workspace firehose.

EventFired whenPayload highlights
goal.run.queued / goal.run.started / goal.run.completed / goal.run.failedA discovery run changes statusgoal_id, run_id, status; .failed adds error
goal.run.stageA funnel stage transitions (running, completed, skipped, failed)goal_id, run_id, stage, status
goal.tournament.statusThe tournament as a whole transitions (queued, running, completed, failed, cancelled)goal_id, tournament_id, status
goal.tournament.entryOne candidate model changes stategoal_id, tournament_id, preset_id, status
goal.tournament.progressA running candidate makes mid-fit progressgoal_id, tournament_id, preset_id, folds_done, n_folds, pct, stage
goal.created / goal.deletedA goal is created or deletedgoal_id, name, status
goal.statusThe goal's top-level status changesgoal_id, status, shock_state (when it changed)
goal.anomalyAn anomaly is detected on a live goalgoal_id + detection details
goal.insightA new insight is ready on a live goalgoal_id + insight details
goal.fleet.run.started / goal.fleet.run.failedA fleet scoring run starts / failsgoal_id, run_id, status, members_total, chunks_total; .failed adds error
goal.fleet.run.progressA scoring chunk landed — the leaderboard's progress bar advancesgoal_id, run_id, chunks_done, chunks_total
goal.fleet.run.completedThe run reduced: ranks are final, refetch the leaderboardgoal_id, run_id, stats (median score, top-decile churn, top members)
goal.fleet.bakeoffThe model bake-off transitions or an entry is scoredgoal_id, bakeoff_id, status, entry / winner when relevant
goal.fleet.scenario.completedA fleet covariate-shock scenario finishedgoal_id, scenario_id, status, error
alerts.evaluatedA forecast landed and the goal's alerts were evaluatedgoal_id, inference_uid, fired (count of alerts that triggered)

alerts.evaluated is published only on the goal channel — it does not appear on the workspace channel. Alerts that trigger also notify their recipients through Notifications, which reaches the user channel below.

User channel — user:USER_ID

Your own cross-workspace events. This channel follows you everywhere — one subscription covers all your workspaces.

EventFired whenPayload highlights
notificationA notification is delivered to your in-app feednotification_id, event_code, category, severity, title, body, link, metadata, created_at, read_at
notification.pushAn event you've enabled for realtime push but turned off for the in-app feed — same shape, no feed rowevent_code, category, severity, title, body, link, metadata, created_at

A worked example

A deployment going live, as it arrives on the workspace channel:

{
  "type": "event",
  "channel": "workspace:WORKSPACE_ID",
  "event": "deployment.updated",
  "data": {
    "deployment_id": "DEPLOYMENT_ID",
    "promotion_id": "DEPLOYMENT_ID",
    "model_id": "MODEL_ID",
    "status": "ready"
  },
  "ts": "2026-07-15T12:03:41+00:00"
}

On receipt, re-fetch the deployment from GET /v1/deployments/{id} rather than trusting the payload as complete state — events are invalidation hints.

On this page