@structbuild/sdk 0.1.6 → 0.1.7

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.
@@ -0,0 +1,1656 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/webhooks": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * List webhooks
15
+ * @description Retrieve a paginated list of your webhook subscriptions with optional filtering
16
+ */
17
+ get: operations["list_webhooks"];
18
+ put?: never;
19
+ /**
20
+ * Create webhook
21
+ * @description Create a new webhook subscription for real-time event notifications
22
+ */
23
+ post: operations["create_webhook"];
24
+ delete?: never;
25
+ options?: never;
26
+ head?: never;
27
+ patch?: never;
28
+ trace?: never;
29
+ };
30
+ "/webhooks/{webhook_id}": {
31
+ parameters: {
32
+ query?: never;
33
+ header?: never;
34
+ path?: never;
35
+ cookie?: never;
36
+ };
37
+ /**
38
+ * Get webhook
39
+ * @description Retrieve details of a specific webhook by its ID
40
+ */
41
+ get: operations["get_webhook"];
42
+ /**
43
+ * Update webhook
44
+ * @description Update an existing webhook's URL, filters, or status
45
+ */
46
+ put: operations["update_webhook"];
47
+ post?: never;
48
+ /**
49
+ * Delete webhook
50
+ * @description Permanently delete a webhook subscription
51
+ */
52
+ delete: operations["delete_webhook"];
53
+ options?: never;
54
+ head?: never;
55
+ patch?: never;
56
+ trace?: never;
57
+ };
58
+ "/webhooks/{webhook_id}/test": {
59
+ parameters: {
60
+ query?: never;
61
+ header?: never;
62
+ path?: never;
63
+ cookie?: never;
64
+ };
65
+ get?: never;
66
+ put?: never;
67
+ /**
68
+ * Test webhook
69
+ * @description Send a test payload to the webhook URL to verify connectivity
70
+ */
71
+ post: operations["test_webhook"];
72
+ delete?: never;
73
+ options?: never;
74
+ head?: never;
75
+ patch?: never;
76
+ trace?: never;
77
+ };
78
+ }
79
+ export interface webhooks {
80
+ "first-trade": {
81
+ parameters: {
82
+ query?: never;
83
+ header?: never;
84
+ path?: never;
85
+ cookie?: never;
86
+ };
87
+ get?: never;
88
+ put?: never;
89
+ /**
90
+ * First trade callback
91
+ * @description Fired when a tracked trader executes their first trade on a market
92
+ */
93
+ post: operations["first-trade"];
94
+ delete?: never;
95
+ options?: never;
96
+ head?: never;
97
+ patch?: never;
98
+ trace?: never;
99
+ };
100
+ "global-pnl": {
101
+ parameters: {
102
+ query?: never;
103
+ header?: never;
104
+ path?: never;
105
+ cookie?: never;
106
+ };
107
+ get?: never;
108
+ put?: never;
109
+ /**
110
+ * Global PnL callback
111
+ * @description Fired when a trader's global PnL crosses a configured threshold
112
+ */
113
+ post: operations["global-pnl"];
114
+ delete?: never;
115
+ options?: never;
116
+ head?: never;
117
+ patch?: never;
118
+ trace?: never;
119
+ };
120
+ "market-pnl": {
121
+ parameters: {
122
+ query?: never;
123
+ header?: never;
124
+ path?: never;
125
+ cookie?: never;
126
+ };
127
+ get?: never;
128
+ put?: never;
129
+ /**
130
+ * Market PnL callback
131
+ * @description Fired when a trader's market-level PnL crosses a configured threshold
132
+ */
133
+ post: operations["market-pnl"];
134
+ delete?: never;
135
+ options?: never;
136
+ head?: never;
137
+ patch?: never;
138
+ trace?: never;
139
+ };
140
+ "event-pnl": {
141
+ parameters: {
142
+ query?: never;
143
+ header?: never;
144
+ path?: never;
145
+ cookie?: never;
146
+ };
147
+ get?: never;
148
+ put?: never;
149
+ /**
150
+ * Event PnL callback
151
+ * @description Fired when a trader's event-level PnL crosses a configured threshold
152
+ */
153
+ post: operations["event-pnl"];
154
+ delete?: never;
155
+ options?: never;
156
+ head?: never;
157
+ patch?: never;
158
+ trace?: never;
159
+ };
160
+ "position-pnl": {
161
+ parameters: {
162
+ query?: never;
163
+ header?: never;
164
+ path?: never;
165
+ cookie?: never;
166
+ };
167
+ get?: never;
168
+ put?: never;
169
+ /**
170
+ * Position PnL callback
171
+ * @description Fired when a trader's position-level PnL crosses a configured threshold
172
+ */
173
+ post: operations["position-pnl"];
174
+ delete?: never;
175
+ options?: never;
176
+ head?: never;
177
+ patch?: never;
178
+ trace?: never;
179
+ };
180
+ "market-metrics": {
181
+ parameters: {
182
+ query?: never;
183
+ header?: never;
184
+ path?: never;
185
+ cookie?: never;
186
+ };
187
+ get?: never;
188
+ put?: never;
189
+ /**
190
+ * Market metrics callback
191
+ * @description Fired when a market's volume or transaction metrics cross a configured threshold
192
+ */
193
+ post: operations["market-metrics"];
194
+ delete?: never;
195
+ options?: never;
196
+ head?: never;
197
+ patch?: never;
198
+ trace?: never;
199
+ };
200
+ "event-metrics": {
201
+ parameters: {
202
+ query?: never;
203
+ header?: never;
204
+ path?: never;
205
+ cookie?: never;
206
+ };
207
+ get?: never;
208
+ put?: never;
209
+ /**
210
+ * Event metrics callback
211
+ * @description Fired when an event's volume or transaction metrics cross a configured threshold
212
+ */
213
+ post: operations["event-metrics"];
214
+ delete?: never;
215
+ options?: never;
216
+ head?: never;
217
+ patch?: never;
218
+ trace?: never;
219
+ };
220
+ "position-metrics": {
221
+ parameters: {
222
+ query?: never;
223
+ header?: never;
224
+ path?: never;
225
+ cookie?: never;
226
+ };
227
+ get?: never;
228
+ put?: never;
229
+ /**
230
+ * Position metrics callback
231
+ * @description Fired when a position's volume or transaction metrics cross a configured threshold
232
+ */
233
+ post: operations["position-metrics"];
234
+ delete?: never;
235
+ options?: never;
236
+ head?: never;
237
+ patch?: never;
238
+ trace?: never;
239
+ };
240
+ "market-volume-milestone": {
241
+ parameters: {
242
+ query?: never;
243
+ header?: never;
244
+ path?: never;
245
+ cookie?: never;
246
+ };
247
+ get?: never;
248
+ put?: never;
249
+ /**
250
+ * Market volume milestone callback
251
+ * @description Fired when a market's trading volume reaches a milestone threshold
252
+ */
253
+ post: operations["market-volume-milestone"];
254
+ delete?: never;
255
+ options?: never;
256
+ head?: never;
257
+ patch?: never;
258
+ trace?: never;
259
+ };
260
+ "event-volume-milestone": {
261
+ parameters: {
262
+ query?: never;
263
+ header?: never;
264
+ path?: never;
265
+ cookie?: never;
266
+ };
267
+ get?: never;
268
+ put?: never;
269
+ /**
270
+ * Event volume milestone callback
271
+ * @description Fired when an event's trading volume reaches a milestone threshold
272
+ */
273
+ post: operations["event-volume-milestone"];
274
+ delete?: never;
275
+ options?: never;
276
+ head?: never;
277
+ patch?: never;
278
+ trace?: never;
279
+ };
280
+ "position-volume-milestone": {
281
+ parameters: {
282
+ query?: never;
283
+ header?: never;
284
+ path?: never;
285
+ cookie?: never;
286
+ };
287
+ get?: never;
288
+ put?: never;
289
+ /**
290
+ * Position volume milestone callback
291
+ * @description Fired when a position's trading volume reaches a milestone threshold
292
+ */
293
+ post: operations["position-volume-milestone"];
294
+ delete?: never;
295
+ options?: never;
296
+ head?: never;
297
+ patch?: never;
298
+ trace?: never;
299
+ };
300
+ "probability-spike": {
301
+ parameters: {
302
+ query?: never;
303
+ header?: never;
304
+ path?: never;
305
+ cookie?: never;
306
+ };
307
+ get?: never;
308
+ put?: never;
309
+ /**
310
+ * Probability spike callback
311
+ * @description Fired when a position's probability changes by more than a configured percentage
312
+ */
313
+ post: operations["probability-spike"];
314
+ delete?: never;
315
+ options?: never;
316
+ head?: never;
317
+ patch?: never;
318
+ trace?: never;
319
+ };
320
+ }
321
+ export interface components {
322
+ schemas: {
323
+ /** @description Condition metrics webhook payload (Arc-optimized, no internal metadata) */
324
+ ConditionMetricsPayload: {
325
+ condition_id?: string | null;
326
+ timeframe?: string | null;
327
+ /** Format: double */
328
+ volume_usd?: number | null;
329
+ /** Format: double */
330
+ fees?: number | null;
331
+ /** Format: int64 */
332
+ txns?: number | null;
333
+ /** Format: int64 */
334
+ unique_traders?: number | null;
335
+ };
336
+ /** @description Request body for creating a webhook */
337
+ CreateWebhookRequestBody: {
338
+ /** @description Destination URL for webhook deliveries (must be HTTPS) */
339
+ url: string;
340
+ /** @description Events to subscribe to */
341
+ events: components["schemas"]["PolymarketWebhookEvent"][];
342
+ /** @description Optional secret for HMAC signature verification */
343
+ secret?: string | null;
344
+ filters?: null | components["schemas"]["WebhookFiltersBody"];
345
+ /** @description Optional description/name */
346
+ description?: string | null;
347
+ };
348
+ /** @description Event metrics webhook payload (Arc-optimized, no internal metadata) */
349
+ EventMetricsPayload: {
350
+ event_slug?: string | null;
351
+ timeframe?: string | null;
352
+ /** Format: double */
353
+ volume_usd?: number | null;
354
+ /** Format: double */
355
+ fees?: number | null;
356
+ /** Format: int64 */
357
+ txns?: number | null;
358
+ /** Format: int64 */
359
+ unique_traders?: number | null;
360
+ };
361
+ /** @description Event PnL webhook payload (Arc-optimized) */
362
+ EventPnlPayload: {
363
+ event_slug?: string | null;
364
+ /** Format: int64 */
365
+ markets_traded?: number | null;
366
+ /** Format: int64 */
367
+ outcomes_traded?: number | null;
368
+ /** Format: int64 */
369
+ total_buys?: number | null;
370
+ /** Format: int64 */
371
+ total_sells?: number | null;
372
+ /** Format: int64 */
373
+ total_redemptions?: number | null;
374
+ /** Format: int64 */
375
+ total_merges?: number | null;
376
+ /** Format: double */
377
+ total_volume_usd?: number | null;
378
+ /** Format: double */
379
+ buy_usd?: number | null;
380
+ /** Format: double */
381
+ sell_usd?: number | null;
382
+ /** Format: double */
383
+ redemption_usd?: number | null;
384
+ /** Format: double */
385
+ merge_usd?: number | null;
386
+ /** Format: double */
387
+ realized_pnl_usd?: number | null;
388
+ /** Format: int64 */
389
+ winning_markets?: number | null;
390
+ /** Format: int64 */
391
+ losing_markets?: number | null;
392
+ /** Format: double */
393
+ total_fees?: number | null;
394
+ /** Format: int64 */
395
+ first_trade_at?: number | null;
396
+ /** Format: int64 */
397
+ last_trade_at?: number | null;
398
+ };
399
+ /** @description Event volume milestone webhook payload */
400
+ EventVolumeMilestonePayload: {
401
+ event_slug: string;
402
+ timeframe: string;
403
+ /**
404
+ * Format: double
405
+ * @description Milestone amount reached (USD)
406
+ */
407
+ milestone_usd: number;
408
+ /**
409
+ * Format: double
410
+ * @description Current volume (USD) that triggered the milestone
411
+ */
412
+ current_volume_usd: number;
413
+ /**
414
+ * Format: double
415
+ * @description Total fees collected in this timeframe
416
+ */
417
+ fees: number;
418
+ /**
419
+ * Format: int64
420
+ * @description Total transactions in this timeframe
421
+ */
422
+ txns: number;
423
+ };
424
+ /** @description First trade webhook payload with zero-copy Arc<str> for string sharing */
425
+ FirstTradePayload: {
426
+ /** @description Event type identifier */
427
+ event_type: string;
428
+ /** @description Trader/taker address (zero-copy Arc) */
429
+ trader: string;
430
+ /** @description Taker address (same as trader, zero-copy Arc) */
431
+ taker: string;
432
+ /** @description Position ID (ERC1155 token ID, zero-copy Arc) */
433
+ position_id: string;
434
+ /** @description Market ID (same as position_id for compatibility, zero-copy Arc) */
435
+ market_id: string;
436
+ /** @description Condition ID (market condition, zero-copy Arc) */
437
+ condition_id?: string | null;
438
+ /** @description Market outcome (e.g., "Yes", "No", zero-copy Arc) */
439
+ outcome?: string | null;
440
+ /**
441
+ * Format: int32
442
+ * @description Outcome index (0 = Yes, 1 = No)
443
+ */
444
+ outcome_index?: number | null;
445
+ /** @description Market question (zero-copy Arc) */
446
+ question?: string | null;
447
+ /** @description Market slug (zero-copy Arc) */
448
+ slug?: string | null;
449
+ /** @description Event slug (parent event, zero-copy Arc) */
450
+ event_slug?: string | null;
451
+ /** @description Trade ID (zero-copy Arc) */
452
+ trade_id: string;
453
+ /** @description Transaction hash (zero-copy Arc) */
454
+ hash: string;
455
+ /**
456
+ * Format: int64
457
+ * @description Block number
458
+ */
459
+ block: number;
460
+ /**
461
+ * Format: int64
462
+ * @description Confirmed timestamp (Unix seconds)
463
+ */
464
+ confirmed_at: number;
465
+ /**
466
+ * Format: int64
467
+ * @description Timestamp (same as confirmed_at for compatibility)
468
+ */
469
+ timestamp: number;
470
+ amount_usd: string;
471
+ shares_amount: string;
472
+ fee: string;
473
+ /** @description Trade side (Buy/Sell, zero-copy Arc) */
474
+ side: string;
475
+ /**
476
+ * Format: double
477
+ * @description Price per share (0.0 - 1.0)
478
+ */
479
+ price: number;
480
+ /**
481
+ * Format: double
482
+ * @description Implied probability (0.0 - 1.0)
483
+ */
484
+ probability?: number | null;
485
+ exchange: string;
486
+ trade_type: string;
487
+ };
488
+ /** @description Global PnL webhook payload (Arc-optimized) */
489
+ GlobalPnlPayload: {
490
+ trader?: string | null;
491
+ /** Format: double */
492
+ realized_pnl_usd?: number | null;
493
+ /** Format: int64 */
494
+ events_traded?: number | null;
495
+ /** Format: int64 */
496
+ markets_traded?: number | null;
497
+ /** Format: int64 */
498
+ positions_traded?: number | null;
499
+ /** Format: int64 */
500
+ total_buys?: number | null;
501
+ /** Format: int64 */
502
+ total_sells?: number | null;
503
+ /** Format: int64 */
504
+ total_redemptions?: number | null;
505
+ /** Format: int64 */
506
+ total_merges?: number | null;
507
+ /** Format: double */
508
+ total_volume_usd?: number | null;
509
+ /** Format: double */
510
+ buy_volume_usd?: number | null;
511
+ /** Format: double */
512
+ sell_volume_usd?: number | null;
513
+ /** Format: double */
514
+ redemption_volume_usd?: number | null;
515
+ /** Format: double */
516
+ merge_volume_usd?: number | null;
517
+ /** Format: int64 */
518
+ winning_positions?: number | null;
519
+ /** Format: int64 */
520
+ losing_positions?: number | null;
521
+ /** Format: double */
522
+ win_rate_pct?: number | null;
523
+ /** Format: int64 */
524
+ markets_won?: number | null;
525
+ /** Format: int64 */
526
+ markets_lost?: number | null;
527
+ /** Format: double */
528
+ market_win_rate_pct?: number | null;
529
+ /** Format: int64 */
530
+ open_positions?: number | null;
531
+ /** Format: double */
532
+ avg_pnl_per_position?: number | null;
533
+ /** Format: double */
534
+ avg_pnl_per_trade?: number | null;
535
+ /** Format: double */
536
+ avg_hold_time_seconds?: number | null;
537
+ /** Format: double */
538
+ total_fees?: number | null;
539
+ /** Format: int64 */
540
+ first_trade_at?: number | null;
541
+ /** Format: int64 */
542
+ last_trade_at?: number | null;
543
+ };
544
+ /** @description Market PnL webhook payload (Arc-optimized) */
545
+ MarketPnlPayload: {
546
+ condition_id?: string | null;
547
+ event_slug?: string | null;
548
+ /** Format: int64 */
549
+ outcomes_traded?: number | null;
550
+ /** Format: int64 */
551
+ total_buys?: number | null;
552
+ /** Format: int64 */
553
+ total_sells?: number | null;
554
+ /** Format: int64 */
555
+ total_redemptions?: number | null;
556
+ /** Format: int64 */
557
+ total_merges?: number | null;
558
+ /** Format: double */
559
+ buy_usd?: number | null;
560
+ /** Format: double */
561
+ sell_usd?: number | null;
562
+ /** Format: double */
563
+ redemption_usd?: number | null;
564
+ /** Format: double */
565
+ merge_usd?: number | null;
566
+ /** Format: double */
567
+ realized_pnl_usd?: number | null;
568
+ has_open_position?: boolean | null;
569
+ /** Format: double */
570
+ net_yes_shares?: number | null;
571
+ /** Format: double */
572
+ net_no_shares?: number | null;
573
+ /** Format: int64 */
574
+ winning_outcomes?: number | null;
575
+ /** Format: int64 */
576
+ losing_outcomes?: number | null;
577
+ /** Format: double */
578
+ total_fees?: number | null;
579
+ /** Format: int64 */
580
+ first_trade_at?: number | null;
581
+ /** Format: int64 */
582
+ last_trade_at?: number | null;
583
+ };
584
+ /**
585
+ * @description PnL timeframe enum for webhook filtering
586
+ * @enum {string}
587
+ */
588
+ PnlTimeframeFilter: "1d" | "7d" | "30d" | "lifetime";
589
+ /**
590
+ * @description Polymarket webhook event types
591
+ * @enum {string}
592
+ */
593
+ PolymarketWebhookEvent: "first_trade" | "global_pnl" | "market_pnl" | "event_pnl" | "position_pnl" | "condition_metrics" | "event_metrics" | "position_metrics" | "volume_milestone" | "event_volume_milestone" | "position_volume_milestone" | "probability_spike" | "volume_spike" | "*";
594
+ /**
595
+ * @description Polymarket-specific webhook filters
596
+ *
597
+ * Different webhook handlers use different subsets of these fields:
598
+ * - first_trade: wallet_addresses, min_usd_value, min_probability, max_probability, condition_ids, event_slugs, tags
599
+ * - global_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_volume_usd, min_win_rate, min_markets_traded
600
+ * - market_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_buy_usd, condition_ids, event_slugs, has_open_position
601
+ * - event_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_volume_usd, event_slugs, min_markets_traded
602
+ * - position_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_buy_usd, min_net_shares, max_net_shares, position_ids, condition_ids, event_slugs, outcomes
603
+ * - condition_metrics: condition_ids, min_volume_usd, max_volume_usd, min_fees, min_txns, timeframes
604
+ * - event_metrics: event_slugs, min_volume_usd, max_volume_usd, min_fees, min_txns, timeframes
605
+ * - 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
606
+ * - volume_milestone: condition_ids, timeframes, milestone_amounts
607
+ *
608
+ * Implements Hash + Eq manually (f64 fields use bit representation)
609
+ */
610
+ PolymarketWebhookFilter: {
611
+ /** @description Filter by wallet addresses (for first_trade, normalized to lowercase) */
612
+ wallet_addresses?: string[];
613
+ /** @description Filter by trader addresses (for PnL webhooks, normalized to lowercase) */
614
+ traders?: string[];
615
+ /** @description Filter by market/condition IDs */
616
+ condition_ids?: string[];
617
+ /**
618
+ * Format: double
619
+ * @description Filter by minimum USD value (for trades)
620
+ */
621
+ min_usd_value?: number | null;
622
+ /** @description Filter by event slugs */
623
+ event_slugs?: string[];
624
+ /** @description Filter by tags */
625
+ tags?: string[];
626
+ /**
627
+ * Format: double
628
+ * @description Minimum probability threshold (0.0 - 1.0)
629
+ */
630
+ min_probability?: number | null;
631
+ /**
632
+ * Format: double
633
+ * @description Maximum probability threshold (0.0 - 1.0)
634
+ */
635
+ max_probability?: number | null;
636
+ /**
637
+ * Format: double
638
+ * @description Minimum realized PnL (USD) - for PnL webhooks
639
+ */
640
+ min_realized_pnl_usd?: number | null;
641
+ /**
642
+ * Format: double
643
+ * @description Maximum realized PnL (USD) - for PnL webhooks
644
+ */
645
+ max_realized_pnl_usd?: number | null;
646
+ /**
647
+ * Format: double
648
+ * @description Minimum volume (USD) - for PnL and metrics webhooks
649
+ */
650
+ min_volume_usd?: number | null;
651
+ /**
652
+ * Format: double
653
+ * @description Maximum volume (USD) - for metrics webhooks
654
+ */
655
+ max_volume_usd?: number | null;
656
+ /**
657
+ * Format: double
658
+ * @description Minimum buy volume (USD) - for PnL and metrics webhooks
659
+ */
660
+ min_buy_usd?: number | null;
661
+ /**
662
+ * Format: double
663
+ * @description Minimum win rate (0.0 - 100.0) - for global PnL webhooks
664
+ */
665
+ min_win_rate?: number | null;
666
+ /**
667
+ * Format: int64
668
+ * @description Minimum markets traded - for PnL webhooks
669
+ */
670
+ min_markets_traded?: number | null;
671
+ /**
672
+ * Format: double
673
+ * @description Minimum net shares - for position PnL webhooks
674
+ */
675
+ min_net_shares?: number | null;
676
+ /**
677
+ * Format: double
678
+ * @description Maximum net shares - for position PnL webhooks
679
+ */
680
+ max_net_shares?: number | null;
681
+ /** @description Filter by position IDs - for position PnL webhooks */
682
+ position_ids?: string[];
683
+ /** @description Filter by outcomes (e.g., "Yes", "No") - for position PnL webhooks */
684
+ outcomes?: string[];
685
+ /** @description Only markets with open positions - for market PnL webhooks */
686
+ has_open_position?: boolean | null;
687
+ /**
688
+ * Format: double
689
+ * @description Minimum fees - for metrics webhooks
690
+ */
691
+ min_fees?: number | null;
692
+ /**
693
+ * Format: int64
694
+ * @description Minimum transaction count - for metrics webhooks
695
+ */
696
+ min_txns?: number | null;
697
+ /**
698
+ * Format: double
699
+ * @description Minimum sell volume (USD) - for position metrics webhooks
700
+ */
701
+ min_sell_volume_usd?: number | null;
702
+ /**
703
+ * Format: double
704
+ * @description Minimum price change percentage - for position metrics webhooks
705
+ */
706
+ min_price_change_pct?: number | null;
707
+ /**
708
+ * Format: double
709
+ * @description Minimum probability change percentage - for position metrics webhooks
710
+ */
711
+ min_probability_change_pct?: number | null;
712
+ /** @description Timeframes to track - for metrics webhooks (1m, 5m, 30m, 1h, 6h, 24h) */
713
+ timeframes?: string[];
714
+ /** @description Milestone amounts to track - for volume milestone webhooks (e.g., 10000, 100000, 1000000) */
715
+ milestone_amounts?: number[];
716
+ /**
717
+ * Format: double
718
+ * @description User's baseline volume for spike detection (USD) - for volume spike webhooks
719
+ * Example: 50000.0 for $50k baseline
720
+ */
721
+ baseline_volume_usd?: number | null;
722
+ /**
723
+ * Format: double
724
+ * @description Spike ratio multiplier (must be > 1.0) - for volume spike webhooks
725
+ * Example: 2.0 for 2x, 5.0 for 5x, 10.0 for 10x
726
+ */
727
+ spike_ratio?: number | null;
728
+ /**
729
+ * @description Exclude short-term trading markets by timeframe (e.g., ["5m", "15m", "30m", "1h"])
730
+ * Filters out event slugs containing these timeframe patterns (auto-wrapped: "5m" → "-5m-")
731
+ * Example: Excludes "btc-updown-5m-1771678800" when "5m" is in the list
732
+ */
733
+ exclude_shortterm_market_timeframes?: string[];
734
+ };
735
+ /** @description Position metrics webhook payload (Arc-optimized, no internal metadata) */
736
+ PositionMetricsPayload: {
737
+ position_id?: string | null;
738
+ outcome?: string | null;
739
+ /** Format: int32 */
740
+ outcome_index?: number | null;
741
+ timeframe?: string | null;
742
+ /** Format: double */
743
+ volume_usd?: number | null;
744
+ /** Format: double */
745
+ buy_volume_usd?: number | null;
746
+ /** Format: double */
747
+ sell_volume_usd?: number | null;
748
+ /** Format: double */
749
+ fees?: number | null;
750
+ /** Format: int64 */
751
+ txns?: number | null;
752
+ /** Format: int64 */
753
+ buys?: number | null;
754
+ /** Format: int64 */
755
+ sells?: number | null;
756
+ /** Format: int64 */
757
+ unique_traders?: number | null;
758
+ /** Format: double */
759
+ price_open?: number | null;
760
+ /** Format: double */
761
+ price_close?: number | null;
762
+ /** Format: double */
763
+ price_high?: number | null;
764
+ /** Format: double */
765
+ price_low?: number | null;
766
+ /** Format: double */
767
+ probability_open?: number | null;
768
+ /** Format: double */
769
+ probability_close?: number | null;
770
+ /** Format: double */
771
+ probability_high?: number | null;
772
+ /** Format: double */
773
+ probability_low?: number | null;
774
+ };
775
+ /** @description Position PnL webhook payload (Arc-optimized) */
776
+ PositionPnlPayload: {
777
+ condition_id?: string | null;
778
+ position_id?: string | null;
779
+ outcome?: string | null;
780
+ /** Format: int64 */
781
+ outcome_index?: number | null;
782
+ event_slug?: string | null;
783
+ /** Format: int64 */
784
+ buy_count?: number | null;
785
+ /** Format: int64 */
786
+ sell_count?: number | null;
787
+ /** Format: int64 */
788
+ redemption_count?: number | null;
789
+ /** Format: int64 */
790
+ merge_count?: number | null;
791
+ /** Format: double */
792
+ total_shares_bought?: number | null;
793
+ /** Format: double */
794
+ total_shares_sold?: number | null;
795
+ /** Format: double */
796
+ total_shares_redeemed?: number | null;
797
+ /** Format: double */
798
+ total_shares_merged?: number | null;
799
+ /** Format: double */
800
+ net_shares?: number | null;
801
+ /** Format: double */
802
+ buy_usd?: number | null;
803
+ /** Format: double */
804
+ sell_usd?: number | null;
805
+ /** Format: double */
806
+ redemption_usd?: number | null;
807
+ /** Format: double */
808
+ merge_usd?: number | null;
809
+ /** Format: double */
810
+ realized_pnl_usd?: number | null;
811
+ /** Format: double */
812
+ cost_basis?: number | null;
813
+ /** Format: double */
814
+ total_fees?: number | null;
815
+ /** Format: int64 */
816
+ first_trade_at?: number | null;
817
+ /** Format: int64 */
818
+ last_trade_at?: number | null;
819
+ };
820
+ /** @description Position volume milestone webhook payload */
821
+ PositionVolumeMilestonePayload: {
822
+ condition_id?: string | null;
823
+ position_id: string;
824
+ outcome?: string | null;
825
+ /** Format: int32 */
826
+ outcome_index?: number | null;
827
+ timeframe: string;
828
+ /**
829
+ * Format: double
830
+ * @description Milestone amount reached (USD)
831
+ */
832
+ milestone_usd: number;
833
+ /**
834
+ * Format: double
835
+ * @description Current volume (USD) that triggered the milestone
836
+ */
837
+ current_volume_usd: number;
838
+ /**
839
+ * Format: double
840
+ * @description Buy volume (USD)
841
+ */
842
+ buy_volume_usd: number;
843
+ /**
844
+ * Format: double
845
+ * @description Sell volume (USD)
846
+ */
847
+ sell_volume_usd: number;
848
+ /**
849
+ * Format: double
850
+ * @description Total fees collected in this timeframe
851
+ */
852
+ fees: number;
853
+ /**
854
+ * Format: int64
855
+ * @description Total transactions in this timeframe
856
+ */
857
+ txns: number;
858
+ /**
859
+ * Format: int64
860
+ * @description Buy transactions
861
+ */
862
+ buys: number;
863
+ /**
864
+ * Format: int64
865
+ * @description Sell transactions
866
+ */
867
+ sells: number;
868
+ };
869
+ /** @description Position probability spike webhook payload */
870
+ ProbabilitySpikePayload: {
871
+ position_id: string;
872
+ outcome?: string | null;
873
+ /** Format: int32 */
874
+ outcome_index?: number | null;
875
+ timeframe: string;
876
+ /**
877
+ * Format: double
878
+ * @description Probability at the start of the timeframe (0.0 - 1.0)
879
+ */
880
+ probability_open: number;
881
+ /**
882
+ * Format: double
883
+ * @description Probability at the end of the timeframe (0.0 - 1.0)
884
+ */
885
+ probability_close: number;
886
+ /**
887
+ * Format: double
888
+ * @description Absolute probability change (e.g., 0.25 for 25 percentage points)
889
+ */
890
+ probability_change: number;
891
+ /**
892
+ * Format: double
893
+ * @description Percentage change relative to open (e.g., 83.33 for 30% -> 55%)
894
+ */
895
+ probability_change_pct: number;
896
+ /**
897
+ * Format: double
898
+ * @description Price at open (0.0 - 1.0)
899
+ */
900
+ price_open: number;
901
+ /**
902
+ * Format: double
903
+ * @description Price at close (0.0 - 1.0)
904
+ */
905
+ price_close: number;
906
+ /**
907
+ * Format: double
908
+ * @description Volume during the timeframe (USD)
909
+ */
910
+ volume_usd: number;
911
+ /**
912
+ * Format: int64
913
+ * @description Number of transactions
914
+ */
915
+ txns: number;
916
+ };
917
+ /** @description Request body for updating a webhook */
918
+ UpdateWebhookRequestBody: {
919
+ /** @description Destination URL for webhook deliveries (must be HTTPS) */
920
+ url?: string | null;
921
+ /** @description Events to subscribe to */
922
+ events?: components["schemas"]["PolymarketWebhookEvent"][] | null;
923
+ /** @description New secret for HMAC signature verification */
924
+ secret?: string | null;
925
+ filters?: null | components["schemas"]["WebhookFiltersBody"];
926
+ status?: null | components["schemas"]["WebhookStatusBody"];
927
+ /** @description Description/name */
928
+ description?: string | null;
929
+ };
930
+ /** @description Volume milestone webhook payload */
931
+ VolumeMilestonePayload: {
932
+ condition_id: string;
933
+ timeframe: string;
934
+ /**
935
+ * Format: double
936
+ * @description Milestone amount reached (USD)
937
+ */
938
+ milestone_usd: number;
939
+ /**
940
+ * Format: double
941
+ * @description Current volume (USD) that triggered the milestone
942
+ */
943
+ current_volume_usd: number;
944
+ /**
945
+ * Format: double
946
+ * @description Total fees collected in this timeframe
947
+ */
948
+ fees: number;
949
+ /**
950
+ * Format: int64
951
+ * @description Total transactions in this timeframe
952
+ */
953
+ txns: number;
954
+ };
955
+ /** @description Webhook filters request body */
956
+ WebhookFiltersBody: {
957
+ /** @description Filter by wallet addresses */
958
+ wallet_addresses?: string[];
959
+ /** @description Filter by market/condition IDs */
960
+ condition_ids?: string[];
961
+ /**
962
+ * Format: double
963
+ * @description Filter by minimum USD value
964
+ */
965
+ min_usd_value?: number | null;
966
+ /** @description Filter by event slugs */
967
+ event_slugs?: string[];
968
+ /**
969
+ * Format: double
970
+ * @description Minimum probability threshold (0.0 - 1.0)
971
+ */
972
+ min_probability?: number | null;
973
+ /**
974
+ * Format: double
975
+ * @description Maximum probability threshold (0.0 - 1.0)
976
+ */
977
+ max_probability?: number | null;
978
+ /** @description Exclude short-term trading markets by timeframe (e.g., ["5m", "15m"]) */
979
+ exclude_shortterm_market_timeframes?: string[];
980
+ };
981
+ /** @description List webhooks response */
982
+ WebhookListResponseBody: {
983
+ /** @description List of webhooks */
984
+ webhooks: components["schemas"]["WebhookResponse"][];
985
+ /** @description Total count */
986
+ total: number;
987
+ };
988
+ /** @description Webhook response (returned from API) */
989
+ WebhookResponse: {
990
+ /** @description Unique webhook ID */
991
+ id: string;
992
+ /** @description Destination URL */
993
+ url: string;
994
+ /** @description Subscribed events */
995
+ events: components["schemas"]["PolymarketWebhookEvent"][];
996
+ /** @description Filters */
997
+ filters: components["schemas"]["WebhookFiltersBody"];
998
+ /** @description Current status */
999
+ status: string;
1000
+ /**
1001
+ * Format: int32
1002
+ * @description Consecutive failure count
1003
+ */
1004
+ failure_count: number;
1005
+ /**
1006
+ * Format: int64
1007
+ * @description Last successful delivery timestamp
1008
+ */
1009
+ last_success_at?: number | null;
1010
+ /**
1011
+ * Format: int64
1012
+ * @description Last failed delivery timestamp
1013
+ */
1014
+ last_failure_at?: number | null;
1015
+ /** @description Last failure reason */
1016
+ last_failure_reason?: string | null;
1017
+ /**
1018
+ * Format: int64
1019
+ * @description Created timestamp
1020
+ */
1021
+ created_at: number;
1022
+ /**
1023
+ * Format: int64
1024
+ * @description Updated timestamp
1025
+ */
1026
+ updated_at: number;
1027
+ /** @description Description */
1028
+ description?: string | null;
1029
+ /** @description Whether a secret is configured */
1030
+ has_secret: boolean;
1031
+ };
1032
+ /**
1033
+ * @description Webhook status
1034
+ * @enum {string}
1035
+ */
1036
+ WebhookStatusBody: "active" | "paused";
1037
+ /** @description Test webhook response */
1038
+ WebhookTestResponseBody: {
1039
+ /** @description Whether the test delivery succeeded */
1040
+ success: boolean;
1041
+ /**
1042
+ * Format: int32
1043
+ * @description HTTP status code from the endpoint
1044
+ */
1045
+ status_code?: number | null;
1046
+ /** @description Error message if failed */
1047
+ error?: string | null;
1048
+ /**
1049
+ * Format: int64
1050
+ * @description Delivery duration in milliseconds
1051
+ */
1052
+ duration_ms: number;
1053
+ };
1054
+ };
1055
+ responses: never;
1056
+ parameters: never;
1057
+ requestBodies: never;
1058
+ headers: never;
1059
+ pathItems: never;
1060
+ }
1061
+ export type $defs = Record<string, never>;
1062
+ export interface operations {
1063
+ list_webhooks: {
1064
+ parameters: {
1065
+ query?: {
1066
+ /** @description Results per page (default: 20, max: 100) */
1067
+ limit?: number;
1068
+ /** @description Pagination offset (default: 0) */
1069
+ offset?: number;
1070
+ /** @description Filter by status: active, paused */
1071
+ status?: components["schemas"]["WebhookStatusBody"];
1072
+ /** @description Filter by event type */
1073
+ event?: components["schemas"]["PolymarketWebhookEvent"];
1074
+ };
1075
+ header?: never;
1076
+ path?: never;
1077
+ cookie?: never;
1078
+ };
1079
+ requestBody?: never;
1080
+ responses: {
1081
+ /** @description List of webhooks */
1082
+ 200: {
1083
+ headers: {
1084
+ [name: string]: unknown;
1085
+ };
1086
+ content: {
1087
+ "application/json": components["schemas"]["WebhookListResponseBody"];
1088
+ };
1089
+ };
1090
+ /** @description Missing or invalid API key */
1091
+ 401: {
1092
+ headers: {
1093
+ [name: string]: unknown;
1094
+ };
1095
+ content?: never;
1096
+ };
1097
+ };
1098
+ };
1099
+ create_webhook: {
1100
+ parameters: {
1101
+ query?: never;
1102
+ header?: never;
1103
+ path?: never;
1104
+ cookie?: never;
1105
+ };
1106
+ requestBody: {
1107
+ content: {
1108
+ "application/json": components["schemas"]["CreateWebhookRequestBody"];
1109
+ };
1110
+ };
1111
+ responses: {
1112
+ /** @description Webhook created successfully */
1113
+ 201: {
1114
+ headers: {
1115
+ [name: string]: unknown;
1116
+ };
1117
+ content: {
1118
+ "application/json": components["schemas"]["WebhookResponse"];
1119
+ };
1120
+ };
1121
+ /** @description Invalid request (malformed URL, invalid filters, etc.) */
1122
+ 400: {
1123
+ headers: {
1124
+ [name: string]: unknown;
1125
+ };
1126
+ content?: never;
1127
+ };
1128
+ /** @description Missing or invalid API key */
1129
+ 401: {
1130
+ headers: {
1131
+ [name: string]: unknown;
1132
+ };
1133
+ content?: never;
1134
+ };
1135
+ /** @description Insufficient credits */
1136
+ 402: {
1137
+ headers: {
1138
+ [name: string]: unknown;
1139
+ };
1140
+ content?: never;
1141
+ };
1142
+ /** @description Rate limit exceeded (max 100 webhooks per user) */
1143
+ 429: {
1144
+ headers: {
1145
+ [name: string]: unknown;
1146
+ };
1147
+ content?: never;
1148
+ };
1149
+ };
1150
+ };
1151
+ get_webhook: {
1152
+ parameters: {
1153
+ query?: never;
1154
+ header?: never;
1155
+ path: {
1156
+ /** @description Webhook UUID */
1157
+ webhook_id: string;
1158
+ };
1159
+ cookie?: never;
1160
+ };
1161
+ requestBody?: never;
1162
+ responses: {
1163
+ /** @description Webhook details */
1164
+ 200: {
1165
+ headers: {
1166
+ [name: string]: unknown;
1167
+ };
1168
+ content: {
1169
+ "application/json": components["schemas"]["WebhookResponse"];
1170
+ };
1171
+ };
1172
+ /** @description Missing or invalid API key */
1173
+ 401: {
1174
+ headers: {
1175
+ [name: string]: unknown;
1176
+ };
1177
+ content?: never;
1178
+ };
1179
+ /** @description Webhook not found or not owned by user */
1180
+ 404: {
1181
+ headers: {
1182
+ [name: string]: unknown;
1183
+ };
1184
+ content?: never;
1185
+ };
1186
+ };
1187
+ };
1188
+ update_webhook: {
1189
+ parameters: {
1190
+ query?: never;
1191
+ header?: never;
1192
+ path: {
1193
+ /** @description Webhook UUID */
1194
+ webhook_id: string;
1195
+ };
1196
+ cookie?: never;
1197
+ };
1198
+ requestBody: {
1199
+ content: {
1200
+ "application/json": components["schemas"]["UpdateWebhookRequestBody"];
1201
+ };
1202
+ };
1203
+ responses: {
1204
+ /** @description Webhook updated successfully */
1205
+ 200: {
1206
+ headers: {
1207
+ [name: string]: unknown;
1208
+ };
1209
+ content: {
1210
+ "application/json": components["schemas"]["WebhookResponse"];
1211
+ };
1212
+ };
1213
+ /** @description Invalid request */
1214
+ 400: {
1215
+ headers: {
1216
+ [name: string]: unknown;
1217
+ };
1218
+ content?: never;
1219
+ };
1220
+ /** @description Missing or invalid API key */
1221
+ 401: {
1222
+ headers: {
1223
+ [name: string]: unknown;
1224
+ };
1225
+ content?: never;
1226
+ };
1227
+ /** @description Webhook not found or not owned by user */
1228
+ 404: {
1229
+ headers: {
1230
+ [name: string]: unknown;
1231
+ };
1232
+ content?: never;
1233
+ };
1234
+ };
1235
+ };
1236
+ delete_webhook: {
1237
+ parameters: {
1238
+ query?: never;
1239
+ header?: never;
1240
+ path: {
1241
+ /** @description Webhook UUID */
1242
+ webhook_id: string;
1243
+ };
1244
+ cookie?: never;
1245
+ };
1246
+ requestBody?: never;
1247
+ responses: {
1248
+ /** @description Webhook deleted successfully */
1249
+ 204: {
1250
+ headers: {
1251
+ [name: string]: unknown;
1252
+ };
1253
+ content?: never;
1254
+ };
1255
+ /** @description Missing or invalid API key */
1256
+ 401: {
1257
+ headers: {
1258
+ [name: string]: unknown;
1259
+ };
1260
+ content?: never;
1261
+ };
1262
+ /** @description Webhook not found or not owned by user */
1263
+ 404: {
1264
+ headers: {
1265
+ [name: string]: unknown;
1266
+ };
1267
+ content?: never;
1268
+ };
1269
+ };
1270
+ };
1271
+ test_webhook: {
1272
+ parameters: {
1273
+ query?: never;
1274
+ header?: never;
1275
+ path: {
1276
+ /** @description Webhook UUID */
1277
+ webhook_id: string;
1278
+ };
1279
+ cookie?: never;
1280
+ };
1281
+ requestBody?: never;
1282
+ responses: {
1283
+ /** @description Test delivery completed */
1284
+ 200: {
1285
+ headers: {
1286
+ [name: string]: unknown;
1287
+ };
1288
+ content: {
1289
+ "application/json": components["schemas"]["WebhookTestResponseBody"];
1290
+ };
1291
+ };
1292
+ /** @description Missing or invalid API key */
1293
+ 401: {
1294
+ headers: {
1295
+ [name: string]: unknown;
1296
+ };
1297
+ content?: never;
1298
+ };
1299
+ /** @description Webhook not found or not owned by user */
1300
+ 404: {
1301
+ headers: {
1302
+ [name: string]: unknown;
1303
+ };
1304
+ content?: never;
1305
+ };
1306
+ };
1307
+ };
1308
+ "first-trade": {
1309
+ parameters: {
1310
+ query?: never;
1311
+ header?: never;
1312
+ path?: never;
1313
+ cookie?: never;
1314
+ };
1315
+ requestBody: {
1316
+ content: {
1317
+ "application/json": components["schemas"]["FirstTradePayload"];
1318
+ };
1319
+ };
1320
+ responses: {
1321
+ /** @description Webhook delivery acknowledged */
1322
+ 200: {
1323
+ headers: {
1324
+ [name: string]: unknown;
1325
+ };
1326
+ content?: never;
1327
+ };
1328
+ /** @description Server error (will retry) */
1329
+ 500: {
1330
+ headers: {
1331
+ [name: string]: unknown;
1332
+ };
1333
+ content?: never;
1334
+ };
1335
+ };
1336
+ };
1337
+ "global-pnl": {
1338
+ parameters: {
1339
+ query?: never;
1340
+ header?: never;
1341
+ path?: never;
1342
+ cookie?: never;
1343
+ };
1344
+ requestBody: {
1345
+ content: {
1346
+ "application/json": components["schemas"]["GlobalPnlPayload"];
1347
+ };
1348
+ };
1349
+ responses: {
1350
+ /** @description Webhook delivery acknowledged */
1351
+ 200: {
1352
+ headers: {
1353
+ [name: string]: unknown;
1354
+ };
1355
+ content?: never;
1356
+ };
1357
+ /** @description Server error (will retry) */
1358
+ 500: {
1359
+ headers: {
1360
+ [name: string]: unknown;
1361
+ };
1362
+ content?: never;
1363
+ };
1364
+ };
1365
+ };
1366
+ "market-pnl": {
1367
+ parameters: {
1368
+ query?: never;
1369
+ header?: never;
1370
+ path?: never;
1371
+ cookie?: never;
1372
+ };
1373
+ requestBody: {
1374
+ content: {
1375
+ "application/json": components["schemas"]["MarketPnlPayload"];
1376
+ };
1377
+ };
1378
+ responses: {
1379
+ /** @description Webhook delivery acknowledged */
1380
+ 200: {
1381
+ headers: {
1382
+ [name: string]: unknown;
1383
+ };
1384
+ content?: never;
1385
+ };
1386
+ /** @description Server error (will retry) */
1387
+ 500: {
1388
+ headers: {
1389
+ [name: string]: unknown;
1390
+ };
1391
+ content?: never;
1392
+ };
1393
+ };
1394
+ };
1395
+ "event-pnl": {
1396
+ parameters: {
1397
+ query?: never;
1398
+ header?: never;
1399
+ path?: never;
1400
+ cookie?: never;
1401
+ };
1402
+ requestBody: {
1403
+ content: {
1404
+ "application/json": components["schemas"]["EventPnlPayload"];
1405
+ };
1406
+ };
1407
+ responses: {
1408
+ /** @description Webhook delivery acknowledged */
1409
+ 200: {
1410
+ headers: {
1411
+ [name: string]: unknown;
1412
+ };
1413
+ content?: never;
1414
+ };
1415
+ /** @description Server error (will retry) */
1416
+ 500: {
1417
+ headers: {
1418
+ [name: string]: unknown;
1419
+ };
1420
+ content?: never;
1421
+ };
1422
+ };
1423
+ };
1424
+ "position-pnl": {
1425
+ parameters: {
1426
+ query?: never;
1427
+ header?: never;
1428
+ path?: never;
1429
+ cookie?: never;
1430
+ };
1431
+ requestBody: {
1432
+ content: {
1433
+ "application/json": components["schemas"]["PositionPnlPayload"];
1434
+ };
1435
+ };
1436
+ responses: {
1437
+ /** @description Webhook delivery acknowledged */
1438
+ 200: {
1439
+ headers: {
1440
+ [name: string]: unknown;
1441
+ };
1442
+ content?: never;
1443
+ };
1444
+ /** @description Server error (will retry) */
1445
+ 500: {
1446
+ headers: {
1447
+ [name: string]: unknown;
1448
+ };
1449
+ content?: never;
1450
+ };
1451
+ };
1452
+ };
1453
+ "market-metrics": {
1454
+ parameters: {
1455
+ query?: never;
1456
+ header?: never;
1457
+ path?: never;
1458
+ cookie?: never;
1459
+ };
1460
+ requestBody: {
1461
+ content: {
1462
+ "application/json": components["schemas"]["ConditionMetricsPayload"];
1463
+ };
1464
+ };
1465
+ responses: {
1466
+ /** @description Webhook delivery acknowledged */
1467
+ 200: {
1468
+ headers: {
1469
+ [name: string]: unknown;
1470
+ };
1471
+ content?: never;
1472
+ };
1473
+ /** @description Server error (will retry) */
1474
+ 500: {
1475
+ headers: {
1476
+ [name: string]: unknown;
1477
+ };
1478
+ content?: never;
1479
+ };
1480
+ };
1481
+ };
1482
+ "event-metrics": {
1483
+ parameters: {
1484
+ query?: never;
1485
+ header?: never;
1486
+ path?: never;
1487
+ cookie?: never;
1488
+ };
1489
+ requestBody: {
1490
+ content: {
1491
+ "application/json": components["schemas"]["EventMetricsPayload"];
1492
+ };
1493
+ };
1494
+ responses: {
1495
+ /** @description Webhook delivery acknowledged */
1496
+ 200: {
1497
+ headers: {
1498
+ [name: string]: unknown;
1499
+ };
1500
+ content?: never;
1501
+ };
1502
+ /** @description Server error (will retry) */
1503
+ 500: {
1504
+ headers: {
1505
+ [name: string]: unknown;
1506
+ };
1507
+ content?: never;
1508
+ };
1509
+ };
1510
+ };
1511
+ "position-metrics": {
1512
+ parameters: {
1513
+ query?: never;
1514
+ header?: never;
1515
+ path?: never;
1516
+ cookie?: never;
1517
+ };
1518
+ requestBody: {
1519
+ content: {
1520
+ "application/json": components["schemas"]["PositionMetricsPayload"];
1521
+ };
1522
+ };
1523
+ responses: {
1524
+ /** @description Webhook delivery acknowledged */
1525
+ 200: {
1526
+ headers: {
1527
+ [name: string]: unknown;
1528
+ };
1529
+ content?: never;
1530
+ };
1531
+ /** @description Server error (will retry) */
1532
+ 500: {
1533
+ headers: {
1534
+ [name: string]: unknown;
1535
+ };
1536
+ content?: never;
1537
+ };
1538
+ };
1539
+ };
1540
+ "market-volume-milestone": {
1541
+ parameters: {
1542
+ query?: never;
1543
+ header?: never;
1544
+ path?: never;
1545
+ cookie?: never;
1546
+ };
1547
+ requestBody: {
1548
+ content: {
1549
+ "application/json": components["schemas"]["VolumeMilestonePayload"];
1550
+ };
1551
+ };
1552
+ responses: {
1553
+ /** @description Webhook delivery acknowledged */
1554
+ 200: {
1555
+ headers: {
1556
+ [name: string]: unknown;
1557
+ };
1558
+ content?: never;
1559
+ };
1560
+ /** @description Server error (will retry) */
1561
+ 500: {
1562
+ headers: {
1563
+ [name: string]: unknown;
1564
+ };
1565
+ content?: never;
1566
+ };
1567
+ };
1568
+ };
1569
+ "event-volume-milestone": {
1570
+ parameters: {
1571
+ query?: never;
1572
+ header?: never;
1573
+ path?: never;
1574
+ cookie?: never;
1575
+ };
1576
+ requestBody: {
1577
+ content: {
1578
+ "application/json": components["schemas"]["EventVolumeMilestonePayload"];
1579
+ };
1580
+ };
1581
+ responses: {
1582
+ /** @description Webhook delivery acknowledged */
1583
+ 200: {
1584
+ headers: {
1585
+ [name: string]: unknown;
1586
+ };
1587
+ content?: never;
1588
+ };
1589
+ /** @description Server error (will retry) */
1590
+ 500: {
1591
+ headers: {
1592
+ [name: string]: unknown;
1593
+ };
1594
+ content?: never;
1595
+ };
1596
+ };
1597
+ };
1598
+ "position-volume-milestone": {
1599
+ parameters: {
1600
+ query?: never;
1601
+ header?: never;
1602
+ path?: never;
1603
+ cookie?: never;
1604
+ };
1605
+ requestBody: {
1606
+ content: {
1607
+ "application/json": components["schemas"]["PositionVolumeMilestonePayload"];
1608
+ };
1609
+ };
1610
+ responses: {
1611
+ /** @description Webhook delivery acknowledged */
1612
+ 200: {
1613
+ headers: {
1614
+ [name: string]: unknown;
1615
+ };
1616
+ content?: never;
1617
+ };
1618
+ /** @description Server error (will retry) */
1619
+ 500: {
1620
+ headers: {
1621
+ [name: string]: unknown;
1622
+ };
1623
+ content?: never;
1624
+ };
1625
+ };
1626
+ };
1627
+ "probability-spike": {
1628
+ parameters: {
1629
+ query?: never;
1630
+ header?: never;
1631
+ path?: never;
1632
+ cookie?: never;
1633
+ };
1634
+ requestBody: {
1635
+ content: {
1636
+ "application/json": components["schemas"]["ProbabilitySpikePayload"];
1637
+ };
1638
+ };
1639
+ responses: {
1640
+ /** @description Webhook delivery acknowledged */
1641
+ 200: {
1642
+ headers: {
1643
+ [name: string]: unknown;
1644
+ };
1645
+ content?: never;
1646
+ };
1647
+ /** @description Server error (will retry) */
1648
+ 500: {
1649
+ headers: {
1650
+ [name: string]: unknown;
1651
+ };
1652
+ content?: never;
1653
+ };
1654
+ };
1655
+ };
1656
+ }