@structbuild/sdk 0.2.11 → 0.3.1

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.
@@ -1440,6 +1440,32 @@ export interface components {
1440
1440
  txns: number;
1441
1441
  fees: number;
1442
1442
  };
1443
+ PriceSpikePayload: {
1444
+ /** @description Outcome token ID */
1445
+ position_id: string;
1446
+ /** @description Market condition ID */
1447
+ condition_id?: string | null;
1448
+ /** @description Event slug */
1449
+ event_slug?: string | null;
1450
+ /** @description Outcome name (e.g. "Yes", "No") */
1451
+ outcome?: string | null;
1452
+ /**
1453
+ * Format: int16
1454
+ * @description Outcome index
1455
+ */
1456
+ outcome_index?: number | null;
1457
+ /** @description Price at the start of the observation window (baseline snapshot, 0.0–1.0) */
1458
+ previous_price: number;
1459
+ /** @description Current price that triggered the spike (0.0–1.0) */
1460
+ current_price: number;
1461
+ /**
1462
+ * @description `"up"` = price rising, `"down"` = price falling
1463
+ * @enum {string}
1464
+ */
1465
+ spike_direction: "up" | "down";
1466
+ /** @description Percentage move that triggered this notification. Positive = up, negative = down. */
1467
+ spike_pct: number;
1468
+ };
1443
1469
  ProbabilitySpikePayload: {
1444
1470
  /** @description Outcome token ID */
1445
1471
  position_id: string;
@@ -1767,31 +1793,29 @@ export interface components {
1767
1793
  /** @description Trade type identifier */
1768
1794
  trade_type: string;
1769
1795
  };
1770
- PriceSpikePayload: {
1771
- /** @description Outcome token ID */
1772
- position_id: string;
1773
- /** @description Market condition ID */
1774
- condition_id?: string | null;
1775
- /** @description Event slug */
1776
- event_slug?: string | null;
1777
- /** @description Outcome name (e.g. "Yes", "No") */
1778
- outcome?: string | null;
1796
+ /** @description Outer envelope for every webhook HTTP POST delivery. The `data` field contains the event-specific payload. Delivery headers sent with every POST: `X-Webhook-ID` (subscription UUID), `X-Delivery-ID` (this attempt's UUID), `X-Event-Type` (event name string, e.g. `trader_first_trade`), `X-Attempt` (attempt number, 1-indexed). When the webhook has a secret configured, `X-Webhook-Signature: sha256=<hmac-hex>` is also included — compute HMAC-SHA256 over the raw request body using your secret to verify. */
1797
+ WebhookDeliveryEnvelope: {
1779
1798
  /**
1780
- * Format: int16
1781
- * @description Outcome index
1799
+ * Format: uuid
1800
+ * @description UUID of this specific delivery attempt (matches X-Delivery-ID header)
1782
1801
  */
1783
- outcome_index?: number | null;
1784
- /** @description Price at the start of the observation window (baseline snapshot, 0.0–1.0) */
1785
- previous_price: number;
1786
- /** @description Current price that triggered the spike (0.0–1.0) */
1787
- current_price: number;
1802
+ id: string;
1803
+ /** @description Event name (e.g. `trader_first_trade`). On test deliveries the suffix `_test` is appended. */
1804
+ event: string;
1805
+ /** @description Event-specific payload schema varies by event type; see the individual callback definitions */
1806
+ data: Record<string, never>;
1788
1807
  /**
1789
- * @description `"up"` = price rising, `"down"` = price falling
1790
- * @enum {string}
1808
+ * Format: int64
1809
+ * @description Unix timestamp in milliseconds when this delivery was created
1791
1810
  */
1792
- spike_direction: "up" | "down";
1793
- /** @description Percentage move that triggered this notification. Positive = up, negative = down. */
1794
- spike_pct: number;
1811
+ timestamp: number;
1812
+ /**
1813
+ * Format: uuid
1814
+ * @description UUID of the webhook subscription that fired (matches X-Webhook-ID header)
1815
+ */
1816
+ webhook_id: string;
1817
+ /** @description Delivery attempt number. 1 = first attempt; increments on each retry. */
1818
+ attempt: number;
1795
1819
  };
1796
1820
  /** @description Subscription filters for the `trader_first_trade` event. All fields are optional. */
1797
1821
  TraderFirstTradeFilters: {
@@ -2486,13 +2510,27 @@ export interface operations {
2486
2510
  "trader-first-trade": {
2487
2511
  parameters: {
2488
2512
  query?: never;
2489
- header?: never;
2513
+ header: {
2514
+ /** @description UUID of the webhook subscription that fired */
2515
+ "X-Webhook-ID": string;
2516
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2517
+ "X-Delivery-ID": string;
2518
+ /** @description Event name string (e.g. `trader_first_trade`) */
2519
+ "X-Event-Type": string;
2520
+ /** @description Delivery attempt number (1 = first attempt) */
2521
+ "X-Attempt": number;
2522
+ /** @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. */
2523
+ "X-Webhook-Signature"?: string;
2524
+ };
2490
2525
  path?: never;
2491
2526
  cookie?: never;
2492
2527
  };
2528
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2493
2529
  requestBody: {
2494
2530
  content: {
2495
- "application/json": components["schemas"]["FirstTradePayload"];
2531
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2532
+ data?: components["schemas"]["FirstTradePayload"];
2533
+ };
2496
2534
  };
2497
2535
  };
2498
2536
  responses: {
@@ -2515,13 +2553,27 @@ export interface operations {
2515
2553
  "trader-new-market": {
2516
2554
  parameters: {
2517
2555
  query?: never;
2518
- header?: never;
2556
+ header: {
2557
+ /** @description UUID of the webhook subscription that fired */
2558
+ "X-Webhook-ID": string;
2559
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2560
+ "X-Delivery-ID": string;
2561
+ /** @description Event name string (e.g. `trader_first_trade`) */
2562
+ "X-Event-Type": string;
2563
+ /** @description Delivery attempt number (1 = first attempt) */
2564
+ "X-Attempt": number;
2565
+ /** @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. */
2566
+ "X-Webhook-Signature"?: string;
2567
+ };
2519
2568
  path?: never;
2520
2569
  cookie?: never;
2521
2570
  };
2571
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2522
2572
  requestBody: {
2523
2573
  content: {
2524
- "application/json": components["schemas"]["NewMarketPayload"];
2574
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2575
+ data?: components["schemas"]["NewMarketPayload"];
2576
+ };
2525
2577
  };
2526
2578
  };
2527
2579
  responses: {
@@ -2544,13 +2596,27 @@ export interface operations {
2544
2596
  "trader-whale-trade": {
2545
2597
  parameters: {
2546
2598
  query?: never;
2547
- header?: never;
2599
+ header: {
2600
+ /** @description UUID of the webhook subscription that fired */
2601
+ "X-Webhook-ID": string;
2602
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2603
+ "X-Delivery-ID": string;
2604
+ /** @description Event name string (e.g. `trader_first_trade`) */
2605
+ "X-Event-Type": string;
2606
+ /** @description Delivery attempt number (1 = first attempt) */
2607
+ "X-Attempt": number;
2608
+ /** @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. */
2609
+ "X-Webhook-Signature"?: string;
2610
+ };
2548
2611
  path?: never;
2549
2612
  cookie?: never;
2550
2613
  };
2614
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2551
2615
  requestBody: {
2552
2616
  content: {
2553
- "application/json": components["schemas"]["WhaleTradePayload"];
2617
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2618
+ data?: components["schemas"]["WhaleTradePayload"];
2619
+ };
2554
2620
  };
2555
2621
  };
2556
2622
  responses: {
@@ -2573,13 +2639,27 @@ export interface operations {
2573
2639
  "trader-new-trade": {
2574
2640
  parameters: {
2575
2641
  query?: never;
2576
- header?: never;
2642
+ header: {
2643
+ /** @description UUID of the webhook subscription that fired */
2644
+ "X-Webhook-ID": string;
2645
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2646
+ "X-Delivery-ID": string;
2647
+ /** @description Event name string (e.g. `trader_first_trade`) */
2648
+ "X-Event-Type": string;
2649
+ /** @description Delivery attempt number (1 = first attempt) */
2650
+ "X-Attempt": number;
2651
+ /** @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. */
2652
+ "X-Webhook-Signature"?: string;
2653
+ };
2577
2654
  path?: never;
2578
2655
  cookie?: never;
2579
2656
  };
2657
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2580
2658
  requestBody: {
2581
2659
  content: {
2582
- "application/json": components["schemas"]["NewTradePayload"];
2660
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2661
+ data?: components["schemas"]["NewTradePayload"];
2662
+ };
2583
2663
  };
2584
2664
  };
2585
2665
  responses: {
@@ -2602,13 +2682,27 @@ export interface operations {
2602
2682
  "trader-global-pnl": {
2603
2683
  parameters: {
2604
2684
  query?: never;
2605
- header?: never;
2685
+ header: {
2686
+ /** @description UUID of the webhook subscription that fired */
2687
+ "X-Webhook-ID": string;
2688
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2689
+ "X-Delivery-ID": string;
2690
+ /** @description Event name string (e.g. `trader_first_trade`) */
2691
+ "X-Event-Type": string;
2692
+ /** @description Delivery attempt number (1 = first attempt) */
2693
+ "X-Attempt": number;
2694
+ /** @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. */
2695
+ "X-Webhook-Signature"?: string;
2696
+ };
2606
2697
  path?: never;
2607
2698
  cookie?: never;
2608
2699
  };
2700
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2609
2701
  requestBody: {
2610
2702
  content: {
2611
- "application/json": components["schemas"]["GlobalPnlPayload"];
2703
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2704
+ data?: components["schemas"]["GlobalPnlPayload"];
2705
+ };
2612
2706
  };
2613
2707
  };
2614
2708
  responses: {
@@ -2631,13 +2725,27 @@ export interface operations {
2631
2725
  "trader-market-pnl": {
2632
2726
  parameters: {
2633
2727
  query?: never;
2634
- header?: never;
2728
+ header: {
2729
+ /** @description UUID of the webhook subscription that fired */
2730
+ "X-Webhook-ID": string;
2731
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2732
+ "X-Delivery-ID": string;
2733
+ /** @description Event name string (e.g. `trader_first_trade`) */
2734
+ "X-Event-Type": string;
2735
+ /** @description Delivery attempt number (1 = first attempt) */
2736
+ "X-Attempt": number;
2737
+ /** @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. */
2738
+ "X-Webhook-Signature"?: string;
2739
+ };
2635
2740
  path?: never;
2636
2741
  cookie?: never;
2637
2742
  };
2743
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2638
2744
  requestBody: {
2639
2745
  content: {
2640
- "application/json": components["schemas"]["MarketPnlPayload"];
2746
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2747
+ data?: components["schemas"]["MarketPnlPayload"];
2748
+ };
2641
2749
  };
2642
2750
  };
2643
2751
  responses: {
@@ -2660,13 +2768,27 @@ export interface operations {
2660
2768
  "trader-event-pnl": {
2661
2769
  parameters: {
2662
2770
  query?: never;
2663
- header?: never;
2771
+ header: {
2772
+ /** @description UUID of the webhook subscription that fired */
2773
+ "X-Webhook-ID": string;
2774
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2775
+ "X-Delivery-ID": string;
2776
+ /** @description Event name string (e.g. `trader_first_trade`) */
2777
+ "X-Event-Type": string;
2778
+ /** @description Delivery attempt number (1 = first attempt) */
2779
+ "X-Attempt": number;
2780
+ /** @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. */
2781
+ "X-Webhook-Signature"?: string;
2782
+ };
2664
2783
  path?: never;
2665
2784
  cookie?: never;
2666
2785
  };
2786
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2667
2787
  requestBody: {
2668
2788
  content: {
2669
- "application/json": components["schemas"]["EventPnlPayload"];
2789
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2790
+ data?: components["schemas"]["EventPnlPayload"];
2791
+ };
2670
2792
  };
2671
2793
  };
2672
2794
  responses: {
@@ -2689,13 +2811,27 @@ export interface operations {
2689
2811
  "market-metrics": {
2690
2812
  parameters: {
2691
2813
  query?: never;
2692
- header?: never;
2814
+ header: {
2815
+ /** @description UUID of the webhook subscription that fired */
2816
+ "X-Webhook-ID": string;
2817
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2818
+ "X-Delivery-ID": string;
2819
+ /** @description Event name string (e.g. `trader_first_trade`) */
2820
+ "X-Event-Type": string;
2821
+ /** @description Delivery attempt number (1 = first attempt) */
2822
+ "X-Attempt": number;
2823
+ /** @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. */
2824
+ "X-Webhook-Signature"?: string;
2825
+ };
2693
2826
  path?: never;
2694
2827
  cookie?: never;
2695
2828
  };
2829
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2696
2830
  requestBody: {
2697
2831
  content: {
2698
- "application/json": components["schemas"]["ConditionMetricsPayload"];
2832
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2833
+ data?: components["schemas"]["ConditionMetricsPayload"];
2834
+ };
2699
2835
  };
2700
2836
  };
2701
2837
  responses: {
@@ -2718,13 +2854,27 @@ export interface operations {
2718
2854
  "event-metrics": {
2719
2855
  parameters: {
2720
2856
  query?: never;
2721
- header?: never;
2857
+ header: {
2858
+ /** @description UUID of the webhook subscription that fired */
2859
+ "X-Webhook-ID": string;
2860
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2861
+ "X-Delivery-ID": string;
2862
+ /** @description Event name string (e.g. `trader_first_trade`) */
2863
+ "X-Event-Type": string;
2864
+ /** @description Delivery attempt number (1 = first attempt) */
2865
+ "X-Attempt": number;
2866
+ /** @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. */
2867
+ "X-Webhook-Signature"?: string;
2868
+ };
2722
2869
  path?: never;
2723
2870
  cookie?: never;
2724
2871
  };
2872
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2725
2873
  requestBody: {
2726
2874
  content: {
2727
- "application/json": components["schemas"]["EventMetricsPayload"];
2875
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2876
+ data?: components["schemas"]["EventMetricsPayload"];
2877
+ };
2728
2878
  };
2729
2879
  };
2730
2880
  responses: {
@@ -2747,13 +2897,27 @@ export interface operations {
2747
2897
  "position-metrics": {
2748
2898
  parameters: {
2749
2899
  query?: never;
2750
- header?: never;
2900
+ header: {
2901
+ /** @description UUID of the webhook subscription that fired */
2902
+ "X-Webhook-ID": string;
2903
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2904
+ "X-Delivery-ID": string;
2905
+ /** @description Event name string (e.g. `trader_first_trade`) */
2906
+ "X-Event-Type": string;
2907
+ /** @description Delivery attempt number (1 = first attempt) */
2908
+ "X-Attempt": number;
2909
+ /** @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. */
2910
+ "X-Webhook-Signature"?: string;
2911
+ };
2751
2912
  path?: never;
2752
2913
  cookie?: never;
2753
2914
  };
2915
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2754
2916
  requestBody: {
2755
2917
  content: {
2756
- "application/json": components["schemas"]["PositionMetricsPayload"];
2918
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2919
+ data?: components["schemas"]["PositionMetricsPayload"];
2920
+ };
2757
2921
  };
2758
2922
  };
2759
2923
  responses: {
@@ -2776,13 +2940,27 @@ export interface operations {
2776
2940
  "market-volume-milestone": {
2777
2941
  parameters: {
2778
2942
  query?: never;
2779
- header?: never;
2943
+ header: {
2944
+ /** @description UUID of the webhook subscription that fired */
2945
+ "X-Webhook-ID": string;
2946
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2947
+ "X-Delivery-ID": string;
2948
+ /** @description Event name string (e.g. `trader_first_trade`) */
2949
+ "X-Event-Type": string;
2950
+ /** @description Delivery attempt number (1 = first attempt) */
2951
+ "X-Attempt": number;
2952
+ /** @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. */
2953
+ "X-Webhook-Signature"?: string;
2954
+ };
2780
2955
  path?: never;
2781
2956
  cookie?: never;
2782
2957
  };
2958
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2783
2959
  requestBody: {
2784
2960
  content: {
2785
- "application/json": components["schemas"]["VolumeMilestonePayload"];
2961
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
2962
+ data?: components["schemas"]["VolumeMilestonePayload"];
2963
+ };
2786
2964
  };
2787
2965
  };
2788
2966
  responses: {
@@ -2805,13 +2983,27 @@ export interface operations {
2805
2983
  "event-volume-milestone": {
2806
2984
  parameters: {
2807
2985
  query?: never;
2808
- header?: never;
2986
+ header: {
2987
+ /** @description UUID of the webhook subscription that fired */
2988
+ "X-Webhook-ID": string;
2989
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
2990
+ "X-Delivery-ID": string;
2991
+ /** @description Event name string (e.g. `trader_first_trade`) */
2992
+ "X-Event-Type": string;
2993
+ /** @description Delivery attempt number (1 = first attempt) */
2994
+ "X-Attempt": number;
2995
+ /** @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. */
2996
+ "X-Webhook-Signature"?: string;
2997
+ };
2809
2998
  path?: never;
2810
2999
  cookie?: never;
2811
3000
  };
3001
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2812
3002
  requestBody: {
2813
3003
  content: {
2814
- "application/json": components["schemas"]["EventVolumeMilestonePayload"];
3004
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3005
+ data?: components["schemas"]["EventVolumeMilestonePayload"];
3006
+ };
2815
3007
  };
2816
3008
  };
2817
3009
  responses: {
@@ -2834,13 +3026,27 @@ export interface operations {
2834
3026
  "position-volume-milestone": {
2835
3027
  parameters: {
2836
3028
  query?: never;
2837
- header?: never;
3029
+ header: {
3030
+ /** @description UUID of the webhook subscription that fired */
3031
+ "X-Webhook-ID": string;
3032
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3033
+ "X-Delivery-ID": string;
3034
+ /** @description Event name string (e.g. `trader_first_trade`) */
3035
+ "X-Event-Type": string;
3036
+ /** @description Delivery attempt number (1 = first attempt) */
3037
+ "X-Attempt": number;
3038
+ /** @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. */
3039
+ "X-Webhook-Signature"?: string;
3040
+ };
2838
3041
  path?: never;
2839
3042
  cookie?: never;
2840
3043
  };
3044
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2841
3045
  requestBody: {
2842
3046
  content: {
2843
- "application/json": components["schemas"]["PositionVolumeMilestonePayload"];
3047
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3048
+ data?: components["schemas"]["PositionVolumeMilestonePayload"];
3049
+ };
2844
3050
  };
2845
3051
  };
2846
3052
  responses: {
@@ -2863,13 +3069,27 @@ export interface operations {
2863
3069
  "probability-spike": {
2864
3070
  parameters: {
2865
3071
  query?: never;
2866
- header?: never;
3072
+ header: {
3073
+ /** @description UUID of the webhook subscription that fired */
3074
+ "X-Webhook-ID": string;
3075
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3076
+ "X-Delivery-ID": string;
3077
+ /** @description Event name string (e.g. `trader_first_trade`) */
3078
+ "X-Event-Type": string;
3079
+ /** @description Delivery attempt number (1 = first attempt) */
3080
+ "X-Attempt": number;
3081
+ /** @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. */
3082
+ "X-Webhook-Signature"?: string;
3083
+ };
2867
3084
  path?: never;
2868
3085
  cookie?: never;
2869
3086
  };
3087
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2870
3088
  requestBody: {
2871
3089
  content: {
2872
- "application/json": components["schemas"]["ProbabilitySpikePayload"];
3090
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3091
+ data?: components["schemas"]["ProbabilitySpikePayload"];
3092
+ };
2873
3093
  };
2874
3094
  };
2875
3095
  responses: {
@@ -2892,13 +3112,27 @@ export interface operations {
2892
3112
  "price-spike": {
2893
3113
  parameters: {
2894
3114
  query?: never;
2895
- header?: never;
3115
+ header: {
3116
+ /** @description UUID of the webhook subscription that fired */
3117
+ "X-Webhook-ID": string;
3118
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3119
+ "X-Delivery-ID": string;
3120
+ /** @description Event name string (e.g. `trader_first_trade`) */
3121
+ "X-Event-Type": string;
3122
+ /** @description Delivery attempt number (1 = first attempt) */
3123
+ "X-Attempt": number;
3124
+ /** @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. */
3125
+ "X-Webhook-Signature"?: string;
3126
+ };
2896
3127
  path?: never;
2897
3128
  cookie?: never;
2898
3129
  };
3130
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2899
3131
  requestBody: {
2900
3132
  content: {
2901
- "application/json": components["schemas"]["PriceSpikePayload"];
3133
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3134
+ data?: components["schemas"]["PriceSpikePayload"];
3135
+ };
2902
3136
  };
2903
3137
  };
2904
3138
  responses: {
@@ -2921,13 +3155,27 @@ export interface operations {
2921
3155
  "market-volume-spike": {
2922
3156
  parameters: {
2923
3157
  query?: never;
2924
- header?: never;
3158
+ header: {
3159
+ /** @description UUID of the webhook subscription that fired */
3160
+ "X-Webhook-ID": string;
3161
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3162
+ "X-Delivery-ID": string;
3163
+ /** @description Event name string (e.g. `trader_first_trade`) */
3164
+ "X-Event-Type": string;
3165
+ /** @description Delivery attempt number (1 = first attempt) */
3166
+ "X-Attempt": number;
3167
+ /** @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. */
3168
+ "X-Webhook-Signature"?: string;
3169
+ };
2925
3170
  path?: never;
2926
3171
  cookie?: never;
2927
3172
  };
3173
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2928
3174
  requestBody: {
2929
3175
  content: {
2930
- "application/json": components["schemas"]["MarketVolumeSpikePayload"];
3176
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3177
+ data?: components["schemas"]["MarketVolumeSpikePayload"];
3178
+ };
2931
3179
  };
2932
3180
  };
2933
3181
  responses: {
@@ -2950,13 +3198,27 @@ export interface operations {
2950
3198
  "event-volume-spike": {
2951
3199
  parameters: {
2952
3200
  query?: never;
2953
- header?: never;
3201
+ header: {
3202
+ /** @description UUID of the webhook subscription that fired */
3203
+ "X-Webhook-ID": string;
3204
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3205
+ "X-Delivery-ID": string;
3206
+ /** @description Event name string (e.g. `trader_first_trade`) */
3207
+ "X-Event-Type": string;
3208
+ /** @description Delivery attempt number (1 = first attempt) */
3209
+ "X-Attempt": number;
3210
+ /** @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. */
3211
+ "X-Webhook-Signature"?: string;
3212
+ };
2954
3213
  path?: never;
2955
3214
  cookie?: never;
2956
3215
  };
3216
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2957
3217
  requestBody: {
2958
3218
  content: {
2959
- "application/json": components["schemas"]["EventVolumeSpikePayload"];
3219
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3220
+ data?: components["schemas"]["EventVolumeSpikePayload"];
3221
+ };
2960
3222
  };
2961
3223
  };
2962
3224
  responses: {
@@ -2979,13 +3241,27 @@ export interface operations {
2979
3241
  "position-volume-spike": {
2980
3242
  parameters: {
2981
3243
  query?: never;
2982
- header?: never;
3244
+ header: {
3245
+ /** @description UUID of the webhook subscription that fired */
3246
+ "X-Webhook-ID": string;
3247
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3248
+ "X-Delivery-ID": string;
3249
+ /** @description Event name string (e.g. `trader_first_trade`) */
3250
+ "X-Event-Type": string;
3251
+ /** @description Delivery attempt number (1 = first attempt) */
3252
+ "X-Attempt": number;
3253
+ /** @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. */
3254
+ "X-Webhook-Signature"?: string;
3255
+ };
2983
3256
  path?: never;
2984
3257
  cookie?: never;
2985
3258
  };
3259
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
2986
3260
  requestBody: {
2987
3261
  content: {
2988
- "application/json": components["schemas"]["PositionVolumeSpikePayload"];
3262
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3263
+ data?: components["schemas"]["PositionVolumeSpikePayload"];
3264
+ };
2989
3265
  };
2990
3266
  };
2991
3267
  responses: {
@@ -3008,13 +3284,27 @@ export interface operations {
3008
3284
  "close-to-bond": {
3009
3285
  parameters: {
3010
3286
  query?: never;
3011
- header?: never;
3287
+ header: {
3288
+ /** @description UUID of the webhook subscription that fired */
3289
+ "X-Webhook-ID": string;
3290
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3291
+ "X-Delivery-ID": string;
3292
+ /** @description Event name string (e.g. `trader_first_trade`) */
3293
+ "X-Event-Type": string;
3294
+ /** @description Delivery attempt number (1 = first attempt) */
3295
+ "X-Attempt": number;
3296
+ /** @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. */
3297
+ "X-Webhook-Signature"?: string;
3298
+ };
3012
3299
  path?: never;
3013
3300
  cookie?: never;
3014
3301
  };
3302
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
3015
3303
  requestBody: {
3016
3304
  content: {
3017
- "application/json": components["schemas"]["CloseToBondPayload"];
3305
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3306
+ data?: components["schemas"]["CloseToBondPayload"];
3307
+ };
3018
3308
  };
3019
3309
  };
3020
3310
  responses: {
@@ -3037,13 +3327,27 @@ export interface operations {
3037
3327
  "market-created": {
3038
3328
  parameters: {
3039
3329
  query?: never;
3040
- header?: never;
3330
+ header: {
3331
+ /** @description UUID of the webhook subscription that fired */
3332
+ "X-Webhook-ID": string;
3333
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3334
+ "X-Delivery-ID": string;
3335
+ /** @description Event name string (e.g. `trader_first_trade`) */
3336
+ "X-Event-Type": string;
3337
+ /** @description Delivery attempt number (1 = first attempt) */
3338
+ "X-Attempt": number;
3339
+ /** @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. */
3340
+ "X-Webhook-Signature"?: string;
3341
+ };
3041
3342
  path?: never;
3042
3343
  cookie?: never;
3043
3344
  };
3345
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
3044
3346
  requestBody: {
3045
3347
  content: {
3046
- "application/json": components["schemas"]["MarketCreatedPayload"];
3348
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3349
+ data?: components["schemas"]["MarketCreatedPayload"];
3350
+ };
3047
3351
  };
3048
3352
  };
3049
3353
  responses: {
@@ -3066,13 +3370,27 @@ export interface operations {
3066
3370
  "asset-price-tick": {
3067
3371
  parameters: {
3068
3372
  query?: never;
3069
- header?: never;
3373
+ header: {
3374
+ /** @description UUID of the webhook subscription that fired */
3375
+ "X-Webhook-ID": string;
3376
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3377
+ "X-Delivery-ID": string;
3378
+ /** @description Event name string (e.g. `trader_first_trade`) */
3379
+ "X-Event-Type": string;
3380
+ /** @description Delivery attempt number (1 = first attempt) */
3381
+ "X-Attempt": number;
3382
+ /** @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. */
3383
+ "X-Webhook-Signature"?: string;
3384
+ };
3070
3385
  path?: never;
3071
3386
  cookie?: never;
3072
3387
  };
3388
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
3073
3389
  requestBody: {
3074
3390
  content: {
3075
- "application/json": components["schemas"]["AssetPriceTickPayload"];
3391
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3392
+ data?: components["schemas"]["AssetPriceTickPayload"];
3393
+ };
3076
3394
  };
3077
3395
  };
3078
3396
  responses: {
@@ -3095,13 +3413,27 @@ export interface operations {
3095
3413
  "asset-price-window-update": {
3096
3414
  parameters: {
3097
3415
  query?: never;
3098
- header?: never;
3416
+ header: {
3417
+ /** @description UUID of the webhook subscription that fired */
3418
+ "X-Webhook-ID": string;
3419
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
3420
+ "X-Delivery-ID": string;
3421
+ /** @description Event name string (e.g. `trader_first_trade`) */
3422
+ "X-Event-Type": string;
3423
+ /** @description Delivery attempt number (1 = first attempt) */
3424
+ "X-Attempt": number;
3425
+ /** @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. */
3426
+ "X-Webhook-Signature"?: string;
3427
+ };
3099
3428
  path?: never;
3100
3429
  cookie?: never;
3101
3430
  };
3431
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
3102
3432
  requestBody: {
3103
3433
  content: {
3104
- "application/json": components["schemas"]["AssetPriceWindowUpdatePayload"];
3434
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
3435
+ data?: components["schemas"]["AssetPriceWindowUpdatePayload"];
3436
+ };
3105
3437
  };
3106
3438
  };
3107
3439
  responses: {