pmxt-core 2.27.1 → 2.27.4

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.
@@ -77,13 +77,12 @@ paths:
77
77
  name: limit
78
78
  required: false
79
79
  schema:
80
- type: integer
81
- default: 10000
80
+ type: number
82
81
  - in: query
83
82
  name: offset
84
83
  required: false
85
84
  schema:
86
- type: integer
85
+ type: number
87
86
  - in: query
88
87
  name: sort
89
88
  required: false
@@ -100,10 +99,10 @@ paths:
100
99
  type: string
101
100
  enum:
102
101
  - active
102
+ - inactive
103
103
  - closed
104
104
  - all
105
- description: 'Filter by market status (default: active)'
106
- description: 'Filter by market status (default: active)'
105
+ description: 'Filter by market status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
107
106
  - in: query
108
107
  name: searchIn
109
108
  required: false
@@ -113,47 +112,49 @@ paths:
113
112
  - title
114
113
  - description
115
114
  - both
115
+ description: 'Where to search (default: ''title'')'
116
116
  - in: query
117
117
  name: query
118
118
  required: false
119
119
  schema:
120
120
  type: string
121
+ description: For keyword search
121
122
  - in: query
122
123
  name: slug
123
124
  required: false
124
125
  schema:
125
126
  type: string
127
+ description: For slug/ticker lookup
126
128
  - in: query
127
129
  name: marketId
128
130
  required: false
129
131
  schema:
130
132
  type: string
131
- description: Direct lookup by market ID
132
133
  description: Direct lookup by market ID
133
134
  - in: query
134
135
  name: outcomeId
135
136
  required: false
136
137
  schema:
137
138
  type: string
138
- description: Reverse lookup -- find market containing this outcome
139
139
  description: Reverse lookup -- find market containing this outcome
140
140
  - in: query
141
141
  name: eventId
142
142
  required: false
143
143
  schema:
144
144
  type: string
145
- description: Find markets belonging to an event
146
145
  description: Find markets belonging to an event
147
146
  - in: query
148
147
  name: page
149
148
  required: false
150
149
  schema:
151
- type: integer
150
+ type: number
151
+ description: For pagination (used by Limitless)
152
152
  - in: query
153
153
  name: similarityThreshold
154
154
  required: false
155
155
  schema:
156
156
  type: number
157
+ description: For semantic search (used by Limitless)
157
158
  responses:
158
159
  '200':
159
160
  description: Fetch Markets response
@@ -216,26 +217,26 @@ paths:
216
217
  required: false
217
218
  schema:
218
219
  type: string
220
+ description: For keyword search
219
221
  - in: query
220
- name: sort
222
+ name: limit
221
223
  required: false
222
224
  schema:
223
- type: string
224
- enum:
225
- - volume
226
- - liquidity
227
- - newest
225
+ type: number
228
226
  - in: query
229
- name: limit
227
+ name: offset
230
228
  required: false
231
229
  schema:
232
- type: integer
233
- default: 10000
230
+ type: number
234
231
  - in: query
235
- name: offset
232
+ name: sort
236
233
  required: false
237
234
  schema:
238
- type: integer
235
+ type: string
236
+ enum:
237
+ - volume
238
+ - liquidity
239
+ - newest
239
240
  - in: query
240
241
  name: status
241
242
  required: false
@@ -243,10 +244,10 @@ paths:
243
244
  type: string
244
245
  enum:
245
246
  - active
247
+ - inactive
246
248
  - closed
247
249
  - all
248
- description: 'Filter by event status (default: active)'
249
- description: 'Filter by event status (default: active)'
250
+ description: 'Filter by event status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
250
251
  - in: query
251
252
  name: searchIn
252
253
  required: false
@@ -261,14 +262,12 @@ paths:
261
262
  required: false
262
263
  schema:
263
264
  type: string
264
- description: Direct lookup by event ID
265
265
  description: Direct lookup by event ID
266
266
  - in: query
267
267
  name: slug
268
268
  required: false
269
269
  schema:
270
270
  type: string
271
- description: Lookup by event slug
272
271
  description: Lookup by event slug
273
272
  responses:
274
273
  '200':
@@ -297,13 +296,12 @@ paths:
297
296
  name: limit
298
297
  required: false
299
298
  schema:
300
- type: integer
301
- default: 10000
299
+ type: number
302
300
  - in: query
