@structbuild/sdk 0.3.10-staging.6 → 0.3.10-staging.8

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.
@@ -208,7 +208,7 @@ export interface webhooks {
208
208
  put?: never;
209
209
  /**
210
210
  * Typed trade-event callback
211
- * @description Fired on every live confirmed prediction-trade event. Payload uses the exact tagged `WebhookTraderTradeEventPayload` union for the trade types currently emitted by the webhook pipeline.
211
+ * @description Fired on every confirmed prediction trade. Payload is a tagged union of trade-type variants.
212
212
  */
213
213
  post: operations["trader-trade-event"];
214
214
  delete?: never;
@@ -408,7 +408,7 @@ export interface webhooks {
408
408
  put?: never;
409
409
  /**
410
410
  * Probability spike callback
411
- * @description Fired when a position's 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.
411
+ * @description Fired when a position's 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 probability band, `min_txns`/`min_volume_usd` require a minimum number of trades or USD volume in the observation window.
412
412
  */
413
413
  post: operations["probability-spike"];
414
414
  delete?: never;
@@ -428,7 +428,7 @@ export interface webhooks {
428
428
  put?: never;
429
429
  /**
430
430
  * Price spike callback
431
- * @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.
431
+ * @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.
432
432
  */
433
433
  post: operations["price-spike"];
434
434
  delete?: never;
@@ -537,6 +537,26 @@ export interface webhooks {
537
537
  patch?: never;
538
538
  trace?: never;
539
539
  };
540
+ "oracle-events": {
541
+ parameters: {
542
+ query?: never;
543
+ header?: never;
544
+ path?: never;
545
+ cookie?: never;
546
+ };
547
+ get?: never;
548
+ put?: never;
549
+ /**
550
+ * Oracle events callback
551
+ * @description Fired on every on-chain oracle event. Use `oracle_event_types` to restrict to specific kinds — valid values: `AssertionMade`, `AssertionDisputed`, `AssertionSettled`, `RequestPrice`, `ProposePrice`, `DisputePrice`, `Settle`, `QuestionResolved`, `QuestionEmergencyResolved`, `QuestionReset`, `QuestionInitialized`, `QuestionPaused`, `QuestionUnpaused`, `QuestionFlagged`, `QuestionUnflagged`, `ConditionResolution`, `NegRiskOutcomeReported`. Optional `condition_ids` narrows by market.
552
+ */
553
+ post: operations["oracle-events"];
554
+ delete?: never;
555
+ options?: never;
556
+ head?: never;
557
+ patch?: never;
558
+ trace?: never;
559
+ };
540
560
  "asset-price-tick": {
541
561
  parameters: {
542
562
  query?: never;
@@ -580,6 +600,90 @@ export interface webhooks {
580
600
  }
581
601
  export interface components {
582
602
  schemas: {
603
+ /** @description V3 UMA OOv3: an assertion was disputed. */
604
+ AssertionDisputedEvent: {
605
+ id: string;
606
+ hash: string;
607
+ /** Format: int64 */
608
+ block?: number | null;
609
+ /** Format: int64 */
610
+ confirmed_at?: number | null;
611
+ /** Format: int64 */
612
+ received_at?: number | null;
613
+ /** Format: int64 */
614
+ log_index?: number | null;
615
+ /** Format: int64 */
616
+ block_index?: number | null;
617
+ oracle_contract: string;
618
+ assertion_id: string;
619
+ caller: string;
620
+ disputer: string;
621
+ condition_id?: string | null;
622
+ question?: string | null;
623
+ image_url?: string | null;
624
+ slug?: string | null;
625
+ event_slug?: string | null;
626
+ };
627
+ /** @description V3 UMA OOv3: a new assertion (resolution proposal) was made. */
628
+ AssertionMadeEvent: {
629
+ id: string;
630
+ hash: string;
631
+ /** Format: int64 */
632
+ block?: number | null;
633
+ /** Format: int64 */
634
+ confirmed_at?: number | null;
635
+ /** Format: int64 */
636
+ received_at?: number | null;
637
+ /** Format: int64 */
638
+ log_index?: number | null;
639
+ /** Format: int64 */
640
+ block_index?: number | null;
641
+ oracle_contract: string;
642
+ assertion_id: string;
643
+ domain_id: string;
644
+ claim: string;
645
+ asserter: string;
646
+ callback_recipient: string;
647
+ escalation_manager: string;
648
+ caller: string;
649
+ /** Format: int64 */
650
+ expiration_time: number;
651
+ currency: string;
652
+ bond: string;
653
+ identifier: string;
654
+ condition_id?: string | null;
655
+ proposed_outcome?: string | null;
656
+ question?: string | null;
657
+ image_url?: string | null;
658
+ slug?: string | null;
659
+ event_slug?: string | null;
660
+ };
661
+ /** @description V3 UMA OOv3: an assertion liveness period expired and was settled. */
662
+ AssertionSettledEvent: {
663
+ id: string;
664
+ hash: string;
665
+ /** Format: int64 */
666
+ block?: number | null;
667
+ /** Format: int64 */
668
+ confirmed_at?: number | null;
669
+ /** Format: int64 */
670
+ received_at?: number | null;
671
+ /** Format: int64 */
672
+ log_index?: number | null;
673
+ /** Format: int64 */
674
+ block_index?: number | null;
675
+ oracle_contract: string;
676
+ assertion_id: string;
677
+ bond_recipient: string;
678
+ disputed: boolean;
679
+ settlement_resolution: boolean;
680
+ settle_caller: string;
681
+ condition_id?: string | null;
682
+ question?: string | null;
683
+ image_url?: string | null;
684
+ slug?: string | null;
685
+ event_slug?: string | null;
686
+ };
583
687
  /** @description Payload delivered on every raw Chainlink price tick for a tracked crypto asset */
584
688
  AssetPriceTickPayload: {
585
689
  /**
@@ -697,6 +801,29 @@ export interface components {
697
801
  */
698
802
  unique_traders?: number | null;
699
803
  };
804
+ /** @description CTF ConditionResolution: positions become redeemable on the Conditional Tokens contract. */
805
+ ConditionResolutionEvent: {
806
+ id: string;
807
+ hash: string;
808
+ /** Format: int64 */
809
+ block?: number | null;
810
+ /** Format: int64 */
811
+ confirmed_at?: number | null;
812
+ /** Format: int64 */
813
+ received_at?: number | null;
814
+ /** Format: int64 */
815
+ log_index?: number | null;
816
+ /** Format: int64 */
817
+ block_index?: number | null;
818
+ oracle_contract: string;
819
+ condition_id: string;
820
+ oracle: string;
821
+ proposed_outcome?: string | null;
822
+ question?: string | null;
823
+ image_url?: string | null;
824
+ slug?: string | null;
825
+ event_slug?: string | null;
826
+ };
700
827
  /** @description Request body for creating a webhook */
701
828
  CreateWebhookRequestBody: {
702
829
  /** @description Destination URL for webhook deliveries (must be HTTPS) */
@@ -713,6 +840,36 @@ export interface components {
713
840
  DeleteWebhookResponse: {
714
841
  deleted: boolean;
715
842
  };
843
+ /** @description V2 UMA OOv2: a proposed price was disputed. */
844
+ DisputePriceEvent: {
845
+ id: string;
846
+ hash: string;
847
+ /** Format: int64 */
848
+ block?: number | null;
849
+ /** Format: int64 */
850
+ confirmed_at?: number | null;
851
+ /** Format: int64 */
852
+ received_at?: number | null;
853
+ /** Format: int64 */
854
+ log_index?: number | null;
855
+ /** Format: int64 */
856
+ block_index?: number | null;
857
+ oracle_contract: string;
858
+ requester: string;
859
+ proposer: string;
860
+ disputer: string;
861
+ identifier: string;
862
+ timestamp: string;
863
+ ancillary_data: string;
864
+ /** Format: int64 */
865
+ proposed_price: number;
866
+ condition_id?: string | null;
867
+ proposed_outcome?: string | null;
868
+ question?: string | null;
869
+ image_url?: string | null;
870
+ slug?: string | null;
871
+ event_slug?: string | null;
872
+ };
716
873
  /** @description Payload delivered when an event's aggregated volume or transaction metrics cross a configured threshold */
717
874
  EventMetricsPayload: {
718
875
  /** @description Event slug */
@@ -1096,6 +1253,28 @@ export interface components {
1096
1253
  /** @description Total fees in USD for this timeframe */
1097
1254
  fees: number;
1098
1255
  };
1256
+ /** @description NegRisk Adapter: outcome reported for a neg-risk market question. */
1257
+ NegRiskOutcomeReportedEvent: {
1258
+ id: string;
1259
+ hash: string;
1260
+ /** Format: int64 */
1261
+ block?: number | null;
1262
+ /** Format: int64 */
1263
+ confirmed_at?: number | null;
1264
+ /** Format: int64 */
1265
+ received_at?: number | null;
1266
+ /** Format: int64 */
1267
+ log_index?: number | null;
1268
+ /** Format: int64 */
1269
+ block_index?: number | null;
1270
+ oracle_contract: string;
1271
+ condition_id: string;
1272
+ proposed_outcome?: string | null;
1273
+ question?: string | null;
1274
+ image_url?: string | null;
1275
+ slug?: string | null;
1276
+ event_slug?: string | null;
1277
+ };
1099
1278
  /** @description Payload delivered when a trader places their first trade in a specific market (fires once per trader+market pair) */
1100
1279
  NewMarketPayload: {
1101
1280
  /** @description Limit-order maker wallet address (lowercase) */
@@ -1216,6 +1395,62 @@ export interface components {
1216
1395
  */
1217
1396
  trade_type: "OrderFilled" | "OrdersMatched";
1218
1397
  };
1398
+ /**
1399
+ * @description Tagged enum for all oracle event types — serializes with `"event_type": "..."` discriminator
1400
+ * and only includes fields relevant to each type.
1401
+ */
1402
+ OracleEventTyped: (components["schemas"]["AssertionMadeEvent"] & {
1403
+ /** @enum {string} */
1404
+ event_type: "AssertionMade";
1405
+ }) | (components["schemas"]["AssertionDisputedEvent"] & {
1406
+ /** @enum {string} */
1407
+ event_type: "AssertionDisputed";
1408
+ }) | (components["schemas"]["AssertionSettledEvent"] & {
1409
+ /** @enum {string} */
1410
+ event_type: "AssertionSettled";
1411
+ }) | (components["schemas"]["RequestPriceEvent"] & {
1412
+ /** @enum {string} */
1413
+ event_type: "RequestPrice";
1414
+ }) | (components["schemas"]["ProposePriceEvent"] & {
1415
+ /** @enum {string} */
1416
+ event_type: "ProposePrice";
1417
+ }) | (components["schemas"]["DisputePriceEvent"] & {
1418
+ /** @enum {string} */
1419
+ event_type: "DisputePrice";
1420
+ }) | (components["schemas"]["SettleEvent"] & {
1421
+ /** @enum {string} */
1422
+ event_type: "Settle";
1423
+ }) | (components["schemas"]["QuestionResolvedEvent"] & {
1424
+ /** @enum {string} */
1425
+ event_type: "QuestionResolved";
1426
+ }) | (components["schemas"]["QuestionEmergencyResolvedEvent"] & {
1427
+ /** @enum {string} */
1428
+ event_type: "QuestionEmergencyResolved";
1429
+ }) | (components["schemas"]["QuestionResetEvent"] & {
1430
+ /** @enum {string} */
1431
+ event_type: "QuestionReset";
1432
+ }) | (components["schemas"]["QuestionInitializedEvent"] & {
1433
+ /** @enum {string} */
1434
+ event_type: "QuestionInitialized";
1435
+ }) | (components["schemas"]["QuestionPausedEvent"] & {
1436
+ /** @enum {string} */
1437
+ event_type: "QuestionPaused";
1438
+ }) | (components["schemas"]["QuestionUnpausedEvent"] & {
1439
+ /** @enum {string} */
1440
+ event_type: "QuestionUnpaused";
1441
+ }) | (components["schemas"]["QuestionFlaggedEvent"] & {
1442
+ /** @enum {string} */
1443
+ event_type: "QuestionFlagged";
1444
+ }) | (components["schemas"]["QuestionUnflaggedEvent"] & {
1445
+ /** @enum {string} */
1446
+ event_type: "QuestionUnflagged";
1447
+ }) | (components["schemas"]["ConditionResolutionEvent"] & {
1448
+ /** @enum {string} */
1449
+ event_type: "ConditionResolution";
1450
+ }) | (components["schemas"]["NegRiskOutcomeReportedEvent"] & {
1451
+ /** @enum {string} */
1452
+ event_type: "NegRiskOutcomeReported";
1453
+ });
1219
1454
  /**
1220
1455
  * @description PnL timeframe enum for webhook filtering
1221
1456
  * @enum {string}
@@ -1225,7 +1460,7 @@ export interface components {
1225
1460
  * @description Polymarket webhook event types
1226
1461
  * @enum {string}
1227
1462
  */
1228
- PolymarketWebhookEvent: "trader_first_trade" | "trader_new_market" | "trader_whale_trade" | "trader_new_trade" | "trader_trade_event" | "trader_global_pnl" | "trader_market_pnl" | "trader_event_pnl" | "condition_metrics" | "event_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";
1463
+ PolymarketWebhookEvent: "trader_first_trade" | "trader_new_market" | "trader_whale_trade" | "trader_new_trade" | "trader_trade_event" | "trader_global_pnl" | "trader_market_pnl" | "trader_event_pnl" | "condition_metrics" | "event_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";
1229
1464
  /**
1230
1465
  * @description Polymarket-specific webhook filters
1231
1466
  *
@@ -1402,6 +1637,16 @@ export interface components {
1402
1637
  * Example: `60` to detect spikes that happen within 60 seconds.
1403
1638
  */
1404
1639
  window_secs?: number | null;
1640
+ /**
1641
+ * @description Filter for `oracle_events` by event name (case-insensitive).
1642
+ * Valid values: `AssertionMade`, `AssertionDisputed`, `AssertionSettled`,
1643
+ * `RequestPrice`, `ProposePrice`, `DisputePrice`, `Settle`,
1644
+ * `QuestionResolved`, `QuestionEmergencyResolved`, `QuestionReset`,
1645
+ * `QuestionInitialized`, `QuestionPaused`, `QuestionUnpaused`,
1646
+ * `QuestionFlagged`, `QuestionUnflagged`, `ConditionResolution`,
1647
+ * `NegRiskOutcomeReported`. Empty = all types.
1648
+ */
1649
+ oracle_event_types?: string[];
1405
1650
  };
1406
1651
  /** @description Payload delivered when a position's volume or transaction metrics cross a configured threshold */
1407
1652
  PositionMetricsPayload: {
@@ -1558,6 +1803,248 @@ export interface components {
1558
1803
  /** @description Percentage move that triggered this notification. Positive = up, negative = down. */
1559
1804
  spike_pct: number;
1560
1805
  };
1806
+ /** @description V2 UMA OOv2: a price was proposed (resolution proposal). */
1807
+ ProposePriceEvent: {
1808
+ id: string;
1809
+ hash: string;
1810
+ /** Format: int64 */
1811
+ block?: number | null;
1812
+ /** Format: int64 */
1813
+ confirmed_at?: number | null;
1814
+ /** Format: int64 */
1815
+ received_at?: number | null;
1816
+ /** Format: int64 */
1817
+ log_index?: number | null;
1818
+ /** Format: int64 */
1819
+ block_index?: number | null;
1820
+ oracle_contract: string;
1821
+ requester: string;
1822
+ proposer: string;
1823
+ identifier: string;
1824
+ timestamp: string;
1825
+ ancillary_data: string;
1826
+ /** Format: int64 */
1827
+ proposed_price: number;
1828
+ expiration_timestamp: string;
1829
+ currency: string;
1830
+ condition_id?: string | null;
1831
+ proposed_outcome?: string | null;
1832
+ question?: string | null;
1833
+ image_url?: string | null;
1834
+ slug?: string | null;
1835
+ event_slug?: string | null;
1836
+ };
1837
+ /** @description UMA CTF Adapter: admin emergency resolution. */
1838
+ QuestionEmergencyResolvedEvent: {
1839
+ id: string;
1840
+ hash: string;
1841
+ /** Format: int64 */
1842
+ block?: number | null;
1843
+ /** Format: int64 */
1844
+ confirmed_at?: number | null;
1845
+ /** Format: int64 */
1846
+ received_at?: number | null;
1847
+ /** Format: int64 */
1848
+ log_index?: number | null;
1849
+ /** Format: int64 */
1850
+ block_index?: number | null;
1851
+ oracle_contract: string;
1852
+ condition_id: string;
1853
+ proposed_outcome?: string | null;
1854
+ question?: string | null;
1855
+ image_url?: string | null;
1856
+ slug?: string | null;
1857
+ event_slug?: string | null;
1858
+ };
1859
+ /** @description UMA CTF Adapter: market flagged for emergency resolution. */
1860
+ QuestionFlaggedEvent: {
1861
+ id: string;
1862
+ hash: string;
1863
+ /** Format: int64 */
1864
+ block?: number | null;
1865
+ /** Format: int64 */
1866
+ confirmed_at?: number | null;
1867
+ /** Format: int64 */
1868
+ received_at?: number | null;
1869
+ /** Format: int64 */
1870
+ log_index?: number | null;
1871
+ /** Format: int64 */
1872
+ block_index?: number | null;
1873
+ oracle_contract: string;
1874
+ condition_id: string;
1875
+ question?: string | null;
1876
+ image_url?: string | null;
1877
+ slug?: string | null;
1878
+ event_slug?: string | null;
1879
+ };
1880
+ /** @description UMA CTF Adapter: questionID first initialized on-chain. */
1881
+ QuestionInitializedEvent: {
1882
+ id: string;
1883
+ hash: string;
1884
+ /** Format: int64 */
1885
+ block?: number | null;
1886
+ /** Format: int64 */
1887
+ confirmed_at?: number | null;
1888
+ /** Format: int64 */
1889
+ received_at?: number | null;
1890
+ /** Format: int64 */
1891
+ log_index?: number | null;
1892
+ /** Format: int64 */
1893
+ block_index?: number | null;
1894
+ oracle_contract: string;
1895
+ condition_id: string;
1896
+ creator: string;
1897
+ reward_token: string;
1898
+ reward: string;
1899
+ proposal_bond: string;
1900
+ question?: string | null;
1901
+ image_url?: string | null;
1902
+ slug?: string | null;
1903
+ event_slug?: string | null;
1904
+ };
1905
+ /** @description UMA CTF Adapter: market paused by admin. */
1906
+ QuestionPausedEvent: {
1907
+ id: string;
1908
+ hash: string;
1909
+ /** Format: int64 */
1910
+ block?: number | null;
1911
+ /** Format: int64 */
1912
+ confirmed_at?: number | null;
1913
+ /** Format: int64 */
1914
+ received_at?: number | null;
1915
+ /** Format: int64 */
1916
+ log_index?: number | null;
1917
+ /** Format: int64 */
1918
+ block_index?: number | null;
1919
+ oracle_contract: string;
1920
+ condition_id: string;
1921
+ question?: string | null;
1922
+ image_url?: string | null;
1923
+ slug?: string | null;
1924
+ event_slug?: string | null;
1925
+ };
1926
+ /** @description UMA CTF Adapter: dispute succeeded, market returns to active. */
1927
+ QuestionResetEvent: {
1928
+ id: string;
1929
+ hash: string;
1930
+ /** Format: int64 */
1931
+ block?: number | null;
1932
+ /** Format: int64 */
1933
+ confirmed_at?: number | null;
1934
+ /** Format: int64 */
1935
+ received_at?: number | null;
1936
+ /** Format: int64 */
1937
+ log_index?: number | null;
1938
+ /** Format: int64 */
1939
+ block_index?: number | null;
1940
+ oracle_contract: string;
1941
+ condition_id: string;
1942
+ question?: string | null;
1943
+ image_url?: string | null;
1944
+ slug?: string | null;
1945
+ event_slug?: string | null;
1946
+ };
1947
+ /** @description UMA CTF Adapter: market resolved with definitive outcome. */
1948
+ QuestionResolvedEvent: {
1949
+ id: string;
1950
+ hash: string;
1951
+ /** Format: int64 */
1952
+ block?: number | null;
1953
+ /** Format: int64 */
1954
+ confirmed_at?: number | null;
1955
+ /** Format: int64 */
1956
+ received_at?: number | null;
1957
+ /** Format: int64 */
1958
+ log_index?: number | null;
1959
+ /** Format: int64 */
1960
+ block_index?: number | null;
1961
+ oracle_contract: string;
1962
+ condition_id: string;
1963
+ /** Format: int64 */
1964
+ settled_price: number;
1965
+ proposed_outcome?: string | null;
1966
+ question?: string | null;
1967
+ image_url?: string | null;
1968
+ slug?: string | null;
1969
+ event_slug?: string | null;
1970
+ };
1971
+ /** @description UMA CTF Adapter: flag removed. */
1972
+ QuestionUnflaggedEvent: {
1973
+ id: string;
1974
+ hash: string;
1975
+ /** Format: int64 */
1976
+ block?: number | null;
1977
+ /** Format: int64 */
1978
+ confirmed_at?: number | null;
1979
+ /** Format: int64 */
1980
+ received_at?: number | null;
1981
+ /** Format: int64 */
1982
+ log_index?: number | null;
1983
+ /** Format: int64 */
1984
+ block_index?: number | null;
1985
+ oracle_contract: string;
1986
+ condition_id: string;
1987
+ question?: string | null;
1988
+ image_url?: string | null;
1989
+ slug?: string | null;
1990
+ event_slug?: string | null;
1991
+ };
1992
+ /** @description UMA CTF Adapter: market unpaused. */
1993
+ QuestionUnpausedEvent: {
1994
+ id: string;
1995
+ hash: string;
1996
+ /** Format: int64 */
1997
+ block?: number | null;
1998
+ /** Format: int64 */
1999
+ confirmed_at?: number | null;
2000
+ /** Format: int64 */
2001
+ received_at?: number | null;
2002
+ /** Format: int64 */
2003
+ log_index?: number | null;
2004
+ /** Format: int64 */
2005
+ block_index?: number | null;
2006
+ oracle_contract: string;
2007
+ condition_id: string;
2008
+ question?: string | null;
2009
+ image_url?: string | null;
2010
+ slug?: string | null;
2011
+ event_slug?: string | null;
2012
+ };
2013
+ /** @description V2 UMA OOv2: a price request was made (market initialization). */
2014
+ RequestPriceEvent: {
2015
+ id: string;
2016
+ hash: string;
2017
+ /** Format: int64 */
2018
+ block?: number | null;
2019
+ /** Format: int64 */
2020
+ confirmed_at?: number | null;
2021
+ /** Format: int64 */
2022
+ received_at?: number | null;
2023
+ /** Format: int64 */
2024
+ log_index?: number | null;
2025
+ /** Format: int64 */
2026
+ block_index?: number | null;
2027
+ oracle_contract: string;
2028
+ requester: string;
2029
+ identifier: string;
2030
+ /**
2031
+ * @description UMA request timestamp (seconds, decimal string).
2032
+ * The point in time the requester is asking the oracle to resolve the
2033
+ * price for — part of the request identity tuple
2034
+ * `(requester, identifier, timestamp, ancillaryData)`. Not the block
2035
+ * timestamp of this event; see `confirmed_at` for that.
2036
+ */
2037
+ timestamp: string;
2038
+ ancillary_data: string;
2039
+ currency: string;
2040
+ reward: string;
2041
+ final_fee: string;
2042
+ condition_id?: string | null;
2043
+ question?: string | null;
2044
+ image_url?: string | null;
2045
+ slug?: string | null;
2046
+ event_slug?: string | null;
2047
+ };
1561
2048
  /** @description Response for POST /v1/webhook/{id}/rotate-secret */
1562
2049
  RotateSecretResponse: {
1563
2050
  /** @description The new HMAC secret (only returned once — store it securely) */
@@ -1568,6 +2055,38 @@ export interface components {
1568
2055
  */
1569
2056
  rotated_at: number;
1570
2057
  };
2058
+ /** @description V2 UMA OOv2: a price request was settled (final resolution). */
2059
+ SettleEvent: {
2060
+ id: string;
2061
+ hash: string;
2062
+ /** Format: int64 */
2063
+ block?: number | null;
2064
+ /** Format: int64 */
2065
+ confirmed_at?: number | null;
2066
+ /** Format: int64 */
2067
+ received_at?: number | null;
2068
+ /** Format: int64 */
2069
+ log_index?: number | null;
2070
+ /** Format: int64 */
2071
+ block_index?: number | null;
2072
+ oracle_contract: string;
2073
+ requester: string;
2074
+ proposer: string;
2075
+ disputer: string;
2076
+ identifier: string;
2077
+ timestamp: string;
2078
+ ancillary_data: string;
2079
+ /** Format: int64 */
2080
+ proposed_price: number;
2081
+ payout: string;
2082
+ disputed: boolean;
2083
+ condition_id?: string | null;
2084
+ proposed_outcome?: string | null;
2085
+ question?: string | null;
2086
+ image_url?: string | null;
2087
+ slug?: string | null;
2088
+ event_slug?: string | null;
2089
+ };
1571
2090
  /**
1572
2091
  * @description Direction filter for spike webhooks.
1573
2092
  * @enum {string}
@@ -1920,7 +2439,7 @@ export interface components {
1920
2439
  /** @description Delivery attempt number. 1 = first attempt; increments on each retry. */
1921
2440
  attempt: number;
1922
2441
  };
1923
- /** @description Exact payload union for `trader_trade_event` webhook deliveries. These callbacks are emitted from the live confirmed trade pipeline, so pending-only fields such as `received_at` are absent. */
2442
+ /** @description Tagged union of trade-type variants delivered to `trader_trade_event` callbacks. Pending-only fields such as `received_at` are absent — callbacks fire only for confirmed trades. */
1924
2443
  WebhookTraderTradeEventPayload: {
1925
2444
  id: string;
1926
2445
  hash: string;
@@ -2489,7 +3008,7 @@ export interface components {
2489
3008
  min_probability?: number;
2490
3009
  /** @description Only fire when event probability is ≤ this value. Events without probability data do not match. */
2491
3010
  max_probability?: number;
2492
- /** @description Only fire for these trade types currently emitted through the webhook pipeline. Empty = all supported trade-event variants. */
3011
+ /** @description Only fire for these trade types. Empty = all supported trade-event variants. */
2493
3012
  trade_types?: ("OrderFilled" | "Redemption" | "Merge" | "Split" | "Cancelled" | "PositionsConverted" | "OrdersMatched" | "Initialization" | "Proposal" | "Dispute" | "Settled" | "Resolution" | "ConditionResolution" | "Reset" | "Flag" | "Unflag" | "Pause" | "Unpause" | "ManualResolution" | "NegRiskOutcomeReported" | "RegisterToken" | "Approval")[];
2494
3013
  /** @description When `true`, suppress webhooks for short-term "updown" markets. Requires explicit `trade_types` that exclude `PositionsConverted`. Default: `false`. */
2495
3014
  exclude_shortterm_markets?: boolean;
@@ -2780,6 +3299,13 @@ export interface components {
2780
3299
  /** @description When `true`, suppress webhooks for short-term "updown" markets (event slugs containing `updown`). Default: `false`. */
2781
3300
  exclude_shortterm_markets?: boolean;
2782
3301
  };
3302
+ /** @description Subscription filters for the `oracle_events` event. All fields are optional. */
3303
+ OracleEventsFilters: {
3304
+ /** @description Restrict to these event types (case-insensitive). Empty = all. */
3305
+ oracle_event_types?: ("AssertionMade" | "AssertionDisputed" | "AssertionSettled" | "RequestPrice" | "ProposePrice" | "DisputePrice" | "Settle" | "QuestionResolved" | "QuestionEmergencyResolved" | "QuestionReset" | "QuestionInitialized" | "QuestionPaused" | "QuestionUnpaused" | "QuestionFlagged" | "QuestionUnflagged" | "ConditionResolution" | "NegRiskOutcomeReported")[];
3306
+ /** @description Restrict to events for these condition IDs. */
3307
+ condition_ids?: string[];
3308
+ };
2783
3309
  /** @description Subscription filters for the `asset_price_tick` event. All fields are optional. */
2784
3310
  AssetPriceTickFilters: {
2785
3311
  /** @description Restrict to these crypto assets. Empty = all assets. */
@@ -4015,6 +4541,49 @@ export interface operations {
4015
4541
  };
4016
4542
  };
4017
4543
  };
4544
+ "oracle-events": {
4545
+ parameters: {
4546
+ query?: never;
4547
+ header: {
4548
+ /** @description UUID of the webhook subscription that fired */
4549
+ "X-Webhook-ID": string;
4550
+ /** @description UUID of this specific delivery attempt (matches envelope `id` field) */
4551
+ "X-Delivery-ID": string;
4552
+ /** @description Event name string (e.g. `trader_first_trade`) */
4553
+ "X-Event-Type": string;
4554
+ /** @description Delivery attempt number (1 = first attempt) */
4555
+ "X-Attempt": number;
4556
+ /** @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. */
4557
+ "X-Webhook-Signature"?: string;
4558
+ };
4559
+ path?: never;
4560
+ cookie?: never;
4561
+ };
4562
+ /** @description Webhook delivery envelope. The `data` field contains the event-specific payload. */
4563
+ requestBody: {
4564
+ content: {
4565
+ "application/json": components["schemas"]["WebhookDeliveryEnvelope"] & {
4566
+ data?: components["schemas"]["OracleEventTyped"];
4567
+ };
4568
+ };
4569
+ };
4570
+ responses: {
4571
+ /** @description Webhook delivery acknowledged */
4572
+ 200: {
4573
+ headers: {
4574
+ [name: string]: unknown;
4575
+ };
4576
+ content?: never;
4577
+ };
4578
+ /** @description Server error (will retry) */
4579
+ 500: {
4580
+ headers: {
4581
+ [name: string]: unknown;
4582
+ };
4583
+ content?: never;
4584
+ };
4585
+ };
4586
+ };
4018
4587
  "asset-price-tick": {
4019
4588
  parameters: {
4020
4589
  query?: never;