{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://firmtape.com/contracts/public/events/alerts/level_line.schema.json",
 "title": "level_line",
 "description": "Sent when the price crosses a level line, a line that follows the flip, the call wall or the put wall wherever it stands.",
 "allOf": [
  {
   "$ref": "envelope.schema.json"
  }
 ],
 "properties": {
  "type": {
   "const": "level_line",
   "description": "`level_line`."
  },
  "direction": {
   "enum": [
    "above",
    "below"
   ],
   "description": "Which way the price crossed."
  },
  "alert": {
   "type": "object",
   "description": "The line that fired."
  }
 },
 "x-when": [
  "At the first reading that shows the cross.",
  "The line follows its level at each reading, so a moved wall carries the line with it."
 ],
 "x-features": [
  "alert-lines",
  "webhooks"
 ],
 "examples": [
  {
   "version": 1,
   "id": "evt_3f9a0c6e21d4b7a8e5f10c2d",
   "type": "level_line",
   "symbol": "SPX",
   "price": 6750.75,
   "book": "volume",
   "ts": "2026-10-09T14:32:05-04:00",
   "day": "2026-10-09",
   "levels": {
    "flip": 6715.5,
    "call_wall": 6750,
    "put_wall": 6700,
    "put_support": 6700
   },
   "level": {
    "kind": "call_wall",
    "value": 6750
   },
   "direction": "above",
   "text": "SPX crossed above the call wall 6,750.00, your level line",
   "alert": {
    "id": "al_6a7b8c9d0e1f",
    "kind": "level",
    "level": "call_wall",
    "price": null,
    "mode": "repeat"
   }
  }
 ],
 "x-source": "alerts",
 "x-product": "live",
 "x-plan": "live",
 "x-version": 1,
 "x-since": "2026-10-11",
 "x-switch-on": "Set the line on the chart or a ladder row; a webhook address on Account, Level alerts.",
 "required": [
  "alert"
 ]
}