303
301
  name: offset
304
302
  required: false
305
303
  schema:
306
- type: integer
304
+ type: number
307
305
  - in: query
308
306
  name: sort
309
307
  required: false
@@ -320,10 +318,10 @@ paths:
320
318
  type: string
321
319
  enum:
322
320
  - active
321
+ - inactive
323
322
  - closed
324
323
  - all
325
- description: 'Filter by market status (default: active)'
326
- description: 'Filter by market status (default: active)'
324
+ description: 'Filter by market status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
327
325
  - in: query
328
326
  name: searchIn
329
327
  required: false
@@ -333,47 +331,49 @@ paths:
333
331
  - title
334
332
  - description
335
333
  - both
334
+ description: 'Where to search (default: ''title'')'
336
335
  - in: query
337
336
  name: query
338
337
  required: false
339
338
  schema:
340
339
  type: string
340
+ description: For keyword search
341
341
  - in: query
342
342
  name: slug
343
343
  required: false
344
344
  schema:
345
345
  type: string
346
+ description: For slug/ticker lookup
346
347
  - in: query
347
348
  name: marketId
348
349
  required: false
349
350
  schema:
350
351
  type: string
351
- description: Direct lookup by market ID
352
352
  description: Direct lookup by market ID
353
353
  - in: query
354
354
  name: outcomeId
355
355
  required: false
356
356
  schema:
357
357
  type: string
358
- description: Reverse lookup -- find market containing this outcome
359
358
  description: Reverse lookup -- find market containing this outcome
360
359
  - in: query
361
360
  name: eventId
362
361
  required: false
363
362
  schema:
364
363
  type: string
365
- description: Find markets belonging to an event
366
364
  description: Find markets belonging to an event
367
365
  - in: query
368
366
  name: page
369
367
  required: false
370
368
  schema:
371
- type: integer
369
+ type: number
370
+ description: For pagination (used by Limitless)
372
371
  - in: query
373
372
  name: similarityThreshold
374
373
  required: false
375
374
  schema:
376
375
  type: number
376
+ description: For semantic search (used by Limitless)
377
377
  responses:
378
378
  '200':
379
379
  description: Fetch Market response
@@ -400,26 +400,26 @@ paths:
400
400
  required: false
401
401
  schema:
402
402
  type: string
403
+ description: For keyword search
403
404
  - in: query
404
- name: sort
405
+ name: limit
405
406
  required: false
406
407
  schema:
407
- type: string
408
- enum:
409
- - volume
410
- - liquidity
411
- - newest
408
+ type: number
412
409
  - in: query
413
- name: limit
410
+ name: offset
414
411
  required: false
415
412
  schema:
416
- type: integer
417
- default: 10000
413
+ type: number
418
414
  - in: query
419
- name: offset
415
+ name: sort
420
416
  required: false
421
417
  schema:
422
- type: integer
418
+ type: string
419
+ enum:
420
+ - volume
421
+ - liquidity
422
+ - newest
423
423
  - in: query
424
424
  name: status
425
425
  required: false
@@ -427,10 +427,10 @@ paths:
427
427
  type: string
428
428
  enum:
429
429
  - active
430
+ - inactive
430
431
  - closed
431
432
  - all
432
- description: 'Filter by event status (default: active)'
433
- description: 'Filter by event status (default: active)'
433
+ description: 'Filter by event status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
434
434
  - in: query
435
435
  name: searchIn
436
436
  required: false
@@ -445,14 +445,12 @@ paths:
445
445
  required: false
446
446
  schema:
447
447
  type: string
448
- description: Direct lookup by event ID
449
448
  description: Direct lookup by event ID
450
449
  - in: query
451
450
  name: slug
452
451
  required: false
453
452
  schema:
454
453
  type: string
455
- description: Lookup by event slug
456
454
  description: Lookup by event slug
457
455
  responses:
458
456
  '200':
@@ -481,10 +479,35 @@ paths:
481
479
  schema:
482
480
  type: string
483
481
  - in: query
484
- name: params
485
- required: true
482
+ name: resolution
483
+ required: false
484
+ schema:
485
+ type: string
486
+ enum:
487
+ - 1m
488
+ - 5m
489
+ - 15m
490
+ - 1h
491
+ - 6h
492
+ - 1d
493
+ description: Required for candle aggregation
494
+ - in: query
495
+ name: start
496
+ required: false
497
+ schema:
498
+ type: string
499
+ format: date-time
500
+ - in: query
501
+ name: end
502
+ required: false
486
503
  schema:
