Back to API docs

Viewing: Payload Reference

Payload Reference

Webhook deliveries use one canonical envelope across all realtime event types.

Canonical Event Envelope

json
{
  "event_id": "9a6b8f22-2d1d-4b3f-b75f-7f9d5f101234",
  "event_type": "large_move",
  "symbol": "2222",
  "detected_at": "2026-05-08T13:48:22+03:00",
  "severity": "important",
  "title": "Large move detected",
  "summary": "Price moved more than configured threshold in the selected window.",
  "metrics": {
    "price": 25.86,
    "pct_change": 3.4,
    "volume": 9803705,
    "value": 252308343.0,
    "avg_volume": 8243000,
    "reference_value": 245000000.0,
    "rolling_volume_baseline": 4100000,
    "rolling_value_baseline": 120000000.0,
    "baseline_source": "rolling_window",
    "baseline_sample_count": 30,
    "volume_baseline_sample_count": 30,
    "value_baseline_sample_count": 30,
    "high": 25.86,
    "low": 25.60,
    "change": 0.85,
    "window": "15m",
    "threshold": 3.0
  },
  "conditions_matched": {
    "window": "15m",
    "operator": "abs>=",
    "observed_pct_change": 3.4,
    "threshold_pct": 3.0,
    "baseline_price": 25.01,
    "current_price": 25.86
  },
  "correlation_id": "webhook-evt-01HXY...",
  "version": "v1"
}

Fields Guaranteed Across Event Types

  • event_id
  • event_type
  • symbol
  • detected_at
  • severity
  • title, summary
  • metrics
  • conditions_matched
  • correlation_id
  • version

The metrics object keeps the same shape across event types, but some fields can be null depending on event context.

Top-level envelope keys are always present. conditions_matched is always an object, but can be empty in some events.

Forward compatibility: clients should ignore unknown keys in webhook payloads.

Important

value-ratio matching for unusual_value_traded uses rolling traded-value baseline (value / rolling_value_baseline), not reference_value.