@structbuild/sdk 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -477,6 +477,66 @@ export interface webhooks {
477
477
  patch?: never;
478
478
  trace?: never;
479
479
  };
480
+ "position-liquidity": {
481
+ parameters: {
482
+ query?: never;
483
+ header?: never;
484
+ path?: never;
485
+ cookie?: never;
486
+ };
487
+ get?: never;
488
+ put?: never;
489
+ /**
490
+ * Position liquidity threshold callback
491
+ * @description Fired when a position's USD order-book liquidity crosses a threshold. **`position_ids` is required**, plus at least one of `min_liquidity_usd` (fires when liquidity crosses **up** through the value) or `max_liquidity_usd` (fires when it crosses **down**). Thresholds are edge-triggered and re-arm once liquidity crosses back, unless `one_shot` is set (fire once, then delete).
492
+ */
493
+ post: operations["position-liquidity"];
494
+ delete?: never;
495
+ options?: never;
496
+ head?: never;
497
+ patch?: never;
498
+ trace?: never;
499
+ };
500
+ "market-liquidity": {
501
+ parameters: {
502
+ query?: never;
503
+ header?: never;
504
+ path?: never;
505
+ cookie?: never;
506
+ };
507
+ get?: never;
508
+ put?: never;
509
+ /**
510
+ * Market liquidity threshold callback
511
+ * @description Fired when a market's total USD order-book liquidity crosses a threshold. **`condition_ids` is required**, plus at least one of `min_liquidity_usd` (fires when liquidity crosses **up** through the value) or `max_liquidity_usd` (fires when it crosses **down**). Thresholds are edge-triggered and re-arm once liquidity crosses back, unless `one_shot` is set (fire once, then delete).
512
+ */
513
+ post: operations["market-liquidity"];
514
+ delete?: never;
515
+ options?: never;
516
+ head?: never;
517
+ patch?: never;
518
+ trace?: never;
519
+ };
520
+ "event-liquidity": {
521
+ parameters: {
522
+ query?: never;
523
+ header?: never;
524
+ path?: never;
525
+ cookie?: never;
526
+ };
527
+ get?: never;
528
+ put?: never;
529
+ /**
530
+ * Event liquidity threshold callback
531
+ * @description Fired when an event's total USD order-book liquidity (summed across its markets) crosses a threshold. **`event_slugs` is required**, plus at least one of `min_liquidity_usd` (fires when liquidity crosses **up** through the value) or `max_liquidity_usd` (fires when it crosses **down**). Thresholds are edge-triggered and re-arm once liquidity crosses back, unless `one_shot` is set (fire once, then delete).
532
+ */
533
+ post: operations["event-liquidity"];
534
+ delete?: never;
535
+ options?: never;
536
+ head?: never;
537
+ patch?: never;
538
+ trace?: never;
539
+ };
480
540
  "market-volume-milestone": {
481
541
  parameters: {
482
542
  query?: never;
@@ -548,7 +608,7 @@ export interface webhooks {
548
608
  put?: never;
549
609
  /**
550
610
  * Probability spike callback
551
- * @description Fired when a market's YES probability moves significantly. Use `min_probability_change_pct` to set the minimum move (e.g. `10` for 10%). Use `window_secs` to observe moves within a specific time window (e.g. `60` for 60 seconds). Use `spike_direction` (`"up"` | `"down"` | `"both"`) — defaults to `"up"` when not provided. Filter by `position_ids` or `outcomes` to narrow scope. Optional `min_probability`/`max_probability` gate the YES probability band, `min_txns`/`min_volume_usd` require a minimum number of trades or USD volume in the observation window.
611
+ * @description Fired when a market's YES probability moves significantly. Use `min_probability_change_pct` to set the minimum move (e.g. `10` for 10%). Use `window_secs` to observe moves within a specific time window (e.g. `60` for 60 seconds). Use `spike_direction` (`"up"` | `"down"` | `"both"`) — defaults to `"up"` when not provided. Filter by `position_ids` or `outcomes` to narrow scope. Scope by market taxonomy with `tags` (matches a market's tags or category) and `series_slugs` (matches its parent series). Optional `min_probability`/`max_probability` gate the YES probability band, `min_txns`/`min_volume_usd` require a minimum number of trades or USD volume in the observation window.
552
612
  */
553
613
  post: operations["probability-spike"];
554
614
  delete?: never;
@@ -568,7 +628,7 @@ export interface webhooks {
568
628
  put?: never;
569
629
  /**
570
630
  * Price spike callback
571
- * @description Fired when a position's price moves significantly. Use `min_price_change_pct` to set the minimum move (e.g. `10` for 10%). Use `window_secs` to observe moves within a specific time window. Use `spike_direction` (`"up"` | `"down"` | `"both"`) — defaults to `"up"` when not provided. Filter by `position_ids` or `outcomes` to narrow scope. Optional `min_probability`/`max_probability` gate the price band, `min_txns`/`min_volume_usd` require a minimum number of trades or USD volume in the observation window.
631
+ * @description Fired when a position's price moves significantly. Use `min_price_change_pct` to set the minimum move (e.g. `10` for 10%). Use `window_secs` to observe moves within a specific time window. Use `spike_direction` (`"up"` | `"down"` | `"both"`) — defaults to `"up"` when not provided. Filter by `position_ids` or `outcomes` to narrow scope. Scope by market taxonomy with `tags` (matches a market's tags or category) and `series_slugs` (matches its parent series). Optional `min_probability`/`max_probability` gate the price band, `min_txns`/`min_volume_usd` require a minimum number of trades or USD volume in the observation window.
572
632
  */
573
633
  post: operations["price-spike"];
574
634
  delete?: never;
@@ -648,7 +708,7 @@ export interface webhooks {
648
708
  put?: never;
649
709
  /**
650
710
  * Close to bond callback
651
- * @description Fired when a trade occurs at a near-certain-outcome price. **At least one of `min_probability` or `max_probability` is required.** Use `min_probability` (e.g. `0.95`) to trigger when YES is near-certain; use `max_probability` (e.g. `0.05`) for NO near-certain. Optional filters: `position_outcome_indices` — restrict by outcome index (`0` = Yes/Up, `1` = No); `condition_ids` — restrict to specific markets; `position_ids` — restrict to specific outcome tokens; `outcomes` — restrict by outcome name (e.g. `"Yes"`, `"No"`); `event_slugs` — restrict to specific events.
711
+ * @description Fired when a trade occurs at a near-certain-outcome price. **At least one of `min_probability` or `max_probability` is required.** Use `min_probability` (e.g. `0.95`) to trigger when YES is near-certain; use `max_probability` (e.g. `0.05`) for NO near-certain. Optional filters: `position_outcome_indices` — restrict by outcome index (`0` = Yes/Up, `1` = No); `condition_ids` — restrict to specific markets; `position_ids` — restrict to specific outcome tokens; `outcomes` — restrict by outcome name (e.g. `"Yes"`, `"No"`); `event_slugs` — restrict to specific events. Scope by market taxonomy with `tags` (matches a market's tags or category) and `series_slugs` (matches its parent series).
652
712
  */
653
713
  post: operations["close-to-bond"];
654
714
  delete?: never;
@@ -657,6 +717,66 @@ export interface webhooks {
657
717
  patch?: never;
658
718
  trace?: never;
659
719
  };
720
+ "price-threshold": {
721
+ parameters: {
722
+ query?: never;
723
+ header?: never;
724
+ path?: never;
725
+ cookie?: never;
726
+ };
727
+ get?: never;
728
+ put?: never;
729
+ /**
730
+ * Price threshold crossing callback
731
+ * @description Fired when an outcome's price/probability crosses a target level (edge-triggered, fires once per crossing). **At least one of `min_probability` or `max_probability` is required.** Use `min_probability` (e.g. `0.75`) to fire when the price crosses *up* to ≥ that level; use `max_probability` (e.g. `0.25`) to fire when it crosses *down* to ≤ that level. Set `one_shot` to delete the subscription after the first delivery (requires `position_ids` or `condition_ids`). Set `fire_if_already_past` to fire immediately when the first observed price is already past the target. Optional scope filters: `condition_ids`, `position_ids`, `outcomes`, `position_outcome_indices` (`0` = Yes/Up, `1` = No), `event_slugs`, `tags` (a market's tags or category), `series_slugs` (parent series).
732
+ */
733
+ post: operations["price-threshold"];
734
+ delete?: never;
735
+ options?: never;
736
+ head?: never;
737
+ patch?: never;
738
+ trace?: never;
739
+ };
740
+ "market-resolved": {
741
+ parameters: {
742
+ query?: never;
743
+ header?: never;
744
+ path?: never;
745
+ cookie?: never;
746
+ };
747
+ get?: never;
748
+ put?: never;
749
+ /**
750
+ * Market resolved callback
751
+ * @description Fired once when a market reaches a terminal resolution. Collapses the underlying oracle events (`QuestionResolved`, `QuestionEmergencyResolved`, `ConditionResolution`, `NegRiskOutcomeReported`) into a single notification carrying the winning outcome and, when available, the settled price. Optional filters: `condition_ids`, `event_slugs`, `outcomes` (only fire when the winning outcome matches, e.g. `"Yes"`), `exclude_shortterm_markets`.
752
+ */
753
+ post: operations["market-resolved"];
754
+ delete?: never;
755
+ options?: never;
756
+ head?: never;
757
+ patch?: never;
758
+ trace?: never;
759
+ };
760
+ "market-disputed": {
761
+ parameters: {
762
+ query?: never;
763
+ header?: never;
764
+ path?: never;
765
+ cookie?: never;
766
+ };
767
+ get?: never;
768
+ put?: never;
769
+ /**
770
+ * Market disputed callback
771
+ * @description Fired when a proposed market resolution is challenged on-chain (`DisputePrice` or `AssertionDisputed`) — the resolution is now contested and delayed. Carries the disputer, the proposer, and the disputed/proposed outcome when available. Optional filters: `condition_ids`, `event_slugs`, `exclude_shortterm_markets`.
772
+ */
773
+ post: operations["market-disputed"];
774
+ delete?: never;
775
+ options?: never;
776
+ head?: never;
777
+ patch?: never;
778
+ trace?: never;
779
+ };
660
780
  "market-created": {
661
781
  parameters: {
662
782
  query?: never;
@@ -826,6 +946,11 @@ export interface components {
826
946
  };
827
947
  /** @description Subscription filters for the `asset_price_tick` event. All fields are optional. */
828
948
  AssetPriceTickFilters: {
949
+ /**
950
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
951
+ * successful delivery. Applies to any webhook event.
952
+ */
953
+ one_shot?: boolean | null;
829
954
  /** @description Restrict to these crypto assets. Empty = all assets. */
830
955
  asset_symbols?: components["schemas"]["WebhookAssetSymbol"][] | null;
831
956
  };
@@ -846,6 +971,11 @@ export interface components {
846
971
  };
847
972
  /** @description Subscription filters for the `asset_price_window_update` event. All fields are optional. */
848
973
  AssetPriceWindowUpdateFilters: {
974
+ /**
975
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
976
+ * successful delivery. Applies to any webhook event.
977
+ */
978
+ one_shot?: boolean | null;
849
979
  /** @description Restrict to these crypto assets. Empty = all assets. */
850
980
  asset_symbols?: components["schemas"]["WebhookAssetSymbol"][] | null;
851
981
  /** @description Restrict to these candle sizes. Empty = all sizes. */
@@ -897,73 +1027,170 @@ export interface components {
897
1027
  AssetWindowFilterTimeframe: "5m" | "15m" | "1h" | "4h" | "1d" | "24h";
898
1028
  /** @description Category PnL webhook payload. */
899
1029
  CategoryPnlPayload: {
1030
+ /** @description Trader wallet address. */
900
1031
  trader?: string | null;
1032
+ /** @description Category. */
901
1033
  category?: string | null;
902
1034
  /** @description Aggregation timeframe: "1d", "7d", "30d", or "lifetime" */
903
1035
  timeframe: string;
904
- /** Format: double */
1036
+ /**
1037
+ * Format: double
1038
+ * @description Realized pnl in USD.
1039
+ */
905
1040
  realized_pnl_usd?: number | null;
906
- /** Format: int64 */
1041
+ /**
1042
+ * Format: int64
1043
+ * @description Markets in this category.
1044
+ */
907
1045
  markets_in_category?: number | null;
908
- /** Format: int64 */
1046
+ /**
1047
+ * Format: int64
1048
+ * @description Markets traded.
1049
+ */
909
1050
  markets_traded?: number | null;
910
- /** Format: int64 */
1051
+ /**
1052
+ * Format: int64
1053
+ * @description Number of outcomes traded.
1054
+ */
911
1055
  outcomes_traded?: number | null;
912
- /** Format: int64 */
1056
+ /**
1057
+ * Format: int64
1058
+ * @description Total buy count.
1059
+ */
913
1060
  total_buys?: number | null;
914
- /** Format: int64 */
1061
+ /**
1062
+ * Format: int64
1063
+ * @description Total sell count.
1064
+ */
915
1065
  total_sells?: number | null;
916
- /** Format: int64 */
1066
+ /**
1067
+ * Format: int64
1068
+ * @description Total redemption count.
1069
+ */
917
1070
  total_redemptions?: number | null;
918
- /** Format: int64 */
1071
+ /**
1072
+ * Format: int64
1073
+ * @description Total merge count.
1074
+ */
919
1075
  total_merges?: number | null;
920
- /** Format: int64 */
1076
+ /**
1077
+ * Format: int64
1078
+ * @description Total split count.
1079
+ */
921
1080
  total_splits?: number | null;
922
- /** Format: double */
1081
+ /**
1082
+ * Format: double
1083
+ * @description Total volume in USD.
1084
+ */
923
1085
  total_volume_usd?: number | null;
924
- /** Format: double */
1086
+ /**
1087
+ * Format: double
1088
+ * @description Buy in USD.
1089
+ */
925
1090
  buy_usd?: number | null;
926
- /** Format: double */
1091
+ /**
1092
+ * Format: double
1093
+ * @description Sell in USD.
1094
+ */
927
1095
  sell_usd?: number | null;
928
- /** Format: double */
1096
+ /**
1097
+ * Format: double
1098
+ * @description Redemption in USD.
1099
+ */
929
1100
  redemption_usd?: number | null;
930
- /** Format: double */
1101
+ /**
1102
+ * Format: double
1103
+ * @description Merge in USD.
1104
+ */
931
1105
  merge_usd?: number | null;
932
- /** Format: double */
1106
+ /**
1107
+ * Format: double
1108
+ * @description Convert collateral in USD.
1109
+ */
933
1110
  convert_collateral_usd?: number | null;
934
- /** Format: double */
1111
+ /**
1112
+ * Format: double
1113
+ * @description Split volume in USD.
1114
+ */
935
1115
  split_volume_usd?: number | null;
936
- /** Format: double */
1116
+ /**
1117
+ * Format: double
1118
+ * @description Total fees amount.
1119
+ */
937
1120
  total_fees?: number | null;
938
- /** Format: double */
1121
+ /**
1122
+ * Format: double
1123
+ * @description Total shares bought.
1124
+ */
939
1125
  total_shares_bought?: number | null;
940
- /** Format: int64 */
1126
+ /**
1127
+ * Format: int64
1128
+ * @description Markets won.
1129
+ */
941
1130
  markets_won?: number | null;
942
- /** Format: int64 */
1131
+ /**
1132
+ * Format: int64
1133
+ * @description Markets lost.
1134
+ */
943
1135
  markets_lost?: number | null;
944
- /** Format: double */
1136
+ /**
1137
+ * Format: double
1138
+ * @description Market win rate percent.
1139
+ */
945
1140
  market_win_rate_pct?: number | null;
946
- /** Format: double */
1141
+ /**
1142
+ * Format: double
1143
+ * @description Average hold time seconds.
1144
+ */
947
1145
  avg_hold_time_seconds?: number | null;
948
- /** Format: double */
1146
+ /**
1147
+ * Format: double
1148
+ * @description Best trade pnl in USD.
1149
+ */
949
1150
  best_trade_pnl_usd?: number | null;
1151
+ /** @description Best trade condition id. */
950
1152
  best_trade_condition_id?: string | null;
951
- /** Format: double */
1153
+ /**
1154
+ * Format: double
1155
+ * @description Worst trade pnl in USD.
1156
+ */
952
1157
  worst_trade_pnl_usd?: number | null;
1158
+ /** @description Worst trade condition id. */
953
1159
  worst_trade_condition_id?: string | null;
954
- /** Format: double */
1160
+ /**
1161
+ * Format: double
1162
+ * @description Total wins in USD.
1163
+ */
955
1164
  total_wins_usd?: number | null;
956
- /** Format: double */
1165
+ /**
1166
+ * Format: double
1167
+ * @description Total losses in USD.
1168
+ */
957
1169
  total_losses_usd?: number | null;
958
- /** Format: double */
1170
+ /**
1171
+ * Format: double
1172
+ * @description Average win in USD.
1173
+ */
959
1174
  avg_win_usd?: number | null;
960
- /** Format: double */
1175
+ /**
1176
+ * Format: double
1177
+ * @description Average loss in USD.
1178
+ */
961
1179
  avg_loss_usd?: number | null;
962
- /** Format: double */
1180
+ /**
1181
+ * Format: double
1182
+ * @description Profit factor.
1183
+ */
963
1184
  profit_factor?: number | null;
964
- /** Format: int64 */
1185
+ /**
1186
+ * Format: int64
1187
+ * @description First trade timestamp.
1188
+ */
965
1189
  first_trade_at?: number | null;
966
- /** Format: int64 */
1190
+ /**
1191
+ * Format: int64
1192
+ * @description Last trade timestamp.
1193
+ */
967
1194
  last_trade_at?: number | null;
968
1195
  };
969
1196
  /**
@@ -971,6 +1198,15 @@ export interface components {
971
1198
  * `min_probability` or `max_probability` is required (enforced at runtime).
972
1199
  */
973
1200
  CloseToBondFilters: {
1201
+ /**
1202
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1203
+ * successful delivery. Applies to any webhook event.
1204
+ */
1205
+ one_shot?: boolean | null;
1206
+ /** @description Restrict to markets carrying any of these tags or category names (case-insensitive). Empty = all. */
1207
+ tags?: string[] | null;
1208
+ /** @description Restrict to markets in any of these series (by slug, case-insensitive). Empty = all. */
1209
+ series_slugs?: string[] | null;
974
1210
  /**
975
1211
  * Format: double
976
1212
  * @description Trigger when the YES outcome price is ≥ this value (e.g. 0.95 for 95% certainty). At least one of `min_probability` or `max_probability` must be set.
@@ -1067,15 +1303,31 @@ export interface components {
1067
1303
  threshold: number;
1068
1304
  };
1069
1305
  ConditionHolderMetricsFilters: {
1306
+ /** @description Market condition IDs to match. */
1070
1307
  condition_ids?: string[];
1308
+ /**
1309
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1310
+ * successful delivery. Applies to any webhook event.
1311
+ */
1312
+ one_shot?: boolean | null;
1071
1313
  };
1072
1314
  ConditionHolderMetricsPayload: {
1073
- /** Format: int32 */
1315
+ /**
1316
+ * Format: int32
1317
+ * @description Unix timestamp in seconds.
1318
+ */
1074
1319
  ts: number;
1075
- /** Format: int64 */
1320
+ /**
1321
+ * Format: int64
1322
+ * @description Block number.
1323
+ */
1076
1324
  block: number;
1325
+ /** @description Market condition ID. */
1077
1326
  condition_id: string;
1078
- /** Format: int32 */
1327
+ /**
1328
+ * Format: int32
1329
+ * @description Number of holders.
1330
+ */
1079
1331
  holder_count: number;
1080
1332
  };
1081
1333
  /** @description Payload delivered when a market's volume or transaction metrics cross a configured threshold */
@@ -1182,6 +1434,7 @@ export interface components {
1182
1434
  };
1183
1435
  /** @description Delete webhook response */
1184
1436
  DeleteWebhookResponse: {
1437
+ /** @description Whether the webhook was deleted. */
1185
1438
  deleted: boolean;
1186
1439
  };
1187
1440
  /**
@@ -1234,19 +1487,91 @@ export interface components {
1234
1487
  event_slug?: string | null;
1235
1488
  };
1236
1489
  EventHolderMetricsFilters: {
1490
+ /** @description Event slugs to match. */
1237
1491
  event_slugs?: string[];
1492
+ /**
1493
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1494
+ * successful delivery. Applies to any webhook event.
1495
+ */
1496
+ one_shot?: boolean | null;
1238
1497
  };
1239
1498
  EventHolderMetricsPayload: {
1240
- /** Format: int32 */
1499
+ /**
1500
+ * Format: int32
1501
+ * @description Unix timestamp in seconds.
1502
+ */
1241
1503
  ts: number;
1242
- /** Format: int64 */
1504
+ /**
1505
+ * Format: int64
1506
+ * @description Block number.
1507
+ */
1243
1508
  block: number;
1509
+ /** @description Event slug. */
1244
1510
  event_slug: string;
1245
- /** Format: int32 */
1511
+ /**
1512
+ * Format: int32
1513
+ * @description Number of holders.
1514
+ */
1246
1515
  holder_count: number;
1247
1516
  };
1248
- /** @description Subscription filters for the `event_metrics` event. All fields are optional. */
1517
+ /**
1518
+ * @description Subscription filters for the `event_liquidity` event.
1519
+ *
1520
+ * At least one of `min_liquidity_usd`, `max_liquidity_usd`, or `one_shot` must be set.
1521
+ * Thresholds are edge-triggered: a callback fires when liquidity crosses the threshold,
1522
+ * then re-arms once it crosses back (unless `one_shot`).
1523
+ */
1524
+ EventLiquidityFilters: {
1525
+ /**
1526
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1527
+ * successful delivery.
1528
+ */
1529
+ one_shot?: boolean | null;
1530
+ /**
1531
+ * Format: double
1532
+ * @description Fire when total liquidity crosses up through this USD value.
1533
+ */
1534
+ min_liquidity_usd?: number | null;
1535
+ /**
1536
+ * Format: double
1537
+ * @description Fire when total liquidity crosses down through this USD value.
1538
+ */
1539
+ max_liquidity_usd?: number | null;
1540
+ /** @description **Required.** Events to receive liquidity updates for. */
1541
+ event_slugs: string[];
1542
+ };
1543
+ /** @description Event liquidity webhook payload. */
1544
+ EventLiquidityPayload: {
1545
+ /** @description Event slug. */
1546
+ event_slug: string;
1547
+ /**
1548
+ * Format: double
1549
+ * @description Total order-book liquidity in USD at the time of firing.
1550
+ */
1551
+ liquidity_usd: number;
1552
+ /**
1553
+ * Format: double
1554
+ * @description The threshold (USD) that was crossed.
1555
+ */
1556
+ threshold_usd: number;
1557
+ /**
1558
+ * @description `"above"` when liquidity crossed up through `min_liquidity_usd`,
1559
+ * `"below"` when it crossed down through `max_liquidity_usd`.
1560
+ */
1561
+ direction: string;
1562
+ /**
1563
+ * Format: int64
1564
+ * @description Update timestamp (Unix millis).
1565
+ */
1566
+ liquidity_updated_at: number;
1567
+ };
1568
+ /** @description Subscription filters for the `event_metrics` event. All fields are optional. */
1249
1569
  EventMetricsFilters: {
1570
+ /**
1571
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1572
+ * successful delivery. Applies to any webhook event.
1573
+ */
1574
+ one_shot?: boolean | null;
1250
1575
  /** @description Restrict to these events. Empty = all events. */
1251
1576
  event_slugs?: string[] | null;
1252
1577
  /** @description Restrict to these aggregation windows. */
@@ -1256,13 +1581,25 @@ export interface components {
1256
1581
  * @description Only fire when aggregated event volume ≥ this value (USD).
1257
1582
  */
1258
1583
  min_volume_usd?: number | null;
1259
- /** Format: double */
1584
+ /**
1585
+ * Format: double
1586
+ * @description Maximum volume USD.
1587
+ */
1260
1588
  max_volume_usd?: number | null;
1261
- /** Format: int64 */
1589
+ /**
1590
+ * Format: int64
1591
+ * @description Minimum transactions.
1592
+ */
1262
1593
  min_txns?: number | null;
1263
- /** Format: int64 */
1594
+ /**
1595
+ * Format: int64
1596
+ * @description Minimum unique traders.
1597
+ */
1264
1598
  min_unique_traders?: number | null;
1265
- /** Format: double */
1599
+ /**
1600
+ * Format: double
1601
+ * @description Minimum fees.
1602
+ */
1266
1603
  min_fees?: number | null;
1267
1604
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
1268
1605
  exclude_shortterm_markets?: boolean | null;
@@ -1336,6 +1673,11 @@ export interface components {
1336
1673
  };
1337
1674
  /** @description Subscription filters for the `event_volume_milestone` event. */
1338
1675
  EventVolumeMilestoneFilters: {
1676
+ /**
1677
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1678
+ * successful delivery. Applies to any webhook event.
1679
+ */
1680
+ one_shot?: boolean | null;
1339
1681
  /** @description **Required.** Aggregation windows to monitor. */
1340
1682
  timeframes: components["schemas"]["MetricFilterTimeframe"][];
1341
1683
  /** @description Restrict to these events. */
@@ -1347,7 +1689,9 @@ export interface components {
1347
1689
  };
1348
1690
  /** @description Event volume milestone webhook payload */
1349
1691
  EventVolumeMilestonePayload: {
1692
+ /** @description Event slug. */
1350
1693
  event_slug: string;
1694
+ /** @description Metric timeframe. */
1351
1695
  timeframe: string;
1352
1696
  /**
1353
1697
  * Format: double
@@ -1372,6 +1716,11 @@ export interface components {
1372
1716
  };
1373
1717
  /** @description Subscription filters for the `event_volume_spike` event. `spike_ratio` is required. */
1374
1718
  EventVolumeSpikeFilters: {
1719
+ /**
1720
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
1721
+ * successful delivery. Applies to any webhook event.
1722
+ */
1723
+ one_shot?: boolean | null;
1375
1724
  /**
1376
1725
  * Format: double
1377
1726
  * @description **Required.** Multiplier threshold (must be > 1.0). Fires when current volume >= snapshot × ratio.
@@ -1391,9 +1740,13 @@ export interface components {
1391
1740
  };
1392
1741
  /** @description Event volume spike webhook payload */
1393
1742
  EventVolumeSpikePayload: {
1743
+ /** @description Event slug. */
1394
1744
  event_slug: string;
1745
+ /** @description Event title. */
1395
1746
  event_title?: string | null;
1747
+ /** @description Image URL. */
1396
1748
  image_url?: string | null;
1749
+ /** @description Metric timeframe. */
1397
1750
  timeframe: string;
1398
1751
  /**
1399
1752
  * Format: double
@@ -1428,26 +1781,50 @@ export interface components {
1428
1781
  };
1429
1782
  /** @description Exit Markers webhook payload — one position open->closed transition. */
1430
1783
  ExitMarkersPayload: {
1784
+ /** @description Trader wallet address. */
1431
1785
  trader: string;
1786
+ /** @description Outcome token ID. */
1432
1787
  position_id: string;
1788
+ /** @description Market condition ID. */
1433
1789
  condition_id: string;
1790
+ /** @description Event slug. */
1434
1791
  event_slug: string;
1792
+ /** @description Market slug. */
1435
1793
  market_slug: string;
1794
+ /** @description Title. */
1436
1795
  title: string;
1796
+ /** @description Market question. */
1437
1797
  question: string;
1798
+ /** @description Image URL. */
1438
1799
  image_url: string;
1800
+ /** @description Outcome name. */
1439
1801
  outcome: string;
1440
- /** Format: int32 */
1802
+ /**
1803
+ * Format: int32
1804
+ * @description Outcome index.
1805
+ */
1441
1806
  outcome_index?: number | null;
1442
- /** Format: double */
1807
+ /**
1808
+ * Format: double
1809
+ * @description Pnl in USD.
1810
+ */
1443
1811
  pnl_usd: number;
1444
- /** Format: double */
1812
+ /**
1813
+ * Format: double
1814
+ * @description Pnl percent.
1815
+ */
1445
1816
  pnl_pct: number;
1446
- /** Format: double */
1817
+ /**
1818
+ * Format: double
1819
+ * @description Cost basis in USD.
1820
+ */
1447
1821
  cost_basis_usd: number;
1448
1822
  /** @description resolved_win | resolved_loss | sold_win | sold_loss */
1449
1823
  reason: string;
1450
- /** Format: int64 */
1824
+ /**
1825
+ * Format: int64
1826
+ * @description Block number.
1827
+ */
1451
1828
  block: number;
1452
1829
  /**
1453
1830
  * Format: int32
@@ -1523,6 +1900,7 @@ export interface components {
1523
1900
  };
1524
1901
  /** @description Global PnL webhook payload. */
1525
1902
  GlobalPnlPayload: {
1903
+ /** @description Trader wallet address. */
1526
1904
  trader?: string | null;
1527
1905
  /** @description Aggregation timeframe: "1d", "7d", "30d", or "lifetime" */
1528
1906
  timeframe: string;
@@ -1531,87 +1909,203 @@ export interface components {
1531
1909
  * @description Realized PnL for the timeframe (matches REST `/pnl/global`).
1532
1910
  */
1533
1911
  realized_pnl_usd?: number | null;
1534
- /** Format: int64 */
1912
+ /**
1913
+ * Format: int64
1914
+ * @description Events traded.
1915
+ */
1535
1916
  events_traded?: number | null;
1536
- /** Format: int64 */
1917
+ /**
1918
+ * Format: int64
1919
+ * @description Markets traded.
1920
+ */
1537
1921
  markets_traded?: number | null;
1538
- /** Format: int64 */
1922
+ /**
1923
+ * Format: int64
1924
+ * @description Total buy count.
1925
+ */
1539
1926
  total_buys?: number | null;
1540
- /** Format: int64 */
1927
+ /**
1928
+ * Format: int64
1929
+ * @description Total sell count.
1930
+ */
1541
1931
  total_sells?: number | null;
1542
- /** Format: int64 */
1932
+ /**
1933
+ * Format: int64
1934
+ * @description Total redemption count.
1935
+ */
1543
1936
  total_redemptions?: number | null;
1544
- /** Format: int64 */
1937
+ /**
1938
+ * Format: int64
1939
+ * @description Total merge count.
1940
+ */
1545
1941
  total_merges?: number | null;
1546
- /** Format: int64 */
1942
+ /**
1943
+ * Format: int64
1944
+ * @description Total split count.
1945
+ */
1547
1946
  total_splits?: number | null;
1548
- /** Format: double */
1947
+ /**
1948
+ * Format: double
1949
+ * @description Total volume in USD.
1950
+ */
1549
1951
  total_volume_usd?: number | null;
1550
- /** Format: double */
1952
+ /**
1953
+ * Format: double
1954
+ * @description Buy volume in USD.
1955
+ */
1551
1956
  buy_volume_usd?: number | null;
1552
- /** Format: double */
1957
+ /**
1958
+ * Format: double
1959
+ * @description Sell volume in USD.
1960
+ */
1553
1961
  sell_volume_usd?: number | null;
1554
- /** Format: double */
1962
+ /**
1963
+ * Format: double
1964
+ * @description Redemption volume in USD.
1965
+ */
1555
1966
  redemption_volume_usd?: number | null;
1556
- /** Format: double */
1967
+ /**
1968
+ * Format: double
1969
+ * @description Merge volume in USD.
1970
+ */
1557
1971
  merge_volume_usd?: number | null;
1558
- /** Format: double */
1972
+ /**
1973
+ * Format: double
1974
+ * @description Convert collateral in USD.
1975
+ */
1559
1976
  convert_collateral_usd?: number | null;
1560
- /** Format: double */
1977
+ /**
1978
+ * Format: double
1979
+ * @description Split volume in USD.
1980
+ */
1561
1981
  split_volume_usd?: number | null;
1562
- /** Format: int64 */
1982
+ /**
1983
+ * Format: int64
1984
+ * @description Maker rebate count.
1985
+ */
1563
1986
  maker_rebate_count?: number | null;
1564
- /** Format: double */
1987
+ /**
1988
+ * Format: double
1989
+ * @description Maker rebate in USD.
1990
+ */
1565
1991
  maker_rebate_usd?: number | null;
1566
- /** Format: int64 */
1992
+ /**
1993
+ * Format: int64
1994
+ * @description Reward count.
1995
+ */
1567
1996
  reward_count?: number | null;
1568
- /** Format: double */
1997
+ /**
1998
+ * Format: double
1999
+ * @description Reward in USD.
2000
+ */
1569
2001
  reward_usd?: number | null;
1570
- /** Format: int64 */
2002
+ /**
2003
+ * Format: int64
2004
+ * @description Yield count.
2005
+ */
1571
2006
  yield_count?: number | null;
1572
- /** Format: double */
2007
+ /**
2008
+ * Format: double
2009
+ * @description Yield in USD.
2010
+ */
1573
2011
  yield_usd?: number | null;
1574
- /** Format: int64 */
2012
+ /**
2013
+ * Format: int64
2014
+ * @description Total credit count.
2015
+ */
1575
2016
  total_credit_count?: number | null;
1576
- /** Format: double */
2017
+ /**
2018
+ * Format: double
2019
+ * @description Total credit in USD.
2020
+ */
1577
2021
  total_credit_usd?: number | null;
1578
- /** Format: int64 */
2022
+ /**
2023
+ * Format: int64
2024
+ * @description Markets won.
2025
+ */
1579
2026
  markets_won?: number | null;
1580
- /** Format: int64 */
2027
+ /**
2028
+ * Format: int64
2029
+ * @description Markets lost.
2030
+ */
1581
2031
  markets_lost?: number | null;
1582
- /** Format: double */
2032
+ /**
2033
+ * Format: double
2034
+ * @description Market win rate percent.
2035
+ */
1583
2036
  market_win_rate_pct?: number | null;
1584
- /** Format: double */
2037
+ /**
2038
+ * Format: double
2039
+ * @description Total wins in USD.
2040
+ */
1585
2041
  total_wins_usd?: number | null;
1586
- /** Format: double */
2042
+ /**
2043
+ * Format: double
2044
+ * @description Total losses in USD.
2045
+ */
1587
2046
  total_losses_usd?: number | null;
1588
- /** Format: double */
2047
+ /**
2048
+ * Format: double
2049
+ * @description Average win in USD.
2050
+ */
1589
2051
  avg_win_usd?: number | null;
1590
- /** Format: double */
2052
+ /**
2053
+ * Format: double
2054
+ * @description Average loss in USD.
2055
+ */
1591
2056
  avg_loss_usd?: number | null;
1592
- /** Format: double */
2057
+ /**
2058
+ * Format: double
2059
+ * @description Profit factor.
2060
+ */
1593
2061
  profit_factor?: number | null;
1594
- /** Format: double */
2062
+ /**
2063
+ * Format: double
2064
+ * @description Average hold time seconds.
2065
+ */
1595
2066
  avg_hold_time_seconds?: number | null;
1596
- /** Format: double */
2067
+ /**
2068
+ * Format: double
2069
+ * @description Total fees amount.
2070
+ */
1597
2071
  total_fees?: number | null;
1598
- /** Format: double */
2072
+ /**
2073
+ * Format: double
2074
+ * @description Best trade pnl in USD.
2075
+ */
1599
2076
  best_trade_pnl_usd?: number | null;
2077
+ /** @description Best trade condition id. */
1600
2078
  best_trade_condition_id?: string | null;
1601
- /** Format: double */
2079
+ /**
2080
+ * Format: double
2081
+ * @description Worst trade pnl in USD.
2082
+ */
1602
2083
  worst_trade_pnl_usd?: number | null;
2084
+ /** @description Worst trade condition id. */
1603
2085
  worst_trade_condition_id?: string | null;
1604
- /** Format: int64 */
2086
+ /**
2087
+ * Format: int64
2088
+ * @description First trade timestamp.
2089
+ */
1605
2090
  first_trade_at?: number | null;
1606
- /** Format: int64 */
2091
+ /**
2092
+ * Format: int64
2093
+ * @description Last trade timestamp.
2094
+ */
1607
2095
  last_trade_at?: number | null;
1608
2096
  };
1609
2097
  /** @description Response for GET /v1/webhook/events */
1610
2098
  ListEventsResponse: {
2099
+ /** @description Supported webhook events. */
1611
2100
  events: components["schemas"]["WebhookEventInfo"][];
1612
2101
  };
1613
2102
  /** @description Subscription filters for the `market_created` event. All fields are optional. */
1614
2103
  MarketCreatedFilters: {
2104
+ /**
2105
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2106
+ * successful delivery. Applies to any webhook event.
2107
+ */
2108
+ one_shot?: boolean | null;
1615
2109
  /** @description Restrict to markets with these tags or category names (case-insensitive match). */
1616
2110
  tags?: string[] | null;
1617
2111
  /** @description Restrict to markets belonging to these events. */
@@ -1662,8 +2156,116 @@ export interface components {
1662
2156
  /** @description Whether this is a neg-risk market */
1663
2157
  neg_risk: boolean;
1664
2158
  };
2159
+ /** @description Subscription filters for the `market_disputed` event. All fields are optional. */
2160
+ MarketDisputedFilters: {
2161
+ /**
2162
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2163
+ * successful delivery. Applies to any webhook event.
2164
+ */
2165
+ one_shot?: boolean | null;
2166
+ /** @description Restrict to these markets. */
2167
+ condition_ids?: string[] | null;
2168
+ /** @description Restrict to markets in these events. */
2169
+ event_slugs?: string[] | null;
2170
+ /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
2171
+ exclude_shortterm_markets?: boolean | null;
2172
+ };
2173
+ /** @description Market-disputed webhook payload */
2174
+ MarketDisputedPayload: {
2175
+ /** @description Condition ID (the contested market), when resolvable */
2176
+ condition_id?: string | null;
2177
+ /** @description Which oracle event produced this dispute: `"dispute_price"` or `"assertion_disputed"`. */
2178
+ dispute_kind: string;
2179
+ /** @description Address that filed the dispute */
2180
+ disputer: string;
2181
+ /** @description Address that made the disputed proposal/assertion, when known */
2182
+ proposer?: string | null;
2183
+ /** @description The proposed outcome that was disputed, when known (e.g. "Yes", "No") */
2184
+ proposed_outcome?: string | null;
2185
+ /**
2186
+ * Format: double
2187
+ * @description The proposed price (0.0–1.0) that was disputed (`DisputePrice` only)
2188
+ */
2189
+ proposed_price?: number | null;
2190
+ /** @description Market question */
2191
+ question?: string | null;
2192
+ /** @description Market slug */
2193
+ market_slug?: string | null;
2194
+ /** @description Event slug */
2195
+ event_slug?: string | null;
2196
+ /** @description Market image URL */
2197
+ image_url?: string | null;
2198
+ /** @description Transaction hash of the dispute event */
2199
+ hash: string;
2200
+ /**
2201
+ * Format: int64
2202
+ * @description Block number
2203
+ */
2204
+ block?: number | null;
2205
+ /**
2206
+ * Format: int64
2207
+ * @description Confirmed timestamp (Unix seconds)
2208
+ */
2209
+ confirmed_at?: number | null;
2210
+ };
2211
+ /**
2212
+ * @description Subscription filters for the `market_liquidity` event.
2213
+ *
2214
+ * At least one of `min_liquidity_usd`, `max_liquidity_usd`, or `one_shot` must be set.
2215
+ * Thresholds are edge-triggered: a callback fires when liquidity crosses the threshold,
2216
+ * then re-arms once it crosses back (unless `one_shot`).
2217
+ */
2218
+ MarketLiquidityFilters: {
2219
+ /**
2220
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2221
+ * successful delivery.
2222
+ */
2223
+ one_shot?: boolean | null;
2224
+ /**
2225
+ * Format: double
2226
+ * @description Fire when total liquidity crosses up through this USD value.
2227
+ */
2228
+ min_liquidity_usd?: number | null;
2229
+ /**
2230
+ * Format: double
2231
+ * @description Fire when total liquidity crosses down through this USD value.
2232
+ */
2233
+ max_liquidity_usd?: number | null;
2234
+ /** @description **Required.** Markets to receive liquidity updates for. */
2235
+ condition_ids: string[];
2236
+ };
2237
+ /** @description Market liquidity webhook payload. */
2238
+ MarketLiquidityPayload: {
2239
+ /** @description Market condition ID. */
2240
+ condition_id: string;
2241
+ /**
2242
+ * Format: double
2243
+ * @description Total order-book liquidity in USD at the time of firing.
2244
+ */
2245
+ liquidity_usd: number;
2246
+ /**
2247
+ * Format: double
2248
+ * @description The threshold (USD) that was crossed.
2249
+ */
2250
+ threshold_usd: number;
2251
+ /**
2252
+ * @description `"above"` when liquidity crossed up through `min_liquidity_usd`,
2253
+ * `"below"` when it crossed down through `max_liquidity_usd`.
2254
+ */
2255
+ direction: string;
2256
+ /**
2257
+ * Format: int64
2258
+ * @description Update timestamp (Unix millis).
2259
+ */
2260
+ liquidity_updated_at: number;
2261
+ };
1665
2262
  /** @description Subscription filters for the `condition_metrics` event. All fields are optional. */
1666
2263
  MarketMetricsFilters: {
2264
+ /**
2265
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2266
+ * successful delivery. Applies to any webhook event.
2267
+ */
2268
+ one_shot?: boolean | null;
1667
2269
  /** @description Restrict to these markets. Empty = all markets. */
1668
2270
  condition_ids?: string[] | null;
1669
2271
  /** @description Restrict to these aggregation windows. Empty = all windows. */
@@ -1696,51 +2298,168 @@ export interface components {
1696
2298
  };
1697
2299
  /** @description Market PnL webhook payload. */
1698
2300
  MarketPnlPayload: {
2301
+ /** @description Trader wallet address. */
1699
2302
  trader?: string | null;
2303
+ /** @description Market condition ID. */
1700
2304
  condition_id?: string | null;
2305
+ /** @description Event slug. */
1701
2306
  event_slug?: string | null;
2307
+ /** @description Category. */
1702
2308
  category?: string | null;
1703
2309
  /** @description Aggregation timeframe: "1d", "7d", "30d", or "lifetime" */
1704
2310
  timeframe: string;
1705
- /** Format: double */
2311
+ /**
2312
+ * Format: double
2313
+ * @description Realized pnl in USD.
2314
+ */
1706
2315
  realized_pnl_usd?: number | null;
1707
- /** Format: double */
2316
+ /**
2317
+ * Format: double
2318
+ * @description Current shares balance.
2319
+ */
1708
2320
  current_shares_balance?: number | null;
1709
- /** Format: int64 */
2321
+ /**
2322
+ * Format: int64
2323
+ * @description Number of outcomes traded.
2324
+ */
1710
2325
  outcomes_traded?: number | null;
1711
- /** Format: int64 */
2326
+ /**
2327
+ * Format: int64
2328
+ * @description Total buy count.
2329
+ */
1712
2330
  total_buys?: number | null;
1713
- /** Format: int64 */
2331
+ /**
2332
+ * Format: int64
2333
+ * @description Total sell count.
2334
+ */
1714
2335
  total_sells?: number | null;
1715
- /** Format: int64 */
2336
+ /**
2337
+ * Format: int64
2338
+ * @description Total redemption count.
2339
+ */
1716
2340
  total_redemptions?: number | null;
1717
- /** Format: int64 */
2341
+ /**
2342
+ * Format: int64
2343
+ * @description Total merge count.
2344
+ */
1718
2345
  total_merges?: number | null;
1719
- /** Format: int64 */
2346
+ /**
2347
+ * Format: int64
2348
+ * @description Total split count.
2349
+ */
1720
2350
  total_splits?: number | null;
1721
- /** Format: double */
2351
+ /**
2352
+ * Format: double
2353
+ * @description Buy in USD.
2354
+ */
1722
2355
  buy_usd?: number | null;
1723
- /** Format: double */
2356
+ /**
2357
+ * Format: double
2358
+ * @description Sell in USD.
2359
+ */
1724
2360
  sell_usd?: number | null;
1725
- /** Format: double */
2361
+ /**
2362
+ * Format: double
2363
+ * @description Redemption in USD.
2364
+ */
1726
2365
  redemption_usd?: number | null;
1727
- /** Format: double */
2366
+ /**
2367
+ * Format: double
2368
+ * @description Merge in USD.
2369
+ */
1728
2370
  merge_usd?: number | null;
1729
- /** Format: double */
2371
+ /**
2372
+ * Format: double
2373
+ * @description Convert collateral in USD.
2374
+ */
1730
2375
  convert_collateral_usd?: number | null;
1731
- /** Format: double */
2376
+ /**
2377
+ * Format: double
2378
+ * @description Split volume in USD.
2379
+ */
1732
2380
  split_volume_usd?: number | null;
1733
- /** Format: double */
2381
+ /**
2382
+ * Format: double
2383
+ * @description Total fees amount.
2384
+ */
1734
2385
  total_fees?: number | null;
1735
- /** Format: double */
2386
+ /**
2387
+ * Format: double
2388
+ * @description Total shares bought.
2389
+ */
1736
2390
  total_shares_bought?: number | null;
1737
- /** Format: int64 */
2391
+ /**
2392
+ * Format: int64
2393
+ * @description First trade timestamp.
2394
+ */
1738
2395
  first_trade_at?: number | null;
1739
- /** Format: int64 */
2396
+ /**
2397
+ * Format: int64
2398
+ * @description Last trade timestamp.
2399
+ */
1740
2400
  last_trade_at?: number | null;
1741
2401
  };
2402
+ /** @description Subscription filters for the `market_resolved` event. All fields are optional. */
2403
+ MarketResolvedFilters: {
2404
+ /**
2405
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2406
+ * successful delivery. Applies to any webhook event.
2407
+ */
2408
+ one_shot?: boolean | null;
2409
+ /** @description Restrict to these markets. */
2410
+ condition_ids?: string[] | null;
2411
+ /** @description Restrict to markets in these events. */
2412
+ event_slugs?: string[] | null;
2413
+ /** @description Only fire when the winning outcome matches one of these (e.g. \["Yes"\]). */
2414
+ outcomes?: string[] | null;
2415
+ /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
2416
+ exclude_shortterm_markets?: boolean | null;
2417
+ };
2418
+ /** @description Market-resolved webhook payload */
2419
+ MarketResolvedPayload: {
2420
+ /** @description Condition ID (the resolved market) */
2421
+ condition_id: string;
2422
+ /** @description Winning outcome name when known (e.g. "Yes", "No") */
2423
+ winning_outcome?: string | null;
2424
+ /**
2425
+ * Format: double
2426
+ * @description Settled price (0.0–1.0) when the resolution event carries one
2427
+ * (`QuestionResolved` only). 1.0 = full YES, 0.0 = full NO, 0.5 = split.
2428
+ */
2429
+ settled_price?: number | null;
2430
+ /**
2431
+ * @description Which oracle event produced this resolution: `"question_resolved"`,
2432
+ * `"question_emergency_resolved"`, `"condition_resolution"`, or `"neg_risk_outcome_reported"`.
2433
+ */
2434
+ resolution_kind: string;
2435
+ /** @description Market question */
2436
+ question?: string | null;
2437
+ /** @description Market slug */
2438
+ market_slug?: string | null;
2439
+ /** @description Event slug */
2440
+ event_slug?: string | null;
2441
+ /** @description Market image URL */
2442
+ image_url?: string | null;
2443
+ /** @description Transaction hash of the resolution event */
2444
+ hash: string;
2445
+ /**
2446
+ * Format: int64
2447
+ * @description Block number
2448
+ */
2449
+ block?: number | null;
2450
+ /**
2451
+ * Format: int64
2452
+ * @description Confirmed timestamp (Unix seconds)
2453
+ */
2454
+ confirmed_at?: number | null;
2455
+ };
1742
2456
  /** @description Subscription filters for the `market_volume_milestone` event. */
1743
2457
  MarketVolumeMilestoneFilters: {
2458
+ /**
2459
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2460
+ * successful delivery. Applies to any webhook event.
2461
+ */
2462
+ one_shot?: boolean | null;
1744
2463
  /** @description **Required.** Aggregation windows to monitor (e.g. \["1h", "24h"\]). */
1745
2464
  timeframes: components["schemas"]["MetricFilterTimeframe"][];
1746
2465
  /** @description Restrict to these markets. Empty = all markets. */
@@ -1750,6 +2469,11 @@ export interface components {
1750
2469
  };
1751
2470
  /** @description Subscription filters for the `market_volume_spike` event. `spike_ratio` is required. */
1752
2471
  MarketVolumeSpikeFilters: {
2472
+ /**
2473
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2474
+ * successful delivery. Applies to any webhook event.
2475
+ */
2476
+ one_shot?: boolean | null;
1753
2477
  /**
1754
2478
  * Format: double
1755
2479
  * @description **Required.** Multiplier threshold (must be > 1.0). Fires when current volume >= snapshot × ratio. The snapshot is set automatically on first data and resets after each fire.
@@ -1767,11 +2491,17 @@ export interface components {
1767
2491
  };
1768
2492
  /** @description Market volume spike webhook payload */
1769
2493
  MarketVolumeSpikePayload: {
2494
+ /** @description Market condition ID. */
1770
2495
  condition_id: string;
2496
+ /** @description Market question. */
1771
2497
  question?: string | null;
2498
+ /** @description Market slug. */
1772
2499
  market_slug?: string | null;
2500
+ /** @description Event slug. */
1773
2501
  event_slug?: string | null;
2502
+ /** @description Image URL. */
1774
2503
  image_url?: string | null;
2504
+ /** @description Metric timeframe. */
1775
2505
  timeframe: string;
1776
2506
  /**
1777
2507
  * Format: double
@@ -1981,6 +2711,7 @@ export interface components {
1981
2711
  /**
1982
2712
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
1983
2713
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
2714
+ * CLOB builder code.
1984
2715
  */
1985
2716
  builder_code?: string | null;
1986
2717
  /**
@@ -2052,6 +2783,11 @@ export interface components {
2052
2783
  });
2053
2784
  /** @description Subscription filters for the `oracle_events` event. All fields are optional. */
2054
2785
  OracleEventsFilters: {
2786
+ /**
2787
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
2788
+ * successful delivery. Applies to any webhook event.
2789
+ */
2790
+ one_shot?: boolean | null;
2055
2791
  /** @description Restrict to these event types (case-insensitive). Empty = all. */
2056
2792
  oracle_event_types?: components["schemas"]["OracleEventFilterType"][] | null;
2057
2793
  /** @description Restrict to events for these condition IDs. */
@@ -2078,11 +2814,15 @@ export interface components {
2078
2814
  * @description Polymarket webhook event types
2079
2815
  * @enum {string}
2080
2816
  */
2081
- PolymarketWebhookEvent: "trader_first_trade" | "trader_new_market" | "trader_whale_trade" | "trader_new_trade" | "trader_trade_event" | "trader_global_pnl" | "trader_market_pnl" | "trader_category_pnl" | "trader_position_resolved" | "trader_exit_markers" | "position_holder_metrics" | "condition_holder_metrics" | "event_holder_metrics" | "condition_metrics" | "event_metrics" | "tag_metrics" | "position_metrics" | "market_volume_milestone" | "event_volume_milestone" | "position_volume_milestone" | "probability_spike" | "market_volume_spike" | "event_volume_spike" | "position_volume_spike" | "close_to_bond" | "market_created" | "asset_price_tick" | "asset_price_window_update" | "price_spike" | "oracle_events";
2817
+ PolymarketWebhookEvent: "trader_first_trade" | "trader_new_market" | "trader_whale_trade" | "trader_new_trade" | "trader_trade_event" | "trader_global_pnl" | "trader_market_pnl" | "trader_category_pnl" | "trader_position_resolved" | "trader_exit_markers" | "position_holder_metrics" | "condition_holder_metrics" | "event_holder_metrics" | "condition_metrics" | "event_metrics" | "tag_metrics" | "position_metrics" | "position_liquidity" | "market_liquidity" | "event_liquidity" | "market_volume_milestone" | "event_volume_milestone" | "position_volume_milestone" | "probability_spike" | "market_volume_spike" | "event_volume_spike" | "position_volume_spike" | "close_to_bond" | "market_created" | "asset_price_tick" | "asset_price_window_update" | "price_spike" | "oracle_events" | "price_threshold" | "market_resolved" | "market_disputed";
2082
2818
  /**
2083
2819
  * @description Polymarket-specific webhook filters
2084
2820
  *
2085
- * Different webhook handlers use different subsets of these fields:
2821
+ * Different webhook handlers use different subsets of these fields.
2822
+ * The trade-driven events `price_spike`, `probability_spike`, and
2823
+ * `close_to_bond` additionally accept `tags` (matches a market's tags OR its
2824
+ * category) and `series_slugs` (matches the market's parent series); these are
2825
+ * resolved from the tags/series the crawler enriches onto each trade.
2086
2826
  * - first_trade: wallet_addresses, min_usd_value, min_probability, max_probability, condition_ids, event_slugs, tags
2087
2827
  * - new_market: wallet_addresses, condition_ids, event_slugs, min_usd_value, min_probability, max_probability
2088
2828
  * - whale_trade: min_usd_value (required), min_probability, max_probability, condition_ids, event_slugs
@@ -2094,10 +2834,10 @@ export interface components {
2094
2834
  * - tag_metrics: tags, min_volume_usd, max_volume_usd, min_fees, min_txns, timeframes
2095
2835
  * - position_metrics: position_ids, condition_ids, outcomes, min_volume_usd, max_volume_usd, min_buy_usd, min_sell_volume_usd, min_fees, min_txns, min_price_change_pct, min_probability_change_pct, timeframes
2096
2836
  * - volume_milestone: condition_ids, timeframes, milestone_amounts
2097
- * - close_to_bond: min_probability (high zone threshold), max_probability (low zone threshold), condition_ids, position_ids, outcomes, position_outcome_indices, event_slugs, exclude_shortterm_markets
2837
+ * - close_to_bond: min_probability (high zone threshold), max_probability (low zone threshold), condition_ids, tags, series_slugs, position_ids, outcomes, position_outcome_indices, event_slugs, exclude_shortterm_markets
2098
2838
  * - market_created: event_slugs, tags, exclude_shortterm_markets
2099
- * - probability_spike: condition_ids, event_slugs, outcomes, min_probability, max_probability, min_probability_change_pct, spike_direction, window_secs, exclude_shortterm_markets
2100
- * - price_spike: condition_ids, event_slugs, outcomes, min_price_change_pct, spike_direction, window_secs, exclude_shortterm_markets
2839
+ * - probability_spike: condition_ids, event_slugs, tags, series_slugs, outcomes, min_probability, max_probability, min_probability_change_pct, spike_direction, window_secs, exclude_shortterm_markets
2840
+ * - price_spike: condition_ids, event_slugs, tags, series_slugs, outcomes, min_price_change_pct, spike_direction, window_secs, exclude_shortterm_markets
2101
2841
  * - trader_new_trade: wallet_addresses, min_usd_value, min_probability, max_probability, condition_ids, event_slugs, trade_types, exclude_shortterm_markets
2102
2842
  * - trader_trade_event: wallet_addresses, min_usd_value, min_probability, max_probability, condition_ids, event_slugs, trade_types, exclude_shortterm_markets
2103
2843
  * - trader_first_trade: wallet_addresses, min_usd_value, min_probability, max_probability, exclude_shortterm_markets
@@ -2109,21 +2849,43 @@ export interface components {
2109
2849
  * Implements Hash + Eq manually (f64 fields use bit representation)
2110
2850
  */
2111
2851
  PolymarketWebhookFilter: {
2112
- /** @description Filter by wallet addresses (for first_trade, normalized to lowercase). Max 500 entries. */
2852
+ /**
2853
+ * @description Filter by wallet addresses (for first_trade, normalized to lowercase). Max 500 entries.
2854
+ * Wallet addresses to match.
2855
+ */
2113
2856
  wallet_addresses?: string[];
2114
- /** @description Filter by trader addresses (for PnL webhooks, normalized to lowercase). Max 500 entries. */
2857
+ /**
2858
+ * @description Filter by trader addresses (for PnL webhooks, normalized to lowercase). Max 500 entries.
2859
+ * Trader wallet addresses to match.
2860
+ */
2115
2861
  traders?: string[];
2116
- /** @description Filter by market/condition IDs. Max 500 entries. */
2862
+ /**
2863
+ * @description Filter by market/condition IDs. Max 500 entries.
2864
+ * Market condition IDs to match.
2865
+ */
2117
2866
  condition_ids?: string[];
2118
2867
  /**
2119
2868
  * Format: double
2120
2869
  * @description Filter by minimum USD value (for trades)
2121
2870
  */
2122
2871
  min_usd_value?: number | null;
2123
- /** @description Filter by event slugs. Max 500 entries. */
2872
+ /**
2873
+ * @description Filter by event slugs. Max 500 entries.
2874
+ * Event slugs to match.
2875
+ */
2124
2876
  event_slugs?: string[];
2125
- /** @description Filter by tags. Max 500 entries. */
2877
+ /**
2878
+ * @description Filter by tags or category names (case-insensitive). Matches a market's
2879
+ * tags or its category label. Max 500 entries.
2880
+ * Tags to match.
2881
+ */
2126
2882
  tags?: string[];
2883
+ /**
2884
+ * @description Filter by series slugs (case-insensitive). Matches a market's parent
2885
+ * series. Max 500 entries.
2886
+ * Series slugs to match.
2887
+ */
2888
+ series_slugs?: string[];
2127
2889
  /**
2128
2890
  * Format: double
2129
2891
  * @description Minimum probability threshold (0.0 - 1.0)
@@ -2154,6 +2916,18 @@ export interface components {
2154
2916
  * @description Maximum volume (USD) - for metrics webhooks
2155
2917
  */
2156
2918
  max_volume_usd?: number | null;
2919
+ /**
2920
+ * Format: double
2921
+ * @description Minimum order-book liquidity (USD) - for liquidity webhooks.
2922
+ * Fires when liquidity crosses up through this value.
2923
+ */
2924
+ min_liquidity_usd?: number | null;
2925
+ /**
2926
+ * Format: double
2927
+ * @description Maximum order-book liquidity (USD) - for liquidity webhooks.
2928
+ * Fires when liquidity crosses down through this value.
2929
+ */
2930
+ max_liquidity_usd?: number | null;
2157
2931
  /**
2158
2932
  * Format: double
2159
2933
  * @description Minimum buy volume (USD) - for PnL and metrics webhooks
@@ -2179,16 +2953,26 @@ export interface components {
2179
2953
  * @description Maximum net shares - for position PnL webhooks
2180
2954
  */
2181
2955
  max_net_shares?: number | null;
2182
- /** @description Filter by position IDs - for position PnL webhooks. Max 500 entries. */
2956
+ /**
2957
+ * @description Filter by position IDs - for position PnL webhooks. Max 500 entries.
2958
+ * Outcome token IDs to match.
2959
+ */
2183
2960
  position_ids?: string[];
2184
- /** @description Filter by outcomes (e.g., "Yes", "No") - for position PnL webhooks. Max 500 entries. */
2961
+ /**
2962
+ * @description Filter by outcomes (e.g., "Yes", "No") - for position PnL webhooks. Max 500 entries.
2963
+ * Outcome names to match.
2964
+ */
2185
2965
  outcomes?: string[];
2186
2966
  /**
2187
2967
  * @description Filter by position outcome index — for close_to_bond. Position 0 usually represents Yes/Up, 1 = No.
2188
2968
  * When non-empty, only trades whose outcome_index is in this list will match. Max 500 entries.
2969
+ * Outcome indices to match.
2189
2970
  */
2190
2971
  position_outcome_indices?: number[];
2191
- /** @description Filter by trade type (e.g. "OrderFilled", "Redemption", "Merge", "Split"). Empty = default behavior per handler. */
2972
+ /**
2973
+ * @description Filter by trade type (e.g. "OrderFilled", "Redemption", "Merge", "Split"). Empty = default behavior per handler.
2974
+ * Trade types to match.
2975
+ */
2192
2976
  trade_types?: string[];
2193
2977
  /**
2194
2978
  * Format: double
@@ -2220,9 +3004,15 @@ export interface components {
2220
3004
  * @description Minimum probability change percentage - for position metrics webhooks
2221
3005
  */
2222
3006
  min_probability_change_pct?: number | null;
2223
- /** @description Timeframes to track - for metrics webhooks (1m, 5m, 30m, 1h, 6h, 24h, 7d, 30d). */
3007
+ /**
3008
+ * @description Timeframes to track - for metrics webhooks (1m, 5m, 30m, 1h, 6h, 24h, 7d, 30d).
3009
+ * Metric timeframes to match.
3010
+ */
2224
3011
  timeframes?: components["schemas"]["WebhookTimeframe"][];
2225
- /** @description Milestone amounts to track - for volume milestone webhooks (e.g., 10000, 100000, 1000000). Max 500 entries. */
3012
+ /**
3013
+ * @description Milestone amounts to track - for volume milestone webhooks (e.g., 10000, 100000, 1000000). Max 500 entries.
3014
+ * Milestone amounts to match.
3015
+ */
2226
3016
  milestone_amounts?: number[];
2227
3017
  /**
2228
3018
  * Format: double
@@ -2241,6 +3031,7 @@ export interface components {
2241
3031
  /**
2242
3032
  * @description Filter by crypto asset symbol — for `asset_price_tick` and `asset_price_window_update` webhooks.
2243
3033
  * Valid values: "BTC", "ETH", "SOL", "XRP", "DOGE", "BNB", "HYPE". Empty = all assets.
3034
+ * Asset symbols to match.
2244
3035
  */
2245
3036
  asset_symbols?: components["schemas"]["WebhookAssetSymbol"][];
2246
3037
  spike_direction?: null | components["schemas"]["SpikeDirection"];
@@ -2264,31 +3055,127 @@ export interface components {
2264
3055
  * `QuestionInitialized`, `QuestionPaused`, `QuestionUnpaused`,
2265
3056
  * `QuestionFlagged`, `QuestionUnflagged`, `ConditionResolution`,
2266
3057
  * `NegRiskOutcomeReported`. Empty = all types.
3058
+ * Oracle event types to match.
2267
3059
  */
2268
3060
  oracle_event_types?: string[];
3061
+ /**
3062
+ * @description Fire-and-delete: when `true`, the subscription is deleted after its first
3063
+ * successful delivery. Works on any webhook event. (`price_threshold`
3064
+ * additionally requires `position_ids` or `condition_ids`.)
3065
+ */
3066
+ one_shot?: boolean;
3067
+ /**
3068
+ * @description For `price_threshold` — when `true`, fire immediately if the first observed
3069
+ * price is already past the target (no prior baseline). Default `false`.
3070
+ */
3071
+ fire_if_already_past?: boolean;
2269
3072
  };
2270
3073
  PositionHolderMetricsFilters: {
3074
+ /** @description Outcome token IDs to match. */
2271
3075
  position_ids?: string[];
3076
+ /**
3077
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3078
+ * successful delivery. Applies to any webhook event.
3079
+ */
3080
+ one_shot?: boolean | null;
2272
3081
  };
2273
3082
  PositionHolderMetricsPayload: {
2274
- /** Format: int32 */
3083
+ /**
3084
+ * Format: int32
3085
+ * @description Unix timestamp in seconds.
3086
+ */
2275
3087
  ts: number;
2276
- /** Format: int64 */
3088
+ /**
3089
+ * Format: int64
3090
+ * @description Block number.
3091
+ */
2277
3092
  block: number;
3093
+ /** @description Outcome token ID. */
2278
3094
  position_id: string;
2279
- /** Format: int32 */
3095
+ /**
3096
+ * Format: int32
3097
+ * @description Number of holders.
3098
+ */
2280
3099
  holder_count: number;
2281
- /** Format: double */
3100
+ /**
3101
+ * Format: double
3102
+ * @description Total shares held.
3103
+ */
2282
3104
  total_balance: number;
2283
- /** Format: double */
3105
+ /**
3106
+ * Format: double
3107
+ * @description Total holder cost basis in USD.
3108
+ */
2284
3109
  total_cost_basis: number;
2285
- /** Format: int32 */
3110
+ /**
3111
+ * Format: int32
3112
+ * @description Number of market-level holders.
3113
+ */
2286
3114
  condition_holder_count?: number | null;
2287
- /** Format: int32 */
3115
+ /**
3116
+ * Format: int32
3117
+ * @description Number of event-level holders.
3118
+ */
2288
3119
  event_holder_count?: number | null;
2289
3120
  };
3121
+ /**
3122
+ * @description Subscription filters for the `position_liquidity` event.
3123
+ *
3124
+ * At least one of `min_liquidity_usd`, `max_liquidity_usd`, or `one_shot` must be set.
3125
+ * Thresholds are edge-triggered: a callback fires when liquidity crosses the threshold,
3126
+ * then re-arms once it crosses back (unless `one_shot`).
3127
+ */
3128
+ PositionLiquidityFilters: {
3129
+ /**
3130
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3131
+ * successful delivery.
3132
+ */
3133
+ one_shot?: boolean | null;
3134
+ /**
3135
+ * Format: double
3136
+ * @description Fire when liquidity crosses up through this USD value.
3137
+ */
3138
+ min_liquidity_usd?: number | null;
3139
+ /**
3140
+ * Format: double
3141
+ * @description Fire when liquidity crosses down through this USD value.
3142
+ */
3143
+ max_liquidity_usd?: number | null;
3144
+ /** @description **Required.** Outcome token IDs to receive liquidity updates for. */
3145
+ position_ids: string[];
3146
+ };
3147
+ /** @description Position liquidity webhook payload. */
3148
+ PositionLiquidityPayload: {
3149
+ /** @description Outcome token (position) ID. */
3150
+ position_id: string;
3151
+ /**
3152
+ * Format: double
3153
+ * @description Order-book liquidity in USD at the time of firing.
3154
+ */
3155
+ liquidity_usd: number;
3156
+ /**
3157
+ * Format: double
3158
+ * @description The threshold (USD) that was crossed.
3159
+ */
3160
+ threshold_usd: number;
3161
+ /**
3162
+ * @description `"above"` when liquidity crossed up through `min_liquidity_usd`,
3163
+ * `"below"` when it crossed down through `max_liquidity_usd`.
3164
+ */
3165
+ direction: string;
3166
+ /**
3167
+ * Format: int64
3168
+ * @description Update timestamp (Unix millis).
3169
+ */
3170
+ liquidity_updated_at: number;
3171
+ };
2290
3172
  /** @description Subscription filters for the `position_metrics` event. All fields are optional. */
2291
3173
  PositionMetricsFilters: {
3174
+ /**
3175
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3176
+ * successful delivery. Applies to any webhook event.
3177
+ */
3178
+ one_shot?: boolean | null;
2292
3179
  /** @description Restrict to these outcome token IDs. */
2293
3180
  position_ids?: string[] | null;
2294
3181
  /** @description Restrict to positions within these markets. */
@@ -2302,15 +3189,30 @@ export interface components {
2302
3189
  * @description Only fire when position volume ≥ this value (USD).
2303
3190
  */
2304
3191
  min_volume_usd?: number | null;
2305
- /** Format: double */
3192
+ /**
3193
+ * Format: double
3194
+ * @description Maximum volume USD.
3195
+ */
2306
3196
  max_volume_usd?: number | null;
2307
- /** Format: double */
3197
+ /**
3198
+ * Format: double
3199
+ * @description Minimum buy USD.
3200
+ */
2308
3201
  min_buy_usd?: number | null;
2309
- /** Format: double */
3202
+ /**
3203
+ * Format: double
3204
+ * @description Minimum sell volume USD.
3205
+ */
2310
3206
  min_sell_volume_usd?: number | null;
2311
- /** Format: int64 */
3207
+ /**
3208
+ * Format: int64
3209
+ * @description Minimum transactions.
3210
+ */
2312
3211
  min_txns?: number | null;
2313
- /** Format: int64 */
3212
+ /**
3213
+ * Format: int64
3214
+ * @description Minimum unique traders.
3215
+ */
2314
3216
  min_unique_traders?: number | null;
2315
3217
  /**
2316
3218
  * Format: double
@@ -2322,7 +3224,10 @@ export interface components {
2322
3224
  * @description Only fire when probability change % ≥ this value.
2323
3225
  */
2324
3226
  min_probability_change_pct?: number | null;
2325
- /** Format: double */
3227
+ /**
3228
+ * Format: double
3229
+ * @description Minimum fees.
3230
+ */
2326
3231
  min_fees?: number | null;
2327
3232
  };
2328
3233
  /** @description Payload delivered when a position's volume or transaction metrics cross a configured threshold */
@@ -2408,47 +3313,110 @@ export interface components {
2408
3313
  * @description Builder-attributed fees in USD
2409
3314
  */
2410
3315
  builder_fees?: number | null;
2411
- /** Format: int64 */
3316
+ /**
3317
+ * Format: int64
3318
+ * @description Transaction count.
3319
+ */
2412
3320
  txns?: number | null;
2413
- /** Format: int64 */
3321
+ /**
3322
+ * Format: int64
3323
+ * @description Buy count.
3324
+ */
2414
3325
  buys?: number | null;
2415
- /** Format: int64 */
3326
+ /**
3327
+ * Format: int64
3328
+ * @description Sell count.
3329
+ */
2416
3330
  sells?: number | null;
2417
- /** Format: int64 */
3331
+ /**
3332
+ * Format: int64
3333
+ * @description Builder-attributed transaction count.
3334
+ */
2418
3335
  builder_txns?: number | null;
2419
- /** Format: int64 */
3336
+ /**
3337
+ * Format: int64
3338
+ * @description Builder-attributed buy count.
3339
+ */
2420
3340
  builder_buys?: number | null;
2421
- /** Format: int64 */
3341
+ /**
3342
+ * Format: int64
3343
+ * @description Builder-attributed sell count.
3344
+ */
2422
3345
  builder_sells?: number | null;
2423
- /** Format: int64 */
3346
+ /**
3347
+ * Format: int64
3348
+ * @description Unique traders.
3349
+ */
2424
3350
  unique_traders?: number | null;
2425
- /** Format: int64 */
3351
+ /**
3352
+ * Format: int64
3353
+ * @description Unique makers.
3354
+ */
2426
3355
  unique_makers?: number | null;
2427
- /** Format: int64 */
3356
+ /**
3357
+ * Format: int64
3358
+ * @description Unique takers.
3359
+ */
2428
3360
  unique_takers?: number | null;
2429
- /** Format: int64 */
3361
+ /**
3362
+ * Format: int64
3363
+ * @description Unique builder traders.
3364
+ */
2430
3365
  unique_builder_traders?: number | null;
2431
- /** Format: double */
3366
+ /**
3367
+ * Format: double
3368
+ * @description Opening price.
3369
+ */
2432
3370
  price_open?: number | null;
2433
- /** Format: double */
3371
+ /**
3372
+ * Format: double
3373
+ * @description Closing price.
3374
+ */
2434
3375
  price_close?: number | null;
2435
- /** Format: double */
3376
+ /**
3377
+ * Format: double
3378
+ * @description Highest price.
3379
+ */
2436
3380
  price_high?: number | null;
2437
- /** Format: double */
3381
+ /**
3382
+ * Format: double
3383
+ * @description Lowest price.
3384
+ */
2438
3385
  price_low?: number | null;
2439
- /** Format: double */
3386
+ /**
3387
+ * Format: double
3388
+ * @description Opening implied probability.
3389
+ */
2440
3390
  probability_open?: number | null;
2441
- /** Format: double */
3391
+ /**
3392
+ * Format: double
3393
+ * @description Closing implied probability.
3394
+ */
2442
3395
  probability_close?: number | null;
2443
- /** Format: double */
3396
+ /**
3397
+ * Format: double
3398
+ * @description Highest implied probability.
3399
+ */
2444
3400
  probability_high?: number | null;
2445
- /** Format: double */
3401
+ /**
3402
+ * Format: double
3403
+ * @description Lowest implied probability.
3404
+ */
2446
3405
  probability_low?: number | null;
2447
- /** Format: double */
3406
+ /**
3407
+ * Format: double
3408
+ * @description Average shares per trade.
3409
+ */
2448
3410
  avg_trade_shares?: number | null;
2449
- /** Format: double */
3411
+ /**
3412
+ * Format: double
3413
+ * @description Average shares per buy.
3414
+ */
2450
3415
  avg_buy_shares?: number | null;
2451
- /** Format: double */
3416
+ /**
3417
+ * Format: double
3418
+ * @description Average shares per sell.
3419
+ */
2452
3420
  avg_sell_shares?: number | null;
2453
3421
  };
2454
3422
  PositionResolvedPayload: {
@@ -2592,6 +3560,11 @@ export interface components {
2592
3560
  };
2593
3561
  /** @description Subscription filters for the `position_volume_milestone` event. */
2594
3562
  PositionVolumeMilestoneFilters: {
3563
+ /**
3564
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3565
+ * successful delivery. Applies to any webhook event.
3566
+ */
3567
+ one_shot?: boolean | null;
2595
3568
  /** @description **Required.** Aggregation windows to monitor. */
2596
3569
  timeframes: components["schemas"]["MetricFilterTimeframe"][];
2597
3570
  /** @description Restrict to these outcome token IDs. */
@@ -2605,11 +3578,18 @@ export interface components {
2605
3578
  };
2606
3579
  /** @description Position volume milestone webhook payload */
2607
3580
  PositionVolumeMilestonePayload: {
3581
+ /** @description Market condition ID. */
2608
3582
  condition_id?: string | null;
3583
+ /** @description Outcome token ID. */
2609
3584
  position_id: string;
3585
+ /** @description Outcome name. */
2610
3586
  outcome?: string | null;
2611
- /** Format: int32 */
3587
+ /**
3588
+ * Format: int32
3589
+ * @description Outcome index.
3590
+ */
2612
3591
  outcome_index?: number | null;
3592
+ /** @description Metric timeframe. */
2613
3593
  timeframe: string;
2614
3594
  /**
2615
3595
  * Format: double
@@ -2654,6 +3634,11 @@ export interface components {
2654
3634
  };
2655
3635
  /** @description Subscription filters for the `position_volume_spike` event. `spike_ratio` is required. */
2656
3636
  PositionVolumeSpikeFilters: {
3637
+ /**
3638
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3639
+ * successful delivery. Applies to any webhook event.
3640
+ */
3641
+ one_shot?: boolean | null;
2657
3642
  /**
2658
3643
  * Format: double
2659
3644
  * @description **Required.** Multiplier threshold (must be > 1.0). Fires when current volume >= snapshot × ratio.
@@ -2675,15 +3660,26 @@ export interface components {
2675
3660
  };
2676
3661
  /** @description Position volume spike webhook payload */
2677
3662
  PositionVolumeSpikePayload: {
3663
+ /** @description Outcome token ID. */
2678
3664
  position_id: string;
3665
+ /** @description Market condition ID. */
2679
3666
  condition_id: string;
3667
+ /** @description Market question. */
2680
3668
  question?: string | null;
3669
+ /** @description Market slug. */
2681
3670
  market_slug?: string | null;
3671
+ /** @description Event slug. */
2682
3672
  event_slug?: string | null;
3673
+ /** @description Image URL. */
2683
3674
  image_url?: string | null;
3675
+ /** @description Outcome name. */
2684
3676
  outcome?: string | null;
2685
- /** Format: int32 */
3677
+ /**
3678
+ * Format: int32
3679
+ * @description Outcome index.
3680
+ */
2686
3681
  outcome_index?: number | null;
3682
+ /** @description Metric timeframe. */
2687
3683
  timeframe: string;
2688
3684
  /**
2689
3685
  * Format: double
@@ -2718,6 +3714,11 @@ export interface components {
2718
3714
  };
2719
3715
  /** @description Subscription filters for the `price_spike` event. */
2720
3716
  PriceSpikeFilters: {
3717
+ /**
3718
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3719
+ * successful delivery. Applies to any webhook event.
3720
+ */
3721
+ one_shot?: boolean | null;
2721
3722
  /** @description Restrict to specific outcome token IDs. Empty = all positions. */
2722
3723
  position_ids?: string[] | null;
2723
3724
  /** @description Restrict to specific market condition IDs. Empty = all markets. */
@@ -2726,6 +3727,10 @@ export interface components {
2726
3727
  event_slugs?: string[] | null;
2727
3728
  /** @description Restrict to these outcome names (e.g. \["Yes", "No"\]). */
2728
3729
  outcomes?: string[] | null;
3730
+ /** @description Restrict to markets carrying any of these tags or category names (case-insensitive). Empty = all. */
3731
+ tags?: string[] | null;
3732
+ /** @description Restrict to markets in any of these series (by slug, case-insensitive). Empty = all. */
3733
+ series_slugs?: string[] | null;
2729
3734
  /**
2730
3735
  * Format: double
2731
3736
  * @description Minimum price percentage move to trigger (e.g. `10` for a 10% move).
@@ -2762,14 +3767,24 @@ export interface components {
2762
3767
  };
2763
3768
  /** @description Position price spike webhook payload */
2764
3769
  PriceSpikePayload: {
3770
+ /** @description Outcome token ID. */
2765
3771
  position_id: string;
3772
+ /** @description Market condition ID. */
2766
3773
  condition_id?: string | null;
3774
+ /** @description Market question. */
2767
3775
  question?: string | null;
3776
+ /** @description Market slug. */
2768
3777
  market_slug?: string | null;
3778
+ /** @description Event slug. */
2769
3779
  event_slug?: string | null;
3780
+ /** @description Image URL. */
2770
3781
  image_url?: string | null;
3782
+ /** @description Outcome name. */
2771
3783
  outcome?: string | null;
2772
- /** Format: int32 */
3784
+ /**
3785
+ * Format: int32
3786
+ * @description Outcome index.
3787
+ */
2773
3788
  outcome_index?: number | null;
2774
3789
  /**
2775
3790
  * Format: double
@@ -2789,8 +3804,126 @@ export interface components {
2789
3804
  */
2790
3805
  spike_pct: number;
2791
3806
  };
3807
+ /** @description Subscription filters for the `price_threshold` event. */
3808
+ PriceThresholdFilters: {
3809
+ /** @description Restrict to markets carrying any of these tags or category names (case-insensitive). Empty = all. */
3810
+ tags?: string[] | null;
3811
+ /** @description Restrict to markets in any of these series (by slug, case-insensitive). Empty = all. */
3812
+ series_slugs?: string[] | null;
3813
+ /**
3814
+ * Format: double
3815
+ * @description Upward target — fire when the YES price crosses up to ≥ this value (e.g. 0.75 for 75%). At least one of `min_probability` or `max_probability` must be set.
3816
+ */
3817
+ min_probability?: number | null;
3818
+ /**
3819
+ * Format: double
3820
+ * @description Downward target — fire when the YES price crosses down to ≤ this value (e.g. 0.25).
3821
+ */
3822
+ max_probability?: number | null;
3823
+ /** @description When `true`, delete the subscription after its first delivery (fire-and-delete). Requires `position_ids` or `condition_ids`. Default: `false`. */
3824
+ one_shot?: boolean | null;
3825
+ /** @description When `true`, fire immediately if the first observed price is already past the target (no prior baseline). Default: `false` (wait for an actual crossing). */
3826
+ fire_if_already_past?: boolean | null;
3827
+ /** @description Restrict to these markets. */
3828
+ condition_ids?: string[] | null;
3829
+ /** @description Restrict to these outcome token IDs. */
3830
+ position_ids?: string[] | null;
3831
+ /** @description Restrict to markets in these events. */
3832
+ event_slugs?: string[] | null;
3833
+ /** @description Restrict to these outcome names (e.g. \["Yes", "No"\]). */
3834
+ outcomes?: string[] | null;
3835
+ /** @description Restrict by outcome index. 0 = Yes/Up, 1 = No. Position 0 usually represents the Up/Yes side in binary markets. */
3836
+ position_outcome_indices?: number[] | null;
3837
+ /** @description When `true`, suppress webhooks for short-term "updown" markets. Default: `false`. */
3838
+ exclude_shortterm_markets?: boolean | null;
3839
+ };
3840
+ /** @description Price-threshold crossing webhook payload */
3841
+ PriceThresholdPayload: {
3842
+ /** @description Trader address (the limit-order maker) */
3843
+ trader: string;
3844
+ /** @description Taker address (the order filler — often the exchange contract) */
3845
+ taker: string;
3846
+ /** @description Position ID (ERC1155 token ID) */
3847
+ position_id: string;
3848
+ /** @description Condition ID (parent market) */
3849
+ condition_id?: string | null;
3850
+ /** @description Outcome name (e.g. "Yes", "No") */
3851
+ outcome?: string | null;
3852
+ /**
3853
+ * Format: int32
3854
+ * @description Outcome index (0 = Yes/Up, 1 = No). Position 0 usually represents Yes/Up.
3855
+ */
3856
+ outcome_index?: number | null;
3857
+ /** @description Market question */
3858
+ question?: string | null;
3859
+ /** @description Market slug */
3860
+ market_slug?: string | null;
3861
+ /** @description Event slug */
3862
+ event_slug?: string | null;
3863
+ /** @description Trade ID */
3864
+ trade_id: string;
3865
+ /** @description Transaction hash */
3866
+ hash: string;
3867
+ /**
3868
+ * Format: int64
3869
+ * @description Block number
3870
+ */
3871
+ block: number;
3872
+ /**
3873
+ * Format: int64
3874
+ * @description Confirmed timestamp (Unix seconds)
3875
+ */
3876
+ confirmed_at: number;
3877
+ /**
3878
+ * Format: double
3879
+ * @description USD size of the trade
3880
+ */
3881
+ amount_usd: number;
3882
+ /**
3883
+ * Format: double
3884
+ * @description Outcome shares traded
3885
+ */
3886
+ shares_amount: number;
3887
+ /**
3888
+ * Format: double
3889
+ * @description Fee paid (USD)
3890
+ */
3891
+ fee: number;
3892
+ /** @description Trade side ("Buy" or "Sell") */
3893
+ side: string;
3894
+ /**
3895
+ * Format: double
3896
+ * @description Last observed price before this trade (the baseline the crossing is measured from)
3897
+ */
3898
+ previous_price: number;
3899
+ /**
3900
+ * Format: double
3901
+ * @description Price per share (0.0–1.0) that crossed the threshold
3902
+ */
3903
+ price: number;
3904
+ /**
3905
+ * Format: double
3906
+ * @description Implied probability of the outcome (0.0–1.0)
3907
+ */
3908
+ probability?: number | null;
3909
+ /**
3910
+ * @description Crossing direction: `"up"` (crossed up to the `min_probability` target) or
3911
+ * `"down"` (crossed down to the `max_probability` target)
3912
+ */
3913
+ direction: string;
3914
+ /**
3915
+ * Format: double
3916
+ * @description The target threshold from the subscriber's filter that was crossed
3917
+ */
3918
+ threshold: number;
3919
+ };
2792
3920
  /** @description Subscription filters for the `probability_spike` event. */
2793
3921
  ProbabilitySpikeFilters: {
3922
+ /**
3923
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
3924
+ * successful delivery. Applies to any webhook event.
3925
+ */
3926
+ one_shot?: boolean | null;
2794
3927
  /** @description Restrict to specific outcome token IDs. Empty = all positions. */
2795
3928
  position_ids?: string[] | null;
2796
3929
  /** @description Restrict to specific market condition IDs. Empty = all markets. */
@@ -2809,6 +3942,10 @@ export interface components {
2809
3942
  * @description Maximum YES probability (0-1).
2810
3943
  */
2811
3944
  max_probability?: number | null;
3945
+ /** @description Restrict to markets carrying any of these tags or category names (case-insensitive). Empty = all. */
3946
+ tags?: string[] | null;
3947
+ /** @description Restrict to markets in any of these series (by slug, case-insensitive). Empty = all. */
3948
+ series_slugs?: string[] | null;
2812
3949
  /**
2813
3950
  * Format: double
2814
3951
  * @description Minimum probability percentage move to trigger (e.g. `10` for a 10% move).
@@ -2835,14 +3972,24 @@ export interface components {
2835
3972
  };
2836
3973
  /** @description Position probability spike webhook payload */
2837
3974
  ProbabilitySpikePayload: {
3975
+ /** @description Outcome token ID. */
2838
3976
  position_id: string;
3977
+ /** @description Market condition ID. */
2839
3978
  condition_id?: string | null;
3979
+ /** @description Market question. */
2840
3980
  question?: string | null;
3981
+ /** @description Market slug. */
2841
3982
  market_slug?: string | null;
3983
+ /** @description Event slug. */
2842
3984
  event_slug?: string | null;
3985
+ /** @description Image URL. */
2843
3986
  image_url?: string | null;
3987
+ /** @description Outcome name. */
2844
3988
  outcome?: string | null;
2845
- /** Format: int32 */
3989
+ /**
3990
+ * Format: int32
3991
+ * @description Outcome index.
3992
+ */
2846
3993
  outcome_index?: number | null;
2847
3994
  /**
2848
3995
  * Format: double
@@ -3153,6 +4300,11 @@ export interface components {
3153
4300
  SpikeDirection: "up" | "down" | "both";
3154
4301
  /** @description Subscription filters for the `tag_metrics` event. All fields are optional. */
3155
4302
  TagMetricsFilters: {
4303
+ /**
4304
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4305
+ * successful delivery. Applies to any webhook event.
4306
+ */
4307
+ one_shot?: boolean | null;
3156
4308
  /** @description Restrict to these tags. Empty = all tags. */
3157
4309
  tags?: string[] | null;
3158
4310
  /** @description Restrict to these aggregation windows. */
@@ -3162,13 +4314,25 @@ export interface components {
3162
4314
  * @description Only fire when aggregated tag volume >= this value (USD).
3163
4315
  */
3164
4316
  min_volume_usd?: number | null;
3165
- /** Format: double */
4317
+ /**
4318
+ * Format: double
4319
+ * @description Maximum volume USD.
4320
+ */
3166
4321
  max_volume_usd?: number | null;
3167
- /** Format: int64 */
4322
+ /**
4323
+ * Format: int64
4324
+ * @description Minimum transactions.
4325
+ */
3168
4326
  min_txns?: number | null;
3169
- /** Format: int64 */
4327
+ /**
4328
+ * Format: int64
4329
+ * @description Minimum unique traders.
4330
+ */
3170
4331
  min_unique_traders?: number | null;
3171
- /** Format: double */
4332
+ /**
4333
+ * Format: double
4334
+ * @description Minimum fees.
4335
+ */
3172
4336
  min_fees?: number | null;
3173
4337
  };
3174
4338
  /** @description Payload delivered when a tag's aggregated volume or transaction metrics cross a configured threshold */
@@ -3246,6 +4410,11 @@ export interface components {
3246
4410
  TradeEventFilterType: "OrderFilled" | "OrdersMatched" | "MakerRebate" | "Reward" | "Yield" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken";
3247
4411
  /** @description Subscription filters for the `trader_category_pnl` event. All fields are optional. */
3248
4412
  TraderCategoryPnlFilters: {
4413
+ /**
4414
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4415
+ * successful delivery. Applies to any webhook event.
4416
+ */
4417
+ one_shot?: boolean | null;
3249
4418
  /** @description Track only these trader wallet addresses. Empty = all traders. */
3250
4419
  traders?: string[] | null;
3251
4420
  /** @description Restrict to these market categories (e.g. `politics`, `sports`). */
@@ -3295,6 +4464,11 @@ export interface components {
3295
4464
  };
3296
4465
  /** @description Subscription filters for the `trader_pnl_exits` event. All fields are optional. */
3297
4466
  TraderExitMarkersFilters: {
4467
+ /**
4468
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4469
+ * successful delivery. Applies to any webhook event.
4470
+ */
4471
+ one_shot?: boolean | null;
3298
4472
  /** @description Track only these trader wallet addresses. Empty = all traders. */
3299
4473
  traders?: string[] | null;
3300
4474
  /** @description Restrict to these markets. */
@@ -3304,6 +4478,11 @@ export interface components {
3304
4478
  };
3305
4479
  /** @description Subscription filters for the `trader_first_trade` event. All fields are optional. */
3306
4480
  TraderFirstTradeFilters: {
4481
+ /**
4482
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4483
+ * successful delivery. Applies to any webhook event.
4484
+ */
4485
+ one_shot?: boolean | null;
3307
4486
  /** @description Only fire for trades by these wallet addresses (lowercase). Empty = all traders. */
3308
4487
  wallet_addresses?: string[] | null;
3309
4488
  /** @description Restrict to trades in these markets. Empty = all markets. */
@@ -3330,6 +4509,11 @@ export interface components {
3330
4509
  };
3331
4510
  /** @description Subscription filters for the `trader_global_pnl` event. All fields are optional. */
3332
4511
  TraderGlobalPnlFilters: {
4512
+ /**
4513
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4514
+ * successful delivery. Applies to any webhook event.
4515
+ */
4516
+ one_shot?: boolean | null;
3333
4517
  /** @description Track only these trader wallet addresses. Empty = all traders. */
3334
4518
  traders?: string[] | null;
3335
4519
  /**
@@ -3377,6 +4561,11 @@ export interface components {
3377
4561
  };
3378
4562
  /** @description Subscription filters for the `trader_market_pnl` event. All fields are optional. */
3379
4563
  TraderMarketPnlFilters: {
4564
+ /**
4565
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4566
+ * successful delivery. Applies to any webhook event.
4567
+ */
4568
+ one_shot?: boolean | null;
3380
4569
  /** @description Track only these trader wallet addresses. */
3381
4570
  traders?: string[] | null;
3382
4571
  /** @description Restrict to these markets. */
@@ -3420,6 +4609,11 @@ export interface components {
3420
4609
  };
3421
4610
  /** @description Subscription filters for the `trader_new_market` event. All fields are optional. */
3422
4611
  TraderNewMarketFilters: {
4612
+ /**
4613
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4614
+ * successful delivery. Applies to any webhook event.
4615
+ */
4616
+ one_shot?: boolean | null;
3423
4617
  /** @description Only fire for these wallet addresses (lowercase). Empty = all traders. */
3424
4618
  wallet_addresses?: string[] | null;
3425
4619
  /** @description Restrict to these markets. */
@@ -3446,6 +4640,11 @@ export interface components {
3446
4640
  };
3447
4641
  /** @description Subscription filters for the `trader_new_trade` event. All fields are optional. */
3448
4642
  TraderNewTradeFilters: {
4643
+ /**
4644
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4645
+ * successful delivery. Applies to any webhook event.
4646
+ */
4647
+ one_shot?: boolean | null;
3449
4648
  /** @description Only fire for trades by these wallet addresses. Empty = all traders. */
3450
4649
  wallet_addresses?: string[] | null;
3451
4650
  /** @description Restrict to these markets. */
@@ -3475,6 +4674,11 @@ export interface components {
3475
4674
  };
3476
4675
  /** @description Subscription filters for the `trader_position_resolved` event. All fields are optional. */
3477
4676
  TraderPositionResolvedFilters: {
4677
+ /**
4678
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4679
+ * successful delivery. Applies to any webhook event.
4680
+ */
4681
+ one_shot?: boolean | null;
3478
4682
  /** @description Track only these trader wallet addresses. Empty = all traders. */
3479
4683
  traders?: string[] | null;
3480
4684
  /** @description Restrict to these markets. */
@@ -3493,6 +4697,11 @@ export interface components {
3493
4697
  * `event_slug` in the typed webhook payload.
3494
4698
  */
3495
4699
  TraderTradeEventFilters: {
4700
+ /**
4701
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4702
+ * successful delivery. Applies to any webhook event.
4703
+ */
4704
+ one_shot?: boolean | null;
3496
4705
  /** @description Only fire for events associated with these wallet addresses. Empty = all traders. */
3497
4706
  wallet_addresses?: string[] | null;
3498
4707
  /** @description Restrict to these markets. For `PositionsConverted`, this also matches the NegRisk `market_id`. */
@@ -3522,6 +4731,11 @@ export interface components {
3522
4731
  };
3523
4732
  /** @description Subscription filters for the `trader_whale_trade` event. All fields are optional. */
3524
4733
  TraderWhaleTradeFilters: {
4734
+ /**
4735
+ * @description Fire-and-delete: when `true`, delete the subscription after its first
4736
+ * successful delivery. Applies to any webhook event.
4737
+ */
4738
+ one_shot?: boolean | null;
3525
4739
  /** @description Only fire for trades by these wallet addresses. Empty = all traders. */
3526
4740
  wallet_addresses?: string[] | null;
3527
4741
  /** @description Restrict to these markets. */
@@ -3561,7 +4775,9 @@ export interface components {
3561
4775
  };
3562
4776
  /** @description Volume milestone webhook payload */
3563
4777
  VolumeMilestonePayload: {
4778
+ /** @description Market condition ID. */
3564
4779
  condition_id: string;
4780
+ /** @description Metric timeframe. */
3565
4781
  timeframe: string;
3566
4782
  /**
3567
4783
  * Format: double
@@ -3626,8 +4842,16 @@ export interface components {
3626
4842
  position_ids?: string[];
3627
4843
  /** @description Filter by event slugs. Max 500 entries. */
3628
4844
  event_slugs?: string[];
3629
- /** @description Filter by tags or category names (case-insensitive) — for market_created. Max 500 entries. */
4845
+ /**
4846
+ * @description Filter by tags or category names (case-insensitive). Matches a market's tags or its
4847
+ * category label — for market_created and all market-keyed events. Max 500 entries.
4848
+ */
3630
4849
  tags?: string[];
4850
+ /**
4851
+ * @description Filter by series slugs (case-insensitive). Matches a market's parent series — for all
4852
+ * market-keyed events. Max 500 entries.
4853
+ */
4854
+ series_slugs?: string[];
3631
4855
  /** @description Filter by outcomes (e.g. "Yes", "No") — for position metrics / close_to_bond. Max 500 entries. */
3632
4856
  outcomes?: string[];
3633
4857
  /** @description Filter by position outcome index — for close_to_bond. Position 0 = Yes/Up, 1 = No. Max 500 entries. */
@@ -3750,6 +4974,17 @@ export interface components {
3750
4974
  * Valid values: "BTC", "ETH", "SOL", "XRP", "DOGE", "BNB", "HYPE". Empty = all assets (send everything).
3751
4975
  */
3752
4976
  asset_symbols?: components["schemas"]["WebhookAssetSymbol"][];
4977
+ /**
4978
+ * @description Fire-and-delete: delete the subscription after its first successful
4979
+ * delivery. Works on any webhook event. (`price_threshold` additionally
4980
+ * requires `position_ids` or `condition_ids`.)
4981
+ */
4982
+ one_shot?: boolean;
4983
+ /**
4984
+ * @description For `price_threshold` — fire immediately if the first observed price is
4985
+ * already past the target. Default `false` (wait for an actual crossing).
4986
+ */
4987
+ fire_if_already_past?: boolean;
3753
4988
  };
3754
4989
  /** @description List webhooks response */
3755
4990
  WebhookListResponseBody: {
@@ -3936,6 +5171,7 @@ export interface components {
3936
5171
  /**
3937
5172
  * @description CLOB V2 builder code (lower-cased `0x...` bytes32 hex). Absent on V1
3938
5173
  * trades; may be `0x0000…` for V2 trades placed without a builder code.
5174
+ * CLOB builder code.
3939
5175
  */
3940
5176
  builder_code?: string | null;
3941
5177
  /**
@@ -5571,6 +6807,135 @@ export interface operations {
5571
6807
  };
5572
6808
  };
5573
6809
  };
6810
+ "position-liquidity": {
6811
+ parameters: {
6812
+ query?: never;
6813
+ header: {
6814
+ /** @description UUID of the webhook subscription that fired */
6815
+ "X-Webhook-ID": string;
6816
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
6817
+ "X-Delivery-ID": string;
6818
+ /** @description Event name string (e.g. `trader_first_trade`) */
6819
+ "X-Event-Type": string;
6820
+ /** @description Delivery attempt number (1 = first attempt) */
6821
+ "X-Attempt": number;
6822
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
6823
+ "X-Webhook-Signature"?: string;
6824
+ };
6825
+ path?: never;
6826
+ cookie?: never;
6827
+ };
6828
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
6829
+ requestBody: {
6830
+ content: {
6831
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
6832
+ data?: components["schemas"]["PositionLiquidityPayload"];
6833
+ };
6834
+ };
6835
+ };
6836
+ responses: {
6837
+ /** @description Webhook delivery acknowledged */
6838
+ 200: {
6839
+ headers: {
6840
+ [name: string]: unknown;
6841
+ };
6842
+ content?: never;
6843
+ };
6844
+ /** @description Server error (will retry) */
6845
+ 500: {
6846
+ headers: {
6847
+ [name: string]: unknown;
6848
+ };
6849
+ content?: never;
6850
+ };
6851
+ };
6852
+ };
6853
+ "market-liquidity": {
6854
+ parameters: {
6855
+ query?: never;
6856
+ header: {
6857
+ /** @description UUID of the webhook subscription that fired */
6858
+ "X-Webhook-ID": string;
6859
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
6860
+ "X-Delivery-ID": string;
6861
+ /** @description Event name string (e.g. `trader_first_trade`) */
6862
+ "X-Event-Type": string;
6863
+ /** @description Delivery attempt number (1 = first attempt) */
6864
+ "X-Attempt": number;
6865
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
6866
+ "X-Webhook-Signature"?: string;
6867
+ };
6868
+ path?: never;
6869
+ cookie?: never;
6870
+ };
6871
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
6872
+ requestBody: {
6873
+ content: {
6874
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
6875
+ data?: components["schemas"]["MarketLiquidityPayload"];
6876
+ };
6877
+ };
6878
+ };
6879
+ responses: {
6880
+ /** @description Webhook delivery acknowledged */
6881
+ 200: {
6882
+ headers: {
6883
+ [name: string]: unknown;
6884
+ };
6885
+ content?: never;
6886
+ };
6887
+ /** @description Server error (will retry) */
6888
+ 500: {
6889
+ headers: {
6890
+ [name: string]: unknown;
6891
+ };
6892
+ content?: never;
6893
+ };
6894
+ };
6895
+ };
6896
+ "event-liquidity": {
6897
+ parameters: {
6898
+ query?: never;
6899
+ header: {
6900
+ /** @description UUID of the webhook subscription that fired */
6901
+ "X-Webhook-ID": string;
6902
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
6903
+ "X-Delivery-ID": string;
6904
+ /** @description Event name string (e.g. `trader_first_trade`) */
6905
+ "X-Event-Type": string;
6906
+ /** @description Delivery attempt number (1 = first attempt) */
6907
+ "X-Attempt": number;
6908
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
6909
+ "X-Webhook-Signature"?: string;
6910
+ };
6911
+ path?: never;
6912
+ cookie?: never;
6913
+ };
6914
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
6915
+ requestBody: {
6916
+ content: {
6917
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
6918
+ data?: components["schemas"]["EventLiquidityPayload"];
6919
+ };
6920
+ };
6921
+ };
6922
+ responses: {
6923
+ /** @description Webhook delivery acknowledged */
6924
+ 200: {
6925
+ headers: {
6926
+ [name: string]: unknown;
6927
+ };
6928
+ content?: never;
6929
+ };
6930
+ /** @description Server error (will retry) */
6931
+ 500: {
6932
+ headers: {
6933
+ [name: string]: unknown;
6934
+ };
6935
+ content?: never;
6936
+ };
6937
+ };
6938
+ };
5574
6939
  "market-volume-milestone": {
5575
6940
  parameters: {
5576
6941
  query?: never;
@@ -5958,6 +7323,135 @@ export interface operations {
5958
7323
  };
5959
7324
  };
5960
7325
  };
7326
+ "price-threshold": {
7327
+ parameters: {
7328
+ query?: never;
7329
+ header: {
7330
+ /** @description UUID of the webhook subscription that fired */
7331
+ "X-Webhook-ID": string;
7332
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
7333
+ "X-Delivery-ID": string;
7334
+ /** @description Event name string (e.g. `trader_first_trade`) */
7335
+ "X-Event-Type": string;
7336
+ /** @description Delivery attempt number (1 = first attempt) */
7337
+ "X-Attempt": number;
7338
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
7339
+ "X-Webhook-Signature"?: string;
7340
+ };
7341
+ path?: never;
7342
+ cookie?: never;
7343
+ };
7344
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
7345
+ requestBody: {
7346
+ content: {
7347
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
7348
+ data?: components["schemas"]["PriceThresholdPayload"];
7349
+ };
7350
+ };
7351
+ };
7352
+ responses: {
7353
+ /** @description Webhook delivery acknowledged */
7354
+ 200: {
7355
+ headers: {
7356
+ [name: string]: unknown;
7357
+ };
7358
+ content?: never;
7359
+ };
7360
+ /** @description Server error (will retry) */
7361
+ 500: {
7362
+ headers: {
7363
+ [name: string]: unknown;
7364
+ };
7365
+ content?: never;
7366
+ };
7367
+ };
7368
+ };
7369
+ "market-resolved": {
7370
+ parameters: {
7371
+ query?: never;
7372
+ header: {
7373
+ /** @description UUID of the webhook subscription that fired */
7374
+ "X-Webhook-ID": string;
7375
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
7376
+ "X-Delivery-ID": string;
7377
+ /** @description Event name string (e.g. `trader_first_trade`) */
7378
+ "X-Event-Type": string;
7379
+ /** @description Delivery attempt number (1 = first attempt) */
7380
+ "X-Attempt": number;
7381
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
7382
+ "X-Webhook-Signature"?: string;
7383
+ };
7384
+ path?: never;
7385
+ cookie?: never;
7386
+ };
7387
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
7388
+ requestBody: {
7389
+ content: {
7390
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
7391
+ data?: components["schemas"]["MarketResolvedPayload"];
7392
+ };
7393
+ };
7394
+ };
7395
+ responses: {
7396
+ /** @description Webhook delivery acknowledged */
7397
+ 200: {
7398
+ headers: {
7399
+ [name: string]: unknown;
7400
+ };
7401
+ content?: never;
7402
+ };
7403
+ /** @description Server error (will retry) */
7404
+ 500: {
7405
+ headers: {
7406
+ [name: string]: unknown;
7407
+ };
7408
+ content?: never;
7409
+ };
7410
+ };
7411
+ };
7412
+ "market-disputed": {
7413
+ parameters: {
7414
+ query?: never;
7415
+ header: {
7416
+ /** @description UUID of the webhook subscription that fired */
7417
+ "X-Webhook-ID": string;
7418
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
7419
+ "X-Delivery-ID": string;
7420
+ /** @description Event name string (e.g. `trader_first_trade`) */
7421
+ "X-Event-Type": string;
7422
+ /** @description Delivery attempt number (1 = first attempt) */
7423
+ "X-Attempt": number;
7424
+ /** @description HMAC-SHA256 of the raw request body: `sha256=<hex>`. Present only when the webhook has a secret configured. Verify with: HMAC-SHA256(secret, raw_body_bytes) == hex_part. */
7425
+ "X-Webhook-Signature"?: string;
7426
+ };
7427
+ path?: never;
7428
+ cookie?: never;
7429
+ };
7430
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
7431
+ requestBody: {
7432
+ content: {
7433
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
7434
+ data?: components["schemas"]["MarketDisputedPayload"];
7435
+ };
7436
+ };
7437
+ };
7438
+ responses: {
7439
+ /** @description Webhook delivery acknowledged */
7440
+ 200: {
7441
+ headers: {
7442
+ [name: string]: unknown;
7443
+ };
7444
+ content?: never;
7445
+ };
7446
+ /** @description Server error (will retry) */
7447
+ 500: {
7448
+ headers: {
7449
+ [name: string]: unknown;
7450
+ };
7451
+ content?: never;
7452
+ };
7453
+ };
7454
+ };
5961
7455
  "market-created": {
5962
7456
  parameters: {
5963
7457
  query?: never;