487
504
  type: string
505
+ format: date-time
506
+ - in: query
507
+ name: limit
508
+ required: false
509
+ schema:
510
+ type: number
488
511
  responses:
489
512
  '200':
490
513
  description: Fetch O H L C V response
@@ -538,10 +561,22 @@ paths:
538
561
  schema:
539
562
  type: string
540
563
  - in: query
541
- name: params
542
- required: true
564
+ name: start
565
+ required: false
566
+ schema:
567
+ type: string
568
+ format: date-time
569
+ - in: query
570
+ name: end
571
+ required: false
543
572
  schema:
544
573
  type: string
574
+ format: date-time
575
+ - in: query
576
+ name: limit
577
+ required: false
578
+ schema:
579
+ type: number
545
580
  responses:
546
581
  '200':
547
582
  description: Fetch Trades response
@@ -764,15 +799,13 @@ paths:
764
799
  required: false
765
800
  schema:
766
801
  type: string
767
- description: Filter to specific outcome/ticker
768
- description: Filter to specific outcome/ticker
802
+ description: filter to specific outcome/ticker
769
803
  - in: query
770
804
  name: marketId
771
805
  required: false
772
806
  schema:
773
807
  type: string
774
- description: Filter to specific market
775
- description: Filter to specific market
808
+ description: filter to specific market
776
809
  - in: query
777
810
  name: since
778
811
  required: false
@@ -789,14 +822,13 @@ paths:
789
822
  name: limit
790
823
  required: false
791
824
  schema:
792
- type: integer
825
+ type: number
793
826
  - in: query
794
827
  name: cursor
795
828
  required: false
796
829
  schema:
797
830
  type: string
798
- description: For Kalshi cursor pagination
799
- description: For Kalshi cursor pagination
831
+ description: for Kalshi cursor pagination
800
832
  responses:
801
833
  '200':
802
834
  description: Fetch My Trades response
@@ -822,8 +854,7 @@ paths:
822
854
  required: false
823
855
  schema:
824
856
  type: string
825
- description: Required for Limitless (slug)
826
- description: Required for Limitless (slug)
857
+ description: required for Limitless (slug)
827
858
  - in: query
828
859
  name: since
829
860
  required: false
@@ -840,7 +871,7 @@ paths:
840
871
  name: limit
841
872
  required: false
842
873
  schema:
843
- type: integer
874
+ type: number
844
875
  - in: query
845
876
  name: cursor
846
877
  required: false
@@ -871,8 +902,7 @@ paths:
871
902
  required: false
872
903
  schema:
873
904
  type: string
874
- description: Required for Limitless (slug)
875
- description: Required for Limitless (slug)
905
+ description: required for Limitless (slug)
876
906
  - in: query
877
907
  name: since
878
908
  required: false
@@ -889,7 +919,7 @@ paths:
889
919
  name: limit
890
920
  required: false
891
921
  schema:
892
- type: integer
922
+ type: number
893
923
  - in: query
894
924
  name: cursor
895
925
  required: false
@@ -1069,10 +1099,97 @@ paths:
1069
1099
  - type: array
1070
1100
  items:
1071
1101
  $ref: '#/components/schemas/UnifiedMarket'
1072
- - oneOf:
1073
- - type: string
1074
- - type: object
1075
- - type: object
1102
+ - type: string
1103
+ - type: object
1104
+ properties:
1105
+ text:
1106
+ type: string
1107
+ searchIn:
1108
+ type: array
1109
+ items:
1110
+ type: string
1111
+ enum:
1112
+ - title
1113
+ - description
1114
+ - category
1115
+ - tags
1116
+ - outcomes
1117
+ volume24h:
1118
+ type: object
1119
+ properties:
1120
+ min:
1121
+ type: number
1122
+ max:
1123
+ type: number
1124
+ volume:
1125
+ type: object
1126
+ properties:
1127
+ min:
1128
+ type: number
1129
+ max:
1130
+ type: number
1131
+ liquidity:
1132
+ type: object
1133
+ properties:
1134
+ min:
1135
+ type: number
1136
+ max:
1137
+ type: number
1138
+ openInterest:
1139
+ type: object
1140
+ properties:
1141
+ min:
1142
+ type: number
1143
+ max:
1144
+ type: number
1145
+ resolutionDate:
1146
+ type: object
1147
+ properties:
1148
+ before:
1149
+ type: string
1150
+ format: date-time
1151
+ after:
1152
+ type: string
1153
+ format: date-time
1154
+ category:
1155
+ type: string
1156
+ tags:
1157
+ type: array
1158
+ items:
1159
+ type: string
1160
+ price:
1161
+ type: object
1162
+ properties:
1163
+ outcome:
1164
+ type: string
1165
+ enum:
1166
+ - 'yes'
1167
+ - 'no'
1168
+ - up
1169
+ - down
1170
+ min:
1171
+ type: number
1172
+ max:
1173
+ type: number
1174
+ required:
1175
+ - outcome
1176
+ priceChange24h:
1177
+ type: object
1178
+ properties:
1179
+ outcome:
1180
+ type: string
1181
+ enum:
1182
+ - 'yes'
1183
+ - 'no'
1184
+ - up
1185
+ - down
1186
+ min:
1187
+ type: number
1188
+ max:
1189
+ type: number
1190
+ required:
1191
+ - outcome
1192
+ - type: object
1076
1193
  credentials:
1077
1194
  $ref: '#/components/schemas/ExchangeCredentials'
1078
1195
  required:
@@ -1116,10 +1233,41 @@ paths:
1116
1233
  - type: array
1117
1234
  items:
1118
1235
  $ref: '#/components/schemas/UnifiedEvent'
1119
- - oneOf:
1120
- - type: string
1121
- - type: object
1122
- - type: object
1236
+ - type: string
1237
+ - type: object
1238
+ properties:
1239
+ text:
1240
+ type: string
1241
+ searchIn:
1242
+ type: array
1243
+ items:
1244
+ type: string
1245
+ enum:
1246
+ - title
1247
+ - description
1248
+ - category
1249
+ - tags
1250
+ category:
1251
+ type: string
1252
+ tags:
1253
+ type: array
1254
+ items:
1255
+ type: string
1256
+ marketCount:
1257
+ type: object
1258
+ properties:
1259
+ min:
1260
+ type: number
1261
+ max:
1262
+ type: number
1263
+ totalVolume:
1264
+ type: object
1265
+ properties:
1266
+ min:
1267
+ type: number
1268
+ max:
1269
+ type: number
1270
+ - type: object
1123
1271
  credentials:
1124
1272
  $ref: '#/components/schemas/ExchangeCredentials'
1125
1273
  required:
@@ -1382,6 +1530,9 @@ components:
1382
1530
  marketId:
1383
1531
  type: string
1384
1532
  description: The unique identifier for this market
1533
+ eventId:
1534
+ type: string
1535
+ description: Link to parent event
1385
1536
  title:
1386
1537
  type: string
1387
1538
  description:
@@ -1392,9 +1543,6 @@ components:
1392
1543
  type: array
1393
1544
  items:
1394
1545
  $ref: '#/components/schemas/MarketOutcome'
1395
- eventId:
1396
- type: string
1397
- description: Link to parent event
1398
1546
  resolutionDate:
1399
1547
  type: string
1400
1548
  format: date-time
@@ -1402,6 +1550,7 @@ components:
1402
1550
  type: number
1403
1551
  volume:
1404
1552
  type: number
1553
+ description: Total / Lifetime volume
1405
1554
  liquidity:
1406
1555
  type: number
1407
1556
  openInterest:
@@ -1433,6 +1582,15 @@ components:
1433
1582
  $ref: '#/components/schemas/MarketOutcome'
1434
1583
  down:
1435
1584
  $ref: '#/components/schemas/MarketOutcome'
1585
+ required:
1586
+ - marketId
1587
+ - title
1588
+ - description
1589
+ - outcomes
1590
+ - resolutionDate
1591
+ - volume24h
1592
+ - liquidity
1593
+ - url
1436
1594
  MarketOutcome:
1437
1595
  type: object
1438
1596
  properties:
@@ -1441,7 +1599,7 @@ components:
1441
1599
  description: 'Outcome ID for trading operations (CLOB Token ID for Polymarket, Market Ticker for Kalshi)'
1442
1600
  marketId:
1443
1601
  type: string
1444
- description: The market this outcome belongs to (set automatically)
1602
+ description: The market this outcome belongs to (set automatically when outcomes are built)
1445
1603
  label:
1446
1604
  type: string
1447
1605
  price:
@@ -1450,11 +1608,15 @@ components:
1450
1608
  type: number
1451
1609
  metadata:
1452
1610
  type: object
1453
- additionalProperties: true
1611
+ additionalProperties: {}
1454
1612
  description: 'Exchange-specific metadata (e.g., clobTokenId for Polymarket)'
1613
+ required:
1614
+ - outcomeId
1615
+ - label
1616
+ - price
1455
1617
  UnifiedEvent:
1456
1618
  type: object
1457
- description: 'A grouped collection of related markets (e.g., "Who will be Fed Chair?" contains multiple candidate markets)'
1619
+ description: 'A grouped collection of related markets (e.g., "Who will be Fed Chair?" contains multiple candidate markets).'
1458
1620
  properties:
1459
1621
  id:
1460
1622
  type: string
@@ -1483,11 +1645,19 @@ components:
1483
1645
  type: array
1484
1646
  items:
1485
1647
  type: string
1648
+ required:
1649
+ - id
1650
+ - title
1651
+ - description
1652
+ - slug
1653
+ - markets
1654
+ - volume24h
1655
+ - url
1486
1656
  PriceCandle:
1487
1657
  type: object
1488
1658
  properties:
1489
1659
  timestamp:
1490
- type: integer
1660
+ type: number
1491
1661
  open:
1492
1662
  type: number
1493
1663
  high:
@@ -1498,6 +1668,12 @@ components:
1498
1668
  type: number
1499
1669
  volume:
1500
1670
  type: number
1671
+ required:
1672
+ - timestamp
1673
+ - open
1674
+ - high
1675
+ - low
1676
+ - close
1501
1677
  OrderBook:
1502
1678
  type: object
1503
1679
  properties:
@@ -1510,19 +1686,29 @@ components:
1510
1686
  items:
1511
1687
  $ref: '#/components/schemas/OrderLevel'
1512
1688
  timestamp:
1513
- type: integer
1689
+ type: number
1690
+ required:
1691
+ - bids
1692
+ - asks
1514
1693
  OrderLevel:
1515
1694
  type: object
1516
1695
  properties:
1517
1696
  price:
1518
1697
  type: number
1698
+ description: 0.0 to 1.0 (probability)
1519
1699
  size:
1520
1700
  type: number
1701
+ description: contracts/shares
1702
+ required:
1703
+ - price
1704
+ - size
1521
1705
  Trade:
1522
1706
  type: object
1523
1707
  properties:
1524
1708
  id:
1525
1709
  type: string
1710
+ timestamp:
1711
+ type: number
1526
1712
  price:
1527
1713
  type: number
1528
1714
  amount:
@@ -1533,13 +1719,21 @@ components:
1533
1719
  - buy
1534
1720
  - sell
1535
1721
  - unknown
1536
- timestamp:
1537
- type: integer
1722
+ outcomeId:
1723
+ type: string
1724
+ required:
1725
+ - id
1726
+ - timestamp
1727
+ - price
1728
+ - amount
1729
+ - side
1538
1730
  UserTrade:
1539
1731
  type: object
1540
1732
  properties:
1541
1733
  id:
1542
1734
  type: string
1735
+ timestamp:
1736
+ type: number
1543
1737
  price:
1544
1738
  type: number
1545
1739
  amount:
@@ -1550,14 +1744,16 @@ components:
1550
1744
  - buy
1551
1745
  - sell
1552
1746
  - unknown
1553
- timestamp:
1554
- type: integer
1555
- orderId:
1556
- type: string
1557
1747
  outcomeId:
1558
1748
  type: string
1559
- marketId:
1749
+ orderId:
1560
1750
  type: string
1751
+ required:
1752
+ - id
1753
+ - timestamp
1754
+ - price
1755
+ - amount
1756
+ - side
1561
1757
  Order:
1562
1758
  type: object
1563
1759
  properties:
@@ -1575,12 +1771,14 @@ components:
1575
1771
  type:
1576
1772
  type: string
1577
1773
  enum:
1578
- - limit
1579
1774
  - market
1775
+ - limit
1580
1776
  price:
1581
1777
  type: number
1778
+ description: For limit orders
1582
1779
  amount:
1583
1780
  type: number
1781
+ description: Size in contracts/shares
1584
1782
  status:
1585
1783
  type: string
1586
1784
  enum:
@@ -1591,12 +1789,25 @@ components:
1591
1789
  - rejected
1592
1790
  filled:
1593
1791
  type: number
1792
+ description: Amount filled
1594
1793
  remaining:
1595
1794
  type: number
1795
+ description: Amount remaining
1596
1796
  timestamp:
1597
- type: integer
1797
+ type: number
1598
1798
  fee:
1599
1799
  type: number
1800
+ required:
1801
+ - id
1802
+ - marketId
1803
+ - outcomeId
1804
+ - side
1805
+ - type
1806
+ - amount
1807
+ - status
1808
+ - filled
1809
+ - remaining
1810
+ - timestamp
1600
1811
  Position:
1601
1812
  type: object
1602
1813
  properties:
@@ -1608,6 +1819,7 @@ components:
1608
1819
  type: string
1609
1820
  size:
1610
1821
  type: number
1822
+ description: 'Positive for long, negative for short'
1611
1823
  entryPrice:
1612
1824
  type: number
1613
1825
  currentPrice:
@@ -1616,17 +1828,32 @@ components:
1616
1828
  type: number
1617
1829
  realizedPnL:
1618
1830
  type: number
1831
+ required:
1832
+ - marketId
1833
+ - outcomeId
1834
+ - outcomeLabel
1835
+ - size
1836
+ - entryPrice
1837
+ - currentPrice
1838
+ - unrealizedPnL
1619
1839
  Balance:
1620
1840
  type: object
1621
1841
  properties:
1622
1842
  currency:
1623
1843
  type: string
1844
+ description: 'e.g., ''USDC'''
1624
1845
  total:
1625
1846
  type: number
1626
1847
  available:
1627
1848
  type: number
1628
1849
  locked:
1629
1850
  type: number
1851
+ description: In open orders
1852
+ required:
1853
+ - currency
1854
+ - total
1855
+ - available
1856
+ - locked
1630
1857
  ExecutionPriceResult:
1631
1858
  type: object
1632
1859
  properties:
@@ -1636,25 +1863,32 @@ components:
1636
1863
  type: number
1637
1864
  fullyFilled:
1638
1865
  type: boolean
1866
+ required:
1867
+ - price
1868
+ - filledAmount
1869
+ - fullyFilled
1639
1870
  PaginatedMarketsResult:
1640
1871
  type: object
1872
+ description: Shape returned by fetchMarketsPaginated
1641
1873
  properties:
1642
1874
  data:
1643
1875
  type: array
1644
1876
  items:
1645
1877
  $ref: '#/components/schemas/UnifiedMarket'
1646
1878
  total:
1647
- type: integer
1879
+ type: number
1648
1880
  nextCursor:
1649
1881
  type: string
1882
+ required:
1883
+ - data
1884
+ - total
1650
1885
  MarketFilterParams:
1651
1886
  type: object
1652
1887
  properties:
1653
1888
  limit:
1654
- type: integer
1655
- default: 10000
1889
+ type: number
1656
1890
  offset:
1657
- type: integer
1891
+ type: number
1658
1892
  sort:
1659
1893
  type: string
1660
1894
  enum:
@@ -1665,19 +1899,23 @@ components:
1665
1899
  type: string
1666
1900
  enum:
1667
1901
  - active
1902
+ - inactive
1668
1903
  - closed
1669
1904
  - all
1670
- description: 'Filter by market status (default: active)'
1905
+ description: 'Filter by market status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
1671
1906
  searchIn:
1672
1907
  type: string
1673
1908
  enum:
1674
1909
  - title
1675
1910
  - description
1676
1911
  - both
1912
+ description: 'Where to search (default: ''title'')'
1677
1913
  query:
1678
1914
  type: string
1915
+ description: For keyword search
1679
1916
  slug:
1680
1917
  type: string
1918
+ description: For slug/ticker lookup
1681
1919
  marketId:
1682
1920
  type: string
1683
1921
  description: Direct lookup by market ID
@@ -1688,32 +1926,35 @@ components:
1688
1926
  type: string
1689
1927
  description: Find markets belonging to an event
1690
1928
  page:
1691
- type: integer
1929
+ type: number
1930
+ description: For pagination (used by Limitless)
1692
1931
  similarityThreshold:
1693
1932
  type: number
1933
+ description: For semantic search (used by Limitless)
1694
1934
  EventFetchParams:
1695
1935
  type: object
1696
1936
  properties:
1697
1937
  query:
1698
1938
  type: string
1939
+ description: For keyword search
1940
+ limit:
1941
+ type: number
1942
+ offset:
1943
+ type: number
1699
1944
  sort:
1700
1945
  type: string
1701
1946
  enum:
1702
1947
  - volume
1703
1948
  - liquidity
1704
1949
  - newest
1705
- limit:
1706
- type: integer
1707
- default: 10000
1708
- offset:
1709
- type: integer
1710
1950
  status:
1711
1951
  type: string
1712
1952
  enum:
1713
1953
  - active
1954
+ - inactive
1714
1955
  - closed
1715
1956
  - all
1716
- description: 'Filter by event status (default: active)'
1957
+ description: 'Filter by event status (default: ''active'', ''inactive'' and ''closed'' are interchangeable)'
1717
1958
  searchIn:
1718
1959
  type: string
1719
1960
  enum:
@@ -1739,6 +1980,7 @@ components:
1739
1980
  - 1h
1740
1981
  - 6h
1741
1982
  - 1d
1983
+ description: Optional for backward compatibility
1742
1984
  start:
1743
1985
  type: string
1744
1986
  format: date-time
@@ -1746,11 +1988,9 @@ components:
1746
1988
  type: string
1747
1989
  format: date-time
1748
1990
  limit:
1749
- type: integer
1991
+ type: number
1750
1992
  OHLCVParams:
1751
1993
  type: object
1752
- required:
1753
- - resolution
1754
1994
  properties:
1755
1995
  resolution:
1756
1996
  type: string
@@ -1761,7 +2001,7 @@ components:
1761
2001
  - 1h
1762
2002
  - 6h
1763
2003
  - 1d
1764
- description: Candle interval for aggregation
2004
+ description: Required for candle aggregation
1765
2005
  start:
1766
2006
  type: string
1767
2007
  format: date-time
@@ -1769,7 +2009,9 @@ components:
1769
2009
  type: string
1770
2010
  format: date-time
1771
2011
  limit:
1772
- type: integer
2012
+ type: number
2013
+ required:
2014
+ - resolution
1773
2015
  TradesParams:
1774
2016
  type: object
1775
2017
  description: Parameters for fetching trade history. No resolution parameter - trades are discrete events.
@@ -1781,15 +2023,9 @@ components:
1781
2023
  type: string
1782
2024
  format: date-time
1783
2025
  limit:
1784
- type: integer
2026
+ type: number
1785
2027
  CreateOrderParams:
1786
2028
  type: object
1787
- required:
1788
- - marketId
1789
- - outcomeId
1790
- - side
1791
- - type
1792
- - amount
1793
2029
  properties:
1794
2030
  marketId:
1795
2031
  type: string
@@ -1803,36 +2039,44 @@ components:
1803
2039
  type:
1804
2040
  type: string
1805
2041
  enum:
1806
- - limit
1807
2042
  - market
2043
+ - limit
1808
2044
  amount:
1809
2045
  type: number
1810
2046
  price:
1811
2047
  type: number
2048
+ description: Required for limit orders
1812
2049
  fee:
1813
2050
  type: number
2051
+ description: 'Optional fee rate (e.g., 1000 for 0.1%)'
1814
2052
  tickSize:
1815
2053
  type: number
1816
2054
  description: Optional override for Limitless/Polymarket
1817
2055
  negRisk:
1818
2056
  type: boolean
1819
2057
  description: Optional override to skip neg-risk lookup (Polymarket)
2058
+ required:
2059
+ - marketId
2060
+ - outcomeId
2061
+ - side
2062
+ - type
2063
+ - amount
1820
2064
  BuiltOrder:
1821
2065
  type: object
1822
- description: 'An order built but not yet submitted, ready for inspection or middleware forwarding'
1823
2066
  properties:
1824
2067
  exchange:
1825
2068
  type: string
1826
- description: The exchange name this order was built for
2069
+ description: The exchange name this order was built for.
1827
2070
  params:
1828
- $ref: '#/components/schemas/CreateOrderParams'
2071
+ allOf:
2072
+ - $ref: '#/components/schemas/CreateOrderParams'
2073
+ description: The original params used to build this order.
1829
2074
  signedOrder:
1830
2075
  type: object
1831
- additionalProperties: true
1832
- description: 'For CLOB exchanges (Polymarket): the EIP-712 signed order ready to POST'
2076
+ additionalProperties: {}
2077
+ description: 'For CLOB exchanges (Polymarket): the EIP-712 signed order ready to POST to the exchange''s order endpoint.'
1833
2078
  tx:
1834
2079
  type: object
1835
- description: 'For on-chain AMM exchanges: the EVM transaction payload (reserved for future use)'
1836
2080
  properties:
1837
2081
  to:
1838
2082
  type: string
@@ -1841,18 +2085,30 @@ components:
1841
2085
  value:
1842
2086
  type: string
1843
2087
  chainId:
1844
- type: integer
2088
+ type: number
2089
+ required:
2090
+ - to
2091
+ - data
2092
+ - value
2093
+ - chainId
2094
+ description: >-
2095
+ For on-chain AMM exchanges: the EVM transaction payload. Reserved for future exchanges; no current exchange
2096
+ populates this.
1845
2097
  raw:
1846
2098
  description: 'The raw, exchange-native payload. Always present.'
2099
+ required:
2100
+ - exchange
2101
+ - params
2102
+ - raw
1847
2103
  MyTradesParams:
1848
2104
  type: object
1849
2105
  properties:
1850
2106
  outcomeId:
1851
2107
  type: string
1852
- description: Filter to specific outcome/ticker
2108
+ description: filter to specific outcome/ticker
1853
2109
  marketId:
1854
2110
  type: string
1855
- description: Filter to specific market
2111
+ description: filter to specific market
1856
2112
  since:
1857
2113
  type: string
1858
2114
  format: date-time
@@ -1860,16 +2116,16 @@ components:
1860
2116
  type: string
1861
2117
  format: date-time
1862
2118
  limit:
1863
- type: integer
2119
+ type: number
1864
2120
  cursor:
1865
2121
  type: string
1866
- description: For Kalshi cursor pagination
2122
+ description: for Kalshi cursor pagination
1867
2123
  OrderHistoryParams:
1868
2124
  type: object
1869
2125
  properties:
1870
2126
  marketId:
1871
2127
  type: string
1872
- description: Required for Limitless (slug)
2128
+ description: required for Limitless (slug)
1873
2129
  since:
1874
2130
  type: string
1875
2131
  format: date-time
@@ -1877,30 +2133,30 @@ components:
1877
2133
  type: string
1878
2134
  format: date-time
1879
2135
  limit:
1880
- type: integer
2136
+ type: number
1881
2137
  cursor:
1882
2138
  type: string
1883
2139
  ExchangeCredentials:
1884
2140
  type: object
1885
- description: Optional authentication credentials for exchange operations
2141
+ description: Optional authentication credentials for exchange operations.
1886
2142
  properties:
1887
2143
  apiKey:
1888
2144
  type: string
1889
- description: API key for the exchange
1890
- privateKey:
1891
- type: string
1892
- description: Private key for signing transactions
1893
2145
  apiSecret:
1894
2146
  type: string
1895
- description: API secret (if required by exchange)
1896
2147
  passphrase:
1897
2148
  type: string
1898
- description: Passphrase (if required by exchange)
1899
- funderAddress:
2149
+ apiToken:
2150
+ type: string
2151
+ description: 'Metaculus: `Authorization: Token <apiToken>` for higher rate limits'
2152
+ privateKey:
1900
2153
  type: string
1901
- description: The address funding the trades (Proxy address)
2154
+ description: Required for Polymarket L1 auth
1902
2155
  signatureType:
1903
2156
  oneOf:
1904
- - type: integer
2157
+ - type: number
1905
2158
  - type: string
1906
- description: 'Signature type (0=EOA, 1=Poly Proxy, 2=Gnosis Safe, or names like ''gnosis_safe'')'
2159
+ description: '0 = EOA, 1 = Poly Proxy, 2 = Gnosis Safe (Can also use ''eoa'', ''polyproxy'', ''gnosis_safe'')'
2160
+ funderAddress:
2161
+ type: string
2162
+ description: The address funding the trades (defaults to signer address)