@xen-orchestra/rest-api 0.31.1 → 0.33.0

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.
Files changed (46) hide show
  1. package/README.md +4 -4
  2. package/dist/acl-privileges/acl-privilege.controller.mjs +7 -2
  3. package/dist/acl-roles/acl-role.controller.mjs +13 -2
  4. package/dist/alarms/alarm.controller.mjs +3 -1
  5. package/dist/backup-archives/backup-archive.controller.mjs +3 -1
  6. package/dist/backup-jobs/backup-job.controller.mjs +12 -1
  7. package/dist/backup-logs/backup-log.controller.mjs +3 -1
  8. package/dist/backup-repositories/backup-repositories.controller.mjs +3 -1
  9. package/dist/events/event.controller.mjs +4 -1
  10. package/dist/groups/group.controller.mjs +10 -1
  11. package/dist/hosts/host.controller.mjs +16 -1
  12. package/dist/index.mjs +2 -0
  13. package/dist/mcp/mcp.controller.mjs +59 -0
  14. package/dist/mcp/mcp.helper.mjs +11 -0
  15. package/dist/messages/message.controller.mjs +3 -1
  16. package/dist/middlewares/mcp-gate.middleware.mjs +30 -0
  17. package/dist/networks/network.controller.mjs +9 -1
  18. package/dist/open-api/routes/routes.js +118 -5
  19. package/dist/pbds/pbd.controller.mjs +5 -1
  20. package/dist/pcis/pci.controller.mjs +3 -1
  21. package/dist/pgpus/pgpu.controller.mjs +3 -1
  22. package/dist/pifs/pif.controller.mjs +6 -1
  23. package/dist/pools/pool.controller.mjs +20 -1
  24. package/dist/proxies/proxy.controller.mjs +3 -1
  25. package/dist/restore-logs/restore-log.controller.mjs +5 -1
  26. package/dist/schedules/schedule.controller.mjs +4 -1
  27. package/dist/servers/server.controller.mjs +8 -1
  28. package/dist/sms/sm.controller.mjs +3 -1
  29. package/dist/srs/sr.controller.mjs +13 -1
  30. package/dist/tasks/task.controller.mjs +6 -1
  31. package/dist/users/user.controller.mjs +13 -2
  32. package/dist/vbds/vbd.controller.mjs +10 -1
  33. package/dist/vdi-snapshots/vdi-snapshot.controller.mjs +10 -1
  34. package/dist/vdis/vdi.controller.mjs +13 -1
  35. package/dist/vifs/vif.controller.mjs +10 -1
  36. package/dist/vm-controller/vm-controller.controller.mjs +9 -1
  37. package/dist/vm-snapshots/vm-snapshot.controller.mjs +11 -1
  38. package/dist/vm-templates/vm-template.controller.mjs +11 -1
  39. package/dist/vms/vm.controller.mjs +77 -2
  40. package/dist/vms/vm.service.mjs +17 -0
  41. package/dist/xoa/xoa.controller.mjs +4 -1
  42. package/eslint-rules/index.cjs +7 -0
  43. package/eslint-rules/require-mcp-expose.cjs +129 -0
  44. package/open-api/spec/swagger.json +1764 -495
  45. package/package.json +3 -3
  46. package/tsoa.json +2 -1
@@ -1479,6 +1479,775 @@
1479
1479
  ],
1480
1480
  "type": "object"
1481
1481
  },
1482
+ "Partial_Record_VM_OPERATIONS.boolean-or-string-or-null__": {
1483
+ "properties": {
1484
+ "assert_operation_valid": {
1485
+ "anyOf": [
1486
+ {
1487
+ "type": "string"
1488
+ },
1489
+ {
1490
+ "type": "boolean"
1491
+ }
1492
+ ],
1493
+ "nullable": true
1494
+ },
1495
+ "awaiting_memory_live": {
1496
+ "anyOf": [
1497
+ {
1498
+ "type": "string"
1499
+ },
1500
+ {
1501
+ "type": "boolean"
1502
+ }
1503
+ ],
1504
+ "nullable": true
1505
+ },
1506
+ "call_plugin": {
1507
+ "anyOf": [
1508
+ {
1509
+ "type": "string"
1510
+ },
1511
+ {
1512
+ "type": "boolean"
1513
+ }
1514
+ ],
1515
+ "nullable": true
1516
+ },
1517
+ "changing_dynamic_range": {
1518
+ "anyOf": [
1519
+ {
1520
+ "type": "string"
1521
+ },
1522
+ {
1523
+ "type": "boolean"
1524
+ }
1525
+ ],
1526
+ "nullable": true
1527
+ },
1528
+ "changing_memory_limits": {
1529
+ "anyOf": [
1530
+ {
1531
+ "type": "string"
1532
+ },
1533
+ {
1534
+ "type": "boolean"
1535
+ }
1536
+ ],
1537
+ "nullable": true
1538
+ },
1539
+ "changing_memory_live": {
1540
+ "anyOf": [
1541
+ {
1542
+ "type": "string"
1543
+ },
1544
+ {
1545
+ "type": "boolean"
1546
+ }
1547
+ ],
1548
+ "nullable": true
1549
+ },
1550
+ "changing_NVRAM": {
1551
+ "anyOf": [
1552
+ {
1553
+ "type": "string"
1554
+ },
1555
+ {
1556
+ "type": "boolean"
1557
+ }
1558
+ ],
1559
+ "nullable": true
1560
+ },
1561
+ "changing_shadow_memory": {
1562
+ "anyOf": [
1563
+ {
1564
+ "type": "string"
1565
+ },
1566
+ {
1567
+ "type": "boolean"
1568
+ }
1569
+ ],
1570
+ "nullable": true
1571
+ },
1572
+ "changing_shadow_memory_live": {
1573
+ "anyOf": [
1574
+ {
1575
+ "type": "string"
1576
+ },
1577
+ {
1578
+ "type": "boolean"
1579
+ }
1580
+ ],
1581
+ "nullable": true
1582
+ },
1583
+ "changing_static_range": {
1584
+ "anyOf": [
1585
+ {
1586
+ "type": "string"
1587
+ },
1588
+ {
1589
+ "type": "boolean"
1590
+ }
1591
+ ],
1592
+ "nullable": true
1593
+ },
1594
+ "changing_VCPUs": {
1595
+ "anyOf": [
1596
+ {
1597
+ "type": "string"
1598
+ },
1599
+ {
1600
+ "type": "boolean"
1601
+ }
1602
+ ],
1603
+ "nullable": true
1604
+ },
1605
+ "changing_VCPUs_live": {
1606
+ "anyOf": [
1607
+ {
1608
+ "type": "string"
1609
+ },
1610
+ {
1611
+ "type": "boolean"
1612
+ }
1613
+ ],
1614
+ "nullable": true
1615
+ },
1616
+ "checkpoint": {
1617
+ "anyOf": [
1618
+ {
1619
+ "type": "string"
1620
+ },
1621
+ {
1622
+ "type": "boolean"
1623
+ }
1624
+ ],
1625
+ "nullable": true
1626
+ },
1627
+ "clean_reboot": {
1628
+ "anyOf": [
1629
+ {
1630
+ "type": "string"
1631
+ },
1632
+ {
1633
+ "type": "boolean"
1634
+ }
1635
+ ],
1636
+ "nullable": true
1637
+ },
1638
+ "clean_shutdown": {
1639
+ "anyOf": [
1640
+ {
1641
+ "type": "string"
1642
+ },
1643
+ {
1644
+ "type": "boolean"
1645
+ }
1646
+ ],
1647
+ "nullable": true
1648
+ },
1649
+ "clone": {
1650
+ "anyOf": [
1651
+ {
1652
+ "type": "string"
1653
+ },
1654
+ {
1655
+ "type": "boolean"
1656
+ }
1657
+ ],
1658
+ "nullable": true
1659
+ },
1660
+ "copy": {
1661
+ "anyOf": [
1662
+ {
1663
+ "type": "string"
1664
+ },
1665
+ {
1666
+ "type": "boolean"
1667
+ }
1668
+ ],
1669
+ "nullable": true
1670
+ },
1671
+ "create_template": {
1672
+ "anyOf": [
1673
+ {
1674
+ "type": "string"
1675
+ },
1676
+ {
1677
+ "type": "boolean"
1678
+ }
1679
+ ],
1680
+ "nullable": true
1681
+ },
1682
+ "create_vtpm": {
1683
+ "anyOf": [
1684
+ {
1685
+ "type": "string"
1686
+ },
1687
+ {
1688
+ "type": "boolean"
1689
+ }
1690
+ ],
1691
+ "nullable": true
1692
+ },
1693
+ "csvm": {
1694
+ "anyOf": [
1695
+ {
1696
+ "type": "string"
1697
+ },
1698
+ {
1699
+ "type": "boolean"
1700
+ }
1701
+ ],
1702
+ "nullable": true
1703
+ },
1704
+ "data_source_op": {
1705
+ "anyOf": [
1706
+ {
1707
+ "type": "string"
1708
+ },
1709
+ {
1710
+ "type": "boolean"
1711
+ }
1712
+ ],
1713
+ "nullable": true
1714
+ },
1715
+ "destroy": {
1716
+ "anyOf": [
1717
+ {
1718
+ "type": "string"
1719
+ },
1720
+ {
1721
+ "type": "boolean"
1722
+ }
1723
+ ],
1724
+ "nullable": true
1725
+ },
1726
+ "export": {
1727
+ "anyOf": [
1728
+ {
1729
+ "type": "string"
1730
+ },
1731
+ {
1732
+ "type": "boolean"
1733
+ }
1734
+ ],
1735
+ "nullable": true
1736
+ },
1737
+ "get_boot_record": {
1738
+ "anyOf": [
1739
+ {
1740
+ "type": "string"
1741
+ },
1742
+ {
1743
+ "type": "boolean"
1744
+ }
1745
+ ],
1746
+ "nullable": true
1747
+ },
1748
+ "hard_reboot": {
1749
+ "anyOf": [
1750
+ {
1751
+ "type": "string"
1752
+ },
1753
+ {
1754
+ "type": "boolean"
1755
+ }
1756
+ ],
1757
+ "nullable": true
1758
+ },
1759
+ "hard_shutdown": {
1760
+ "anyOf": [
1761
+ {
1762
+ "type": "string"
1763
+ },
1764
+ {
1765
+ "type": "boolean"
1766
+ }
1767
+ ],
1768
+ "nullable": true
1769
+ },
1770
+ "import": {
1771
+ "anyOf": [
1772
+ {
1773
+ "type": "string"
1774
+ },
1775
+ {
1776
+ "type": "boolean"
1777
+ }
1778
+ ],
1779
+ "nullable": true
1780
+ },
1781
+ "make_into_template": {
1782
+ "anyOf": [
1783
+ {
1784
+ "type": "string"
1785
+ },
1786
+ {
1787
+ "type": "boolean"
1788
+ }
1789
+ ],
1790
+ "nullable": true
1791
+ },
1792
+ "metadata_export": {
1793
+ "anyOf": [
1794
+ {
1795
+ "type": "string"
1796
+ },
1797
+ {
1798
+ "type": "boolean"
1799
+ }
1800
+ ],
1801
+ "nullable": true
1802
+ },
1803
+ "migrate_send": {
1804
+ "anyOf": [
1805
+ {
1806
+ "type": "string"
1807
+ },
1808
+ {
1809
+ "type": "boolean"
1810
+ }
1811
+ ],
1812
+ "nullable": true
1813
+ },
1814
+ "pause": {
1815
+ "anyOf": [
1816
+ {
1817
+ "type": "string"
1818
+ },
1819
+ {
1820
+ "type": "boolean"
1821
+ }
1822
+ ],
1823
+ "nullable": true
1824
+ },
1825
+ "pool_migrate": {
1826
+ "anyOf": [
1827
+ {
1828
+ "type": "string"
1829
+ },
1830
+ {
1831
+ "type": "boolean"
1832
+ }
1833
+ ],
1834
+ "nullable": true
1835
+ },
1836
+ "power_state_reset": {
1837
+ "anyOf": [
1838
+ {
1839
+ "type": "string"
1840
+ },
1841
+ {
1842
+ "type": "boolean"
1843
+ }
1844
+ ],
1845
+ "nullable": true
1846
+ },
1847
+ "provision": {
1848
+ "anyOf": [
1849
+ {
1850
+ "type": "string"
1851
+ },
1852
+ {
1853
+ "type": "boolean"
1854
+ }
1855
+ ],
1856
+ "nullable": true
1857
+ },
1858
+ "query_services": {
1859
+ "anyOf": [
1860
+ {
1861
+ "type": "string"
1862
+ },
1863
+ {
1864
+ "type": "boolean"
1865
+ }
1866
+ ],
1867
+ "nullable": true
1868
+ },
1869
+ "resume": {
1870
+ "anyOf": [
1871
+ {
1872
+ "type": "string"
1873
+ },
1874
+ {
1875
+ "type": "boolean"
1876
+ }
1877
+ ],
1878
+ "nullable": true
1879
+ },
1880
+ "resume_on": {
1881
+ "anyOf": [
1882
+ {
1883
+ "type": "string"
1884
+ },
1885
+ {
1886
+ "type": "boolean"
1887
+ }
1888
+ ],
1889
+ "nullable": true
1890
+ },
1891
+ "revert": {
1892
+ "anyOf": [
1893
+ {
1894
+ "type": "string"
1895
+ },
1896
+ {
1897
+ "type": "boolean"
1898
+ }
1899
+ ],
1900
+ "nullable": true
1901
+ },
1902
+ "reverting": {
1903
+ "anyOf": [
1904
+ {
1905
+ "type": "string"
1906
+ },
1907
+ {
1908
+ "type": "boolean"
1909
+ }
1910
+ ],
1911
+ "nullable": true
1912
+ },
1913
+ "send_sysrq": {
1914
+ "anyOf": [
1915
+ {
1916
+ "type": "string"
1917
+ },
1918
+ {
1919
+ "type": "boolean"
1920
+ }
1921
+ ],
1922
+ "nullable": true
1923
+ },
1924
+ "send_trigger": {
1925
+ "anyOf": [
1926
+ {
1927
+ "type": "string"
1928
+ },
1929
+ {
1930
+ "type": "boolean"
1931
+ }
1932
+ ],
1933
+ "nullable": true
1934
+ },
1935
+ "shutdown": {
1936
+ "anyOf": [
1937
+ {
1938
+ "type": "string"
1939
+ },
1940
+ {
1941
+ "type": "boolean"
1942
+ }
1943
+ ],
1944
+ "nullable": true
1945
+ },
1946
+ "snapshot": {
1947
+ "anyOf": [
1948
+ {
1949
+ "type": "string"
1950
+ },
1951
+ {
1952
+ "type": "boolean"
1953
+ }
1954
+ ],
1955
+ "nullable": true
1956
+ },
1957
+ "snapshot_with_quiesce": {
1958
+ "anyOf": [
1959
+ {
1960
+ "type": "string"
1961
+ },
1962
+ {
1963
+ "type": "boolean"
1964
+ }
1965
+ ],
1966
+ "nullable": true
1967
+ },
1968
+ "start": {
1969
+ "anyOf": [
1970
+ {
1971
+ "type": "string"
1972
+ },
1973
+ {
1974
+ "type": "boolean"
1975
+ }
1976
+ ],
1977
+ "nullable": true
1978
+ },
1979
+ "start_on": {
1980
+ "anyOf": [
1981
+ {
1982
+ "type": "string"
1983
+ },
1984
+ {
1985
+ "type": "boolean"
1986
+ }
1987
+ ],
1988
+ "nullable": true
1989
+ },
1990
+ "suspend": {
1991
+ "anyOf": [
1992
+ {
1993
+ "type": "string"
1994
+ },
1995
+ {
1996
+ "type": "boolean"
1997
+ }
1998
+ ],
1999
+ "nullable": true
2000
+ },
2001
+ "unpause": {
2002
+ "anyOf": [
2003
+ {
2004
+ "type": "string"
2005
+ },
2006
+ {
2007
+ "type": "boolean"
2008
+ }
2009
+ ],
2010
+ "nullable": true
2011
+ },
2012
+ "update_allowed_operations": {
2013
+ "anyOf": [
2014
+ {
2015
+ "type": "string"
2016
+ },
2017
+ {
2018
+ "type": "boolean"
2019
+ }
2020
+ ],
2021
+ "nullable": true
2022
+ }
2023
+ },
2024
+ "type": "object",
2025
+ "description": "Make all properties in T optional"
2026
+ },
2027
+ "Record_string.string-or-null_": {
2028
+ "properties": {},
2029
+ "additionalProperties": {
2030
+ "type": "string",
2031
+ "nullable": true
2032
+ },
2033
+ "type": "object",
2034
+ "description": "Construct a type with a set of properties K of type T"
2035
+ },
2036
+ "UpdateVmRequestBody": {
2037
+ "description": "Body of `PATCH /vms/{id}`.\n\nExtends {@link EditVmProps} with two REST-only properties that the xo-server\nresource-set mixin handles outside of `editVm`.",
2038
+ "properties": {
2039
+ "affinityHost": {
2040
+ "type": "string",
2041
+ "nullable": true
2042
+ },
2043
+ "autoPoweron": {
2044
+ "type": "boolean"
2045
+ },
2046
+ "blockedOperations": {
2047
+ "$ref": "#/components/schemas/Partial_Record_VM_OPERATIONS.boolean-or-string-or-null__"
2048
+ },
2049
+ "coresPerSocket": {
2050
+ "anyOf": [
2051
+ {
2052
+ "type": "number",
2053
+ "format": "double"
2054
+ },
2055
+ {
2056
+ "type": "string"
2057
+ }
2058
+ ],
2059
+ "nullable": true
2060
+ },
2061
+ "cpuCap": {
2062
+ "type": "number",
2063
+ "format": "double",
2064
+ "nullable": true
2065
+ },
2066
+ "cpuMask": {
2067
+ "items": {
2068
+ "type": "number",
2069
+ "format": "double"
2070
+ },
2071
+ "type": "array"
2072
+ },
2073
+ "cpuWeight": {
2074
+ "type": "number",
2075
+ "format": "double",
2076
+ "nullable": true
2077
+ },
2078
+ "cpus": {
2079
+ "type": "number",
2080
+ "format": "double"
2081
+ },
2082
+ "cpusStaticMax": {
2083
+ "anyOf": [
2084
+ {
2085
+ "type": "number",
2086
+ "format": "double"
2087
+ },
2088
+ {
2089
+ "type": "string"
2090
+ }
2091
+ ]
2092
+ },
2093
+ "creation": {
2094
+ "properties": {
2095
+ "user": {
2096
+ "type": "string"
2097
+ }
2098
+ },
2099
+ "type": "object",
2100
+ "description": "Update VM creation metadata stored under `other_config.xo:*`. The object is\nmerged with the existing data."
2101
+ },
2102
+ "expNestedHvm": {
2103
+ "type": "boolean"
2104
+ },
2105
+ "hasVendorDevice": {
2106
+ "type": "boolean"
2107
+ },
2108
+ "highAvailability": {
2109
+ "type": "string",
2110
+ "enum": [
2111
+ "best-effort",
2112
+ "restart",
2113
+ ""
2114
+ ]
2115
+ },
2116
+ "hvmBootFirmware": {
2117
+ "type": "string",
2118
+ "nullable": true
2119
+ },
2120
+ "memory": {
2121
+ "anyOf": [
2122
+ {
2123
+ "type": "number",
2124
+ "format": "double"
2125
+ },
2126
+ {
2127
+ "type": "string"
2128
+ }
2129
+ ]
2130
+ },
2131
+ "memoryMax": {
2132
+ "anyOf": [
2133
+ {
2134
+ "type": "number",
2135
+ "format": "double"
2136
+ },
2137
+ {
2138
+ "type": "string"
2139
+ }
2140
+ ]
2141
+ },
2142
+ "memoryMin": {
2143
+ "anyOf": [
2144
+ {
2145
+ "type": "number",
2146
+ "format": "double"
2147
+ },
2148
+ {
2149
+ "type": "string"
2150
+ }
2151
+ ]
2152
+ },
2153
+ "memoryStaticMax": {
2154
+ "anyOf": [
2155
+ {
2156
+ "type": "number",
2157
+ "format": "double"
2158
+ },
2159
+ {
2160
+ "type": "string"
2161
+ }
2162
+ ]
2163
+ },
2164
+ "nameDescription": {
2165
+ "type": "string"
2166
+ },
2167
+ "nameLabel": {
2168
+ "type": "string"
2169
+ },
2170
+ "nestedVirt": {
2171
+ "type": "boolean"
2172
+ },
2173
+ "nicType": {
2174
+ "type": "string",
2175
+ "nullable": true
2176
+ },
2177
+ "notes": {
2178
+ "type": "string",
2179
+ "nullable": true
2180
+ },
2181
+ "PV_args": {
2182
+ "type": "string"
2183
+ },
2184
+ "secureBoot": {
2185
+ "type": "boolean"
2186
+ },
2187
+ "startDelay": {
2188
+ "type": "number",
2189
+ "format": "double"
2190
+ },
2191
+ "suspendSr": {
2192
+ "type": "string",
2193
+ "nullable": true
2194
+ },
2195
+ "tags": {
2196
+ "items": {
2197
+ "type": "string"
2198
+ },
2199
+ "type": "array"
2200
+ },
2201
+ "uefiMode": {
2202
+ "type": "string",
2203
+ "enum": [
2204
+ "setup",
2205
+ "user"
2206
+ ]
2207
+ },
2208
+ "vga": {
2209
+ "type": "string",
2210
+ "enum": [
2211
+ "std",
2212
+ "cirrus"
2213
+ ]
2214
+ },
2215
+ "videoram": {
2216
+ "type": "number",
2217
+ "enum": [
2218
+ 1,
2219
+ 2,
2220
+ 4,
2221
+ 8,
2222
+ 16
2223
+ ]
2224
+ },
2225
+ "viridian": {
2226
+ "type": "boolean"
2227
+ },
2228
+ "virtualizationMode": {
2229
+ "type": "string",
2230
+ "enum": [
2231
+ "pv",
2232
+ "hvm"
2233
+ ]
2234
+ },
2235
+ "xenStoreData": {
2236
+ "$ref": "#/components/schemas/Record_string.string-or-null_"
2237
+ },
2238
+ "resourceSet": {
2239
+ "type": "string",
2240
+ "nullable": true,
2241
+ "description": "Moves the VM in/out of a resource set."
2242
+ },
2243
+ "share": {
2244
+ "type": "boolean",
2245
+ "description": "When `true` and the VM is in a resource set, share the VM with all members\nof that resource set. `false` is a no-op."
2246
+ }
2247
+ },
2248
+ "type": "object",
2249
+ "additionalProperties": false
2250
+ },
1482
2251
  "StatValues": {
1483
2252
  "items": {
1484
2253
  "type": "number",
@@ -5948,7 +6717,6 @@
5948
6717
  }
5949
6718
  },
5950
6719
  "required": [
5951
- "other_config",
5952
6720
  "srId"
5953
6721
  ],
5954
6722
  "type": "object"
@@ -7872,7 +8640,42 @@
7872
8640
  "revert-snapshot",
7873
8641
  "shutdown:clean",
7874
8642
  "shutdown:hard",
7875
- "update:datasources"
8643
+ "update:affinityHost",
8644
+ "update:autoPoweron",
8645
+ "update:blockedOperations",
8646
+ "update:coresPerSocket",
8647
+ "update:cpuCap",
8648
+ "update:cpuMask",
8649
+ "update:cpuWeight",
8650
+ "update:cpus",
8651
+ "update:cpusStaticMax",
8652
+ "update:creation",
8653
+ "update:datasources",
8654
+ "update:expNestedHvm",
8655
+ "update:hasVendorDevice",
8656
+ "update:highAvailability",
8657
+ "update:hvmBootFirmware",
8658
+ "update:memory",
8659
+ "update:memoryMax",
8660
+ "update:memoryMin",
8661
+ "update:memoryStaticMax",
8662
+ "update:nameDescription",
8663
+ "update:nameLabel",
8664
+ "update:nestedVirt",
8665
+ "update:nicType",
8666
+ "update:notes",
8667
+ "update:PV_args",
8668
+ "update:resourceSet",
8669
+ "update:secureBoot",
8670
+ "update:share",
8671
+ "update:startDelay",
8672
+ "update:suspendSr",
8673
+ "update:uefiMode",
8674
+ "update:vga",
8675
+ "update:videoram",
8676
+ "update:viridian",
8677
+ "update:virtualizationMode",
8678
+ "update:xenStoreData"
7876
8679
  ]
7877
8680
  },
7878
8681
  "selector": {
@@ -11724,6 +12527,21 @@
11724
12527
  "UnbrandedXoMessage": {
11725
12528
  "$ref": "#/components/schemas/Unbrand_XoMessage_"
11726
12529
  },
12530
+ "McpStatus": {
12531
+ "properties": {
12532
+ "enabled": {
12533
+ "type": "boolean",
12534
+ "enum": [
12535
+ true
12536
+ ],
12537
+ "nullable": false
12538
+ }
12539
+ },
12540
+ "required": [
12541
+ "enabled"
12542
+ ],
12543
+ "type": "object"
12544
+ },
11727
12545
  "Record_string.HOST_ALLOWED_OPERATIONS_": {
11728
12546
  "properties": {},
11729
12547
  "type": "object",
@@ -15567,7 +16385,42 @@
15567
16385
  "revert-snapshot",
15568
16386
  "shutdown:clean",
15569
16387
  "shutdown:hard",
15570
- "update:datasources"
16388
+ "update:affinityHost",
16389
+ "update:autoPoweron",
16390
+ "update:blockedOperations",
16391
+ "update:coresPerSocket",
16392
+ "update:cpuCap",
16393
+ "update:cpuMask",
16394
+ "update:cpuWeight",
16395
+ "update:cpus",
16396
+ "update:cpusStaticMax",
16397
+ "update:creation",
16398
+ "update:datasources",
16399
+ "update:expNestedHvm",
16400
+ "update:hasVendorDevice",
16401
+ "update:highAvailability",
16402
+ "update:hvmBootFirmware",
16403
+ "update:memory",
16404
+ "update:memoryMax",
16405
+ "update:memoryMin",
16406
+ "update:memoryStaticMax",
16407
+ "update:nameDescription",
16408
+ "update:nameLabel",
16409
+ "update:nestedVirt",
16410
+ "update:nicType",
16411
+ "update:notes",
16412
+ "update:PV_args",
16413
+ "update:resourceSet",
16414
+ "update:secureBoot",
16415
+ "update:share",
16416
+ "update:startDelay",
16417
+ "update:suspendSr",
16418
+ "update:uefiMode",
16419
+ "update:vga",
16420
+ "update:videoram",
16421
+ "update:viridian",
16422
+ "update:virtualizationMode",
16423
+ "update:xenStoreData"
15571
16424
  ]
15572
16425
  },
15573
16426
  "selector": {
@@ -17218,7 +18071,42 @@
17218
18071
  "revert-snapshot",
17219
18072
  "shutdown:clean",
17220
18073
  "shutdown:hard",
17221
- "update:datasources"
18074
+ "update:affinityHost",
18075
+ "update:autoPoweron",
18076
+ "update:blockedOperations",
18077
+ "update:coresPerSocket",
18078
+ "update:cpuCap",
18079
+ "update:cpuMask",
18080
+ "update:cpuWeight",
18081
+ "update:cpus",
18082
+ "update:cpusStaticMax",
18083
+ "update:creation",
18084
+ "update:datasources",
18085
+ "update:expNestedHvm",
18086
+ "update:hasVendorDevice",
18087
+ "update:highAvailability",
18088
+ "update:hvmBootFirmware",
18089
+ "update:memory",
18090
+ "update:memoryMax",
18091
+ "update:memoryMin",
18092
+ "update:memoryStaticMax",
18093
+ "update:nameDescription",
18094
+ "update:nameLabel",
18095
+ "update:nestedVirt",
18096
+ "update:nicType",
18097
+ "update:notes",
18098
+ "update:PV_args",
18099
+ "update:resourceSet",
18100
+ "update:secureBoot",
18101
+ "update:share",
18102
+ "update:startDelay",
18103
+ "update:suspendSr",
18104
+ "update:uefiMode",
18105
+ "update:vga",
18106
+ "update:videoram",
18107
+ "update:viridian",
18108
+ "update:virtualizationMode",
18109
+ "update:xenStoreData"
17222
18110
  ]
17223
18111
  },
17224
18112
  "selector": {
@@ -18380,7 +19268,42 @@
18380
19268
  "revert-snapshot",
18381
19269
  "shutdown:clean",
18382
19270
  "shutdown:hard",
18383
- "update:datasources"
19271
+ "update:affinityHost",
19272
+ "update:autoPoweron",
19273
+ "update:blockedOperations",
19274
+ "update:coresPerSocket",
19275
+ "update:cpuCap",
19276
+ "update:cpuMask",
19277
+ "update:cpuWeight",
19278
+ "update:cpus",
19279
+ "update:cpusStaticMax",
19280
+ "update:creation",
19281
+ "update:datasources",
19282
+ "update:expNestedHvm",
19283
+ "update:hasVendorDevice",
19284
+ "update:highAvailability",
19285
+ "update:hvmBootFirmware",
19286
+ "update:memory",
19287
+ "update:memoryMax",
19288
+ "update:memoryMin",
19289
+ "update:memoryStaticMax",
19290
+ "update:nameDescription",
19291
+ "update:nameLabel",
19292
+ "update:nestedVirt",
19293
+ "update:nicType",
19294
+ "update:notes",
19295
+ "update:PV_args",
19296
+ "update:resourceSet",
19297
+ "update:secureBoot",
19298
+ "update:share",
19299
+ "update:startDelay",
19300
+ "update:suspendSr",
19301
+ "update:uefiMode",
19302
+ "update:vga",
19303
+ "update:videoram",
19304
+ "update:viridian",
19305
+ "update:virtualizationMode",
19306
+ "update:xenStoreData"
18384
19307
  ]
18385
19308
  },
18386
19309
  "selector": {
@@ -18441,7 +19364,7 @@
18441
19364
  },
18442
19365
  "info": {
18443
19366
  "title": "@xen-orchestra/rest-api",
18444
- "version": "0.31.1",
19367
+ "version": "0.33.0",
18445
19368
  "description": "REST API to manage your XOA",
18446
19369
  "license": {
18447
19370
  "name": "AGPL-3.0-or-later"
@@ -18550,7 +19473,8 @@
18550
19473
  "type": "boolean"
18551
19474
  }
18552
19475
  }
18553
- ]
19476
+ ],
19477
+ "x-mcp-exposure": "allow"
18554
19478
  }
18555
19479
  },
18556
19480
  "/ping": {
@@ -18584,7 +19508,8 @@
18584
19508
  "none": []
18585
19509
  }
18586
19510
  ],
18587
- "parameters": []
19511
+ "parameters": [],
19512
+ "x-mcp-exposure": "allow"
18588
19513
  }
18589
19514
  },
18590
19515
  "/gui-routes": {
@@ -18618,7 +19543,8 @@
18618
19543
  "none": []
18619
19544
  }
18620
19545
  ],
18621
- "parameters": []
19546
+ "parameters": [],
19547
+ "x-mcp-exposure": "allow"
18622
19548
  }
18623
19549
  },
18624
19550
  "/vms": {
@@ -18722,7 +19648,8 @@
18722
19648
  },
18723
19649
  "example": 42
18724
19650
  }
18725
- ]
19651
+ ],
19652
+ "x-mcp-exposure": "allow"
18726
19653
  }
18727
19654
  },
18728
19655
  "/vms/{id}.{format}": {
@@ -18795,7 +19722,8 @@
18795
19722
  "type": "boolean"
18796
19723
  }
18797
19724
  }
18798
- ]
19725
+ ],
19726
+ "x-mcp-exposure": "deny"
18799
19727
  }
18800
19728
  },
18801
19729
  "/vms/{id}": {
@@ -18942,7 +19870,69 @@
18942
19870
  },
18943
19871
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
18944
19872
  }
18945
- ]
19873
+ ],
19874
+ "x-mcp-exposure": "allow"
19875
+ },
19876
+ "patch": {
19877
+ "operationId": "UpdateVm",
19878
+ "responses": {
19879
+ "204": {
19880
+ "description": "No content"
19881
+ },
19882
+ "400": {
19883
+ "description": "Bad request"
19884
+ },
19885
+ "401": {
19886
+ "description": "Authentication required"
19887
+ },
19888
+ "403": {
19889
+ "description": "Forbidden"
19890
+ },
19891
+ "404": {
19892
+ "description": "Resource not found"
19893
+ },
19894
+ "422": {
19895
+ "description": "Invalid parameters"
19896
+ },
19897
+ "500": {
19898
+ "description": "Internal server error, XenServer/XCP-ng error"
19899
+ }
19900
+ },
19901
+ "description": "Partial update of a VM. Only the fields present in the body are modified;\neverything else is left untouched.\n\nOperations are applied sequentially: if one fails, previously applied\nchanges are not rolled back.\n\nRequired privilege per field provided in the body:\n- resource: vm, action: update:<field> (e.g. update:nameLabel, update:cpus, ...)\n\nSpecial fields:\n- `xenStoreData` keys are automatically prefixed with `vm-data/` when missing",
19902
+ "tags": [
19903
+ "vms"
19904
+ ],
19905
+ "security": [
19906
+ {
19907
+ "*": []
19908
+ }
19909
+ ],
19910
+ "parameters": [
19911
+ {
19912
+ "in": "path",
19913
+ "name": "id",
19914
+ "required": true,
19915
+ "schema": {
19916
+ "type": "string"
19917
+ },
19918
+ "example": "f07ab729-c0e8-721c-45ec-f11276377030"
19919
+ }
19920
+ ],
19921
+ "requestBody": {
19922
+ "required": true,
19923
+ "content": {
19924
+ "application/json": {
19925
+ "schema": {
19926
+ "$ref": "#/components/schemas/UpdateVmRequestBody"
19927
+ },
19928
+ "example": {
19929
+ "nameLabel": "web-prod-01",
19930
+ "nameDescription": "Production web frontend — managed by n8n",
19931
+ "notes": "Docker containers: nginx, app-1, app-2"
19932
+ }
19933
+ }
19934
+ }
19935
+ }
18946
19936
  },
18947
19937
  "delete": {
18948
19938
  "operationId": "DeleteVm",
@@ -18985,7 +19975,8 @@
18985
19975
  },
18986
19976
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
18987
19977
  }
18988
- ]
19978
+ ],
19979
+ "x-mcp-exposure": "confirm"
18989
19980
  }
18990
19981
  },
18991
19982
  "/vms/{id}/stats": {
@@ -20285,7 +21276,8 @@
20285
21276
  "$ref": "#/components/schemas/XapiStatsGranularity"
20286
21277
  }
20287
21278
  }
20288
- ]
21279
+ ],
21280
+ "x-mcp-exposure": "deny"
20289
21281
  }
20290
21282
  },
20291
21283
  "/vms/{id}/stats/data_source/{data_source}": {
@@ -20339,7 +21331,8 @@
20339
21331
  },
20340
21332
  "example": "cpu0"
20341
21333
  }
20342
- ]
21334
+ ],
21335
+ "x-mcp-exposure": "confirm"
20343
21336
  },
20344
21337
  "delete": {
20345
21338
  "operationId": "DeleteDataSource",
@@ -20391,7 +21384,8 @@
20391
21384
  },
20392
21385
  "example": "cpu0"
20393
21386
  }
20394
- ]
21387
+ ],
21388
+ "x-mcp-exposure": "confirm"
20395
21389
  }
20396
21390
  },
20397
21391
  "/vms/{id}/actions/start": {
@@ -20479,7 +21473,8 @@
20479
21473
  }
20480
21474
  }
20481
21475
  }
20482
- }
21476
+ },
21477
+ "x-mcp-exposure": "confirm"
20483
21478
  }
20484
21479
  },
20485
21480
  "/vms/{id}/actions/clean_shutdown": {
@@ -20549,7 +21544,8 @@
20549
21544
  "type": "boolean"
20550
21545
  }
20551
21546
  }
20552
- ]
21547
+ ],
21548
+ "x-mcp-exposure": "confirm"
20553
21549
  }
20554
21550
  },
20555
21551
  "/vms/{id}/actions/clean_reboot": {
@@ -20616,7 +21612,8 @@
20616
21612
  "type": "boolean"
20617
21613
  }
20618
21614
  }
20619
- ]
21615
+ ],
21616
+ "x-mcp-exposure": "confirm"
20620
21617
  }
20621
21618
  },
20622
21619
  "/vms/{id}/actions/hard_shutdown": {
@@ -20686,7 +21683,8 @@
20686
21683
  "type": "boolean"
20687
21684
  }
20688
21685
  }
20689
- ]
21686
+ ],
21687
+ "x-mcp-exposure": "confirm"
20690
21688
  }
20691
21689
  },
20692
21690
  "/vms/{id}/actions/hard_reboot": {
@@ -20756,7 +21754,8 @@
20756
21754
  "type": "boolean"
20757
21755
  }
20758
21756
  }
20759
- ]
21757
+ ],
21758
+ "x-mcp-exposure": "confirm"
20760
21759
  }
20761
21760
  },
20762
21761
  "/vms/{id}/actions/pause": {
@@ -20826,7 +21825,8 @@
20826
21825
  "type": "boolean"
20827
21826
  }
20828
21827
  }
20829
- ]
21828
+ ],
21829
+ "x-mcp-exposure": "confirm"
20830
21830
  }
20831
21831
  },
20832
21832
  "/vms/{id}/actions/suspend": {
@@ -20896,7 +21896,8 @@
20896
21896
  "type": "boolean"
20897
21897
  }
20898
21898
  }
20899
- ]
21899
+ ],
21900
+ "x-mcp-exposure": "confirm"
20900
21901
  }
20901
21902
  },
20902
21903
  "/vms/{id}/actions/resume": {
@@ -20966,7 +21967,8 @@
20966
21967
  "type": "boolean"
20967
21968
  }
20968
21969
  }
20969
- ]
21970
+ ],
21971
+ "x-mcp-exposure": "confirm"
20970
21972
  }
20971
21973
  },
20972
21974
  "/vms/{id}/actions/unpause": {
@@ -21036,7 +22038,8 @@
21036
22038
  "type": "boolean"
21037
22039
  }
21038
22040
  }
21039
- ]
22041
+ ],
22042
+ "x-mcp-exposure": "confirm"
21040
22043
  }
21041
22044
  },
21042
22045
  "/vms/{id}/actions/revert_snapshot": {
@@ -21134,7 +22137,8 @@
21134
22137
  }
21135
22138
  }
21136
22139
  }
21137
- }
22140
+ },
22141
+ "x-mcp-exposure": "confirm"
21138
22142
  }
21139
22143
  },
21140
22144
  "/vms/{id}/actions/snapshot": {
@@ -21222,7 +22226,8 @@
21222
22226
  }
21223
22227
  }
21224
22228
  }
21225
- }
22229
+ },
22230
+ "x-mcp-exposure": "confirm"
21226
22231
  }
21227
22232
  },
21228
22233
  "/vms/{id}/actions/clone": {
@@ -21336,7 +22341,8 @@
21336
22341
  }
21337
22342
  }
21338
22343
  }
21339
- }
22344
+ },
22345
+ "x-mcp-exposure": "confirm"
21340
22346
  }
21341
22347
  },
21342
22348
  "/vms/{id}/alarms": {
@@ -21445,7 +22451,8 @@
21445
22451
  },
21446
22452
  "example": 42
21447
22453
  }
21448
- ]
22454
+ ],
22455
+ "x-mcp-exposure": "allow"
21449
22456
  }
21450
22457
  },
21451
22458
  "/vms/{id}/vdis": {
@@ -21556,7 +22563,8 @@
21556
22563
  },
21557
22564
  "example": 42
21558
22565
  }
21559
- ]
22566
+ ],
22567
+ "x-mcp-exposure": "allow"
21560
22568
  }
21561
22569
  },
21562
22570
  "/vms/{id}/backup-jobs": {
@@ -21675,7 +22683,8 @@
21675
22683
  },
21676
22684
  "example": 42
21677
22685
  }
21678
- ]
22686
+ ],
22687
+ "x-mcp-exposure": "allow"
21679
22688
  }
21680
22689
  },
21681
22690
  "/vms/{id}/messages": {
@@ -21794,7 +22803,8 @@
21794
22803
  },
21795
22804
  "example": 42
21796
22805
  }
21797
- ]
22806
+ ],
22807
+ "x-mcp-exposure": "allow"
21798
22808
  }
21799
22809
  },
21800
22810
  "/vms/{id}/tasks": {
@@ -21923,7 +22933,8 @@
21923
22933
  },
21924
22934
  "example": 42
21925
22935
  }
21926
- ]
22936
+ ],
22937
+ "x-mcp-exposure": "allow"
21927
22938
  }
21928
22939
  },
21929
22940
  "/vms/{id}/tags/{tag}": {
@@ -21974,7 +22985,8 @@
21974
22985
  },
21975
22986
  "example": "from-rest-api"
21976
22987
  }
21977
- ]
22988
+ ],
22989
+ "x-mcp-exposure": "confirm"
21978
22990
  },
21979
22991
  "delete": {
21980
22992
  "operationId": "DeleteVmTag",
@@ -22023,7 +23035,8 @@
22023
23035
  },
22024
23036
  "example": "from-rest-api"
22025
23037
  }
22026
- ]
23038
+ ],
23039
+ "x-mcp-exposure": "confirm"
22027
23040
  }
22028
23041
  },
22029
23042
  "/vms/{id}/dashboard": {
@@ -22155,7 +23168,8 @@
22155
23168
  "type": "boolean"
22156
23169
  }
22157
23170
  }
22158
- ]
23171
+ ],
23172
+ "x-mcp-exposure": "allow"
22159
23173
  }
22160
23174
  },
22161
23175
  "/vms/{id}/actions/migrate": {
@@ -22284,7 +23298,8 @@
22284
23298
  }
22285
23299
  }
22286
23300
  }
22287
- }
23301
+ },
23302
+ "x-mcp-exposure": "confirm"
22288
23303
  }
22289
23304
  },
22290
23305
  "/vm-templates": {
@@ -22388,7 +23403,8 @@
22388
23403
  },
22389
23404
  "example": 42
22390
23405
  }
22391
- ]
23406
+ ],
23407
+ "x-mcp-exposure": "allow"
22392
23408
  }
22393
23409
  },
22394
23410
  "/vm-templates/{id}.{format}": {
@@ -22461,7 +23477,8 @@
22461
23477
  "type": "boolean"
22462
23478
  }
22463
23479
  }
22464
- ]
23480
+ ],
23481
+ "x-mcp-exposure": "deny"
22465
23482
  }
22466
23483
  },
22467
23484
  "/vm-templates/{id}": {
@@ -22598,7 +23615,8 @@
22598
23615
  },
22599
23616
  "example": "b7569d99-30f8-178a-7d94-801de3e29b5b-f873abe0-b138-4995-8f6f-498b423d234d"
22600
23617
  }
22601
- ]
23618
+ ],
23619
+ "x-mcp-exposure": "allow"
22602
23620
  },
22603
23621
  "delete": {
22604
23622
  "operationId": "DeleteVmTemplate",
@@ -22641,7 +23659,8 @@
22641
23659
  },
22642
23660
  "example": "6d50ba76-0f11-1ff1-4f6a-b502afc31b8e"
22643
23661
  }
22644
- ]
23662
+ ],
23663
+ "x-mcp-exposure": "confirm"
22645
23664
  }
22646
23665
  },
22647
23666
  "/vm-templates/{id}/alarms": {
@@ -22750,7 +23769,8 @@
22750
23769
  },
22751
23770
  "example": 42
22752
23771
  }
22753
- ]
23772
+ ],
23773
+ "x-mcp-exposure": "allow"
22754
23774
  }
22755
23775
  },
22756
23776
  "/vm-templates/{id}/vdis": {
@@ -22861,7 +23881,8 @@
22861
23881
  },
22862
23882
  "example": 42
22863
23883
  }
22864
- ]
23884
+ ],
23885
+ "x-mcp-exposure": "allow"
22865
23886
  }
22866
23887
  },
22867
23888
  "/vm-templates/{id}/messages": {
@@ -22980,7 +24001,8 @@
22980
24001
  },
22981
24002
  "example": 42
22982
24003
  }
22983
- ]
24004
+ ],
24005
+ "x-mcp-exposure": "allow"
22984
24006
  }
22985
24007
  },
22986
24008
  "/vm-templates/{id}/tasks": {
@@ -23109,7 +24131,8 @@
23109
24131
  },
23110
24132
  "example": 42
23111
24133
  }
23112
- ]
24134
+ ],
24135
+ "x-mcp-exposure": "allow"
23113
24136
  }
23114
24137
  },
23115
24138
  "/vm-templates/{id}/tags/{tag}": {
@@ -23160,7 +24183,8 @@
23160
24183
  },
23161
24184
  "example": "from-rest-api"
23162
24185
  }
23163
- ]
24186
+ ],
24187
+ "x-mcp-exposure": "confirm"
23164
24188
  },
23165
24189
  "delete": {
23166
24190
  "operationId": "DeleteVmTemplateTag",
@@ -23209,7 +24233,8 @@
23209
24233
  },
23210
24234
  "example": "from-rest-api"
23211
24235
  }
23212
- ]
24236
+ ],
24237
+ "x-mcp-exposure": "confirm"
23213
24238
  }
23214
24239
  },
23215
24240
  "/vm-snapshots": {
@@ -23313,7 +24338,8 @@
23313
24338
  },
23314
24339
  "example": 42
23315
24340
  }
23316
- ]
24341
+ ],
24342
+ "x-mcp-exposure": "allow"
23317
24343
  }
23318
24344
  },
23319
24345
  "/vm-snapshots/{id}.{format}": {
@@ -23386,7 +24412,8 @@
23386
24412
  "type": "boolean"
23387
24413
  }
23388
24414
  }
23389
- ]
24415
+ ],
24416
+ "x-mcp-exposure": "deny"
23390
24417
  }
23391
24418
  },
23392
24419
  "/vm-snapshots/{id}": {
@@ -23623,7 +24650,8 @@
23623
24650
  },
23624
24651
  "example": "d68fca2c-41e6-be87-d790-105c1642a090"
23625
24652
  }
23626
- ]
24653
+ ],
24654
+ "x-mcp-exposure": "allow"
23627
24655
  },
23628
24656
  "delete": {
23629
24657
  "operationId": "DeleteVmSnapshot",
@@ -23666,7 +24694,8 @@
23666
24694
  },
23667
24695
  "example": "d68fca2c-41e6-be87-d790-105c1642a090"
23668
24696
  }
23669
- ]
24697
+ ],
24698
+ "x-mcp-exposure": "confirm"
23670
24699
  }
23671
24700
  },
23672
24701
  "/vm-snapshots/{id}/alarms": {
@@ -23775,7 +24804,8 @@
23775
24804
  },
23776
24805
  "example": 42
23777
24806
  }
23778
- ]
24807
+ ],
24808
+ "x-mcp-exposure": "allow"
23779
24809
  }
23780
24810
  },
23781
24811
  "/vm-snapshots/{id}/vdis": {
@@ -23886,7 +24916,8 @@
23886
24916
  },
23887
24917
  "example": 42
23888
24918
  }
23889
- ]
24919
+ ],
24920
+ "x-mcp-exposure": "allow"
23890
24921
  }
23891
24922
  },
23892
24923
  "/vm-snapshots/{id}/messages": {
@@ -24005,7 +25036,8 @@
24005
25036
  },
24006
25037
  "example": 42
24007
25038
  }
24008
- ]
25039
+ ],
25040
+ "x-mcp-exposure": "allow"
24009
25041
  }
24010
25042
  },
24011
25043
  "/vm-snapshots/{id}/tasks": {
@@ -24134,7 +25166,8 @@
24134
25166
  },
24135
25167
  "example": 42
24136
25168
  }
24137
- ]
25169
+ ],
25170
+ "x-mcp-exposure": "allow"
24138
25171
  }
24139
25172
  },
24140
25173
  "/vm-snapshots/{id}/tags/{tag}": {
@@ -24185,7 +25218,8 @@
24185
25218
  },
24186
25219
  "example": "from-rest-api"
24187
25220
  }
24188
- ]
25221
+ ],
25222
+ "x-mcp-exposure": "confirm"
24189
25223
  },
24190
25224
  "delete": {
24191
25225
  "operationId": "DeleteVmSnapshotTag",
@@ -24234,7 +25268,8 @@
24234
25268
  },
24235
25269
  "example": "from-rest-api"
24236
25270
  }
24237
- ]
25271
+ ],
25272
+ "x-mcp-exposure": "confirm"
24238
25273
  }
24239
25274
  },
24240
25275
  "/vm-controllers": {
@@ -24336,7 +25371,8 @@
24336
25371
  },
24337
25372
  "example": 42
24338
25373
  }
24339
- ]
25374
+ ],
25375
+ "x-mcp-exposure": "allow"
24340
25376
  }
24341
25377
  },
24342
25378
  "/vm-controllers/{id}": {
@@ -24450,7 +25486,8 @@
24450
25486
  },
24451
25487
  "example": "9b4775bd-9493-490a-9afa-f786a44caa4f"
24452
25488
  }
24453
- ]
25489
+ ],
25490
+ "x-mcp-exposure": "allow"
24454
25491
  }
24455
25492
  },
24456
25493
  "/vm-controllers/{id}/alarms": {
@@ -24559,7 +25596,8 @@
24559
25596
  },
24560
25597
  "example": 42
24561
25598
  }
24562
- ]
25599
+ ],
25600
+ "x-mcp-exposure": "allow"
24563
25601
  }
24564
25602
  },
24565
25603
  "/vm-controllers/{id}/vdis": {
@@ -24670,7 +25708,8 @@
24670
25708
  },
24671
25709
  "example": 42
24672
25710
  }
24673
- ]
25711
+ ],
25712
+ "x-mcp-exposure": "allow"
24674
25713
  }
24675
25714
  },
24676
25715
  "/vm-controllers/{id}/messages": {
@@ -24789,7 +25828,8 @@
24789
25828
  },
24790
25829
  "example": 42
24791
25830
  }
24792
- ]
25831
+ ],
25832
+ "x-mcp-exposure": "allow"
24793
25833
  }
24794
25834
  },
24795
25835
  "/vm-controllers/{id}/tasks": {
@@ -24918,7 +25958,8 @@
24918
25958
  },
24919
25959
  "example": 42
24920
25960
  }
24921
- ]
25961
+ ],
25962
+ "x-mcp-exposure": "allow"
24922
25963
  }
24923
25964
  },
24924
25965
  "/vm-controllers/{id}/tags/{tag}": {
@@ -24969,7 +26010,8 @@
24969
26010
  },
24970
26011
  "example": "from-rest-api"
24971
26012
  }
24972
- ]
26013
+ ],
26014
+ "x-mcp-exposure": "confirm"
24973
26015
  },
24974
26016
  "delete": {
24975
26017
  "operationId": "DeleteVmControllerTag",
@@ -25018,7 +26060,8 @@
25018
26060
  },
25019
26061
  "example": "from-rest-api"
25020
26062
  }
25021
- ]
26063
+ ],
26064
+ "x-mcp-exposure": "confirm"
25022
26065
  }
25023
26066
  },
25024
26067
  "/vifs": {
@@ -25122,7 +26165,8 @@
25122
26165
  },
25123
26166
  "example": 42
25124
26167
  }
25125
- ]
26168
+ ],
26169
+ "x-mcp-exposure": "allow"
25126
26170
  },
25127
26171
  "post": {
25128
26172
  "operationId": "CreateVif",
@@ -25197,7 +26241,8 @@
25197
26241
  }
25198
26242
  }
25199
26243
  }
25200
- }
26244
+ },
26245
+ "x-mcp-exposure": "confirm"
25201
26246
  }
25202
26247
  },
25203
26248
  "/vifs/{id}": {
@@ -25269,7 +26314,8 @@
25269
26314
  },
25270
26315
  "example": "f028c5d4-578a-332c-394e-087aaca32dd3"
25271
26316
  }
25272
- ]
26317
+ ],
26318
+ "x-mcp-exposure": "allow"
25273
26319
  },
25274
26320
  "delete": {
25275
26321
  "operationId": "DestroyVif",
@@ -25308,7 +26354,8 @@
25308
26354
  },
25309
26355
  "example": "6b6ca0f5-6611-0636-4b0a-1fb1c1e96414"
25310
26356
  }
25311
- ]
26357
+ ],
26358
+ "x-mcp-exposure": "confirm"
25312
26359
  }
25313
26360
  },
25314
26361
  "/vifs/{id}/alarms": {
@@ -25417,7 +26464,8 @@
25417
26464
  },
25418
26465
  "example": 42
25419
26466
  }
25420
- ]
26467
+ ],
26468
+ "x-mcp-exposure": "allow"
25421
26469
  }
25422
26470
  },
25423
26471
  "/vifs/{id}/messages": {
@@ -25536,7 +26584,8 @@
25536
26584
  },
25537
26585
  "example": 42
25538
26586
  }
25539
- ]
26587
+ ],
26588
+ "x-mcp-exposure": "allow"
25540
26589
  }
25541
26590
  },
25542
26591
  "/vifs/{id}/tasks": {
@@ -25665,7 +26714,8 @@
25665
26714
  },
25666
26715
  "example": 42
25667
26716
  }
25668
- ]
26717
+ ],
26718
+ "x-mcp-exposure": "allow"
25669
26719
  }
25670
26720
  },
25671
26721
  "/vifs/{id}/actions/connect": {
@@ -25732,7 +26782,8 @@
25732
26782
  "type": "boolean"
25733
26783
  }
25734
26784
  }
25735
- ]
26785
+ ],
26786
+ "x-mcp-exposure": "confirm"
25736
26787
  }
25737
26788
  },
25738
26789
  "/vifs/{id}/actions/disconnect": {
@@ -25799,7 +26850,8 @@
25799
26850
  "type": "boolean"
25800
26851
  }
25801
26852
  }
25802
- ]
26853
+ ],
26854
+ "x-mcp-exposure": "confirm"
25803
26855
  }
25804
26856
  },
25805
26857
  "/vdis": {
@@ -25952,7 +27004,8 @@
25952
27004
  },
25953
27005
  "example": 42
25954
27006
  }
25955
- ]
27007
+ ],
27008
+ "x-mcp-exposure": "allow"
25956
27009
  },
25957
27010
  "post": {
25958
27011
  "operationId": "CreateVdi",
@@ -26019,7 +27072,8 @@
26019
27072
  }
26020
27073
  }
26021
27074
  }
26022
- }
27075
+ },
27076
+ "x-mcp-exposure": "confirm"
26023
27077
  }
26024
27078
  },
26025
27079
  "/vdis/{id}": {
@@ -26095,7 +27149,8 @@
26095
27149
  },
26096
27150
  "example": "c77f9955-c1d2-4b39-aa1c-73cdb2dacb7e"
26097
27151
  }
26098
- ]
27152
+ ],
27153
+ "x-mcp-exposure": "allow"
26099
27154
  },
26100
27155
  "delete": {
26101
27156
  "operationId": "DeleteVdi",
@@ -26135,7 +27190,8 @@
26135
27190
  },
26136
27191
  "example": "c77f9955-c1d2-4b39-aa1c-73cdb2dacb7e"
26137
27192
  }
26138
- ]
27193
+ ],
27194
+ "x-mcp-exposure": "confirm"
26139
27195
  }
26140
27196
  },
26141
27197
  "/vdis/{id}/alarms": {
@@ -26244,7 +27300,8 @@
26244
27300
  },
26245
27301
  "example": 42
26246
27302
  }
26247
- ]
27303
+ ],
27304
+ "x-mcp-exposure": "allow"
26248
27305
  }
26249
27306
  },
26250
27307
  "/vdis/{id}/messages": {
@@ -26363,7 +27420,8 @@
26363
27420
  },
26364
27421
  "example": 42
26365
27422
  }
26366
- ]
27423
+ ],
27424
+ "x-mcp-exposure": "allow"
26367
27425
  }
26368
27426
  },
26369
27427
  "/vdis/{id}/tasks": {
@@ -26492,7 +27550,8 @@
26492
27550
  },
26493
27551
  "example": 42
26494
27552
  }
26495
- ]
27553
+ ],
27554
+ "x-mcp-exposure": "allow"
26496
27555
  }
26497
27556
  },
26498
27557
  "/vdis/{id}/actions/migrate": {
@@ -26585,7 +27644,8 @@
26585
27644
  }
26586
27645
  }
26587
27646
  }
26588
- }
27647
+ },
27648
+ "x-mcp-exposure": "confirm"
26589
27649
  }
26590
27650
  },
26591
27651
  "/vdis/{id}/tags/{tag}": {
@@ -26636,7 +27696,8 @@
26636
27696
  },
26637
27697
  "example": "from-rest-api"
26638
27698
  }
26639
- ]
27699
+ ],
27700
+ "x-mcp-exposure": "confirm"
26640
27701
  },
26641
27702
  "delete": {
26642
27703
  "operationId": "DeleteVdiTag",
@@ -26685,7 +27746,8 @@
26685
27746
  },
26686
27747
  "example": "from-rest-api"
26687
27748
  }
26688
- ]
27749
+ ],
27750
+ "x-mcp-exposure": "confirm"
26689
27751
  }
26690
27752
  },
26691
27753
  "/vdi-snapshots": {
@@ -26788,7 +27850,8 @@
26788
27850
  },
26789
27851
  "example": 42
26790
27852
  }
26791
- ]
27853
+ ],
27854
+ "x-mcp-exposure": "allow"
26792
27855
  }
26793
27856
  },
26794
27857
  "/vdi-snapshots/{id}.{format}": {
@@ -26846,7 +27909,8 @@
26846
27909
  "$ref": "#/components/schemas/Exclude_SUPPORTED_VDI_FORMAT.qcow2_"
26847
27910
  }
26848
27911
  }
26849
- ]
27912
+ ],
27913
+ "x-mcp-exposure": "deny"
26850
27914
  }
26851
27915
  },
26852
27916
  "/vdi-snapshots/{id}": {
@@ -26922,7 +27986,8 @@
26922
27986
  },
26923
27987
  "example": "d2727772-735b-478f-b6f9-11e7db56dfd0"
26924
27988
  }
26925
- ]
27989
+ ],
27990
+ "x-mcp-exposure": "allow"
26926
27991
  },
26927
27992
  "delete": {
26928
27993
  "operationId": "DeleteVdiSnapshot",
@@ -26958,7 +28023,8 @@
26958
28023
  },
26959
28024
  "example": "d2727772-735b-478f-b6f9-11e7db56dfd0"
26960
28025
  }
26961
- ]
28026
+ ],
28027
+ "x-mcp-exposure": "confirm"
26962
28028
  }
26963
28029
  },
26964
28030
  "/vdi-snapshots/{id}/alarms": {
@@ -27067,7 +28133,8 @@
27067
28133
  },
27068
28134
  "example": 42
27069
28135
  }
27070
- ]
28136
+ ],
28137
+ "x-mcp-exposure": "allow"
27071
28138
  }
27072
28139
  },
27073
28140
  "/vdi-snapshots/{id}/messages": {
@@ -27186,7 +28253,8 @@
27186
28253
  },
27187
28254
  "example": 42
27188
28255
  }
27189
- ]
28256
+ ],
28257
+ "x-mcp-exposure": "allow"
27190
28258
  }
27191
28259
  },
27192
28260
  "/vdi-snapshots/{id}/tasks": {
@@ -27315,7 +28383,8 @@
27315
28383
  },
27316
28384
  "example": 42
27317
28385
  }
27318
- ]
28386
+ ],
28387
+ "x-mcp-exposure": "allow"
27319
28388
  }
27320
28389
  },
27321
28390
  "/vdi-snapshots/{id}/tags/{tag}": {
@@ -27362,7 +28431,8 @@
27362
28431
  },
27363
28432
  "example": "from-rest-api"
27364
28433
  }
27365
- ]
28434
+ ],
28435
+ "x-mcp-exposure": "confirm"
27366
28436
  },
27367
28437
  "delete": {
27368
28438
  "operationId": "DeleteVdiSnapshotTag",
@@ -27407,7 +28477,8 @@
27407
28477
  },
27408
28478
  "example": "from-rest-api"
27409
28479
  }
27410
- ]
28480
+ ],
28481
+ "x-mcp-exposure": "confirm"
27411
28482
  }
27412
28483
  },
27413
28484
  "/vbds": {
@@ -27511,7 +28582,8 @@
27511
28582
  },
27512
28583
  "example": 42
27513
28584
  }
27514
- ]
28585
+ ],
28586
+ "x-mcp-exposure": "allow"
27515
28587
  },
27516
28588
  "post": {
27517
28589
  "operationId": "CreateVbd",
@@ -27598,7 +28670,8 @@
27598
28670
  }
27599
28671
  }
27600
28672
  }
27601
- }
28673
+ },
28674
+ "x-mcp-exposure": "confirm"
27602
28675
  }
27603
28676
  },
27604
28677
  "/vbds/{id}": {
@@ -27667,7 +28740,8 @@
27667
28740
  },
27668
28741
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
27669
28742
  }
27670
- ]
28743
+ ],
28744
+ "x-mcp-exposure": "allow"
27671
28745
  },
27672
28746
  "delete": {
27673
28747
  "operationId": "DeleteVbd",
@@ -27704,7 +28778,8 @@
27704
28778
  },
27705
28779
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
27706
28780
  }
27707
- ]
28781
+ ],
28782
+ "x-mcp-exposure": "confirm"
27708
28783
  }
27709
28784
  },
27710
28785
  "/vbds/{id}/alarms": {
@@ -27813,7 +28888,8 @@
27813
28888
  },
27814
28889
  "example": 42
27815
28890
  }
27816
- ]
28891
+ ],
28892
+ "x-mcp-exposure": "allow"
27817
28893
  }
27818
28894
  },
27819
28895
  "/vbds/{id}/messages": {
@@ -27932,7 +29008,8 @@
27932
29008
  },
27933
29009
  "example": 42
27934
29010
  }
27935
- ]
29011
+ ],
29012
+ "x-mcp-exposure": "allow"
27936
29013
  }
27937
29014
  },
27938
29015
  "/vbds/{id}/tasks": {
@@ -28061,7 +29138,8 @@
28061
29138
  },
28062
29139
  "example": 42
28063
29140
  }
28064
- ]
29141
+ ],
29142
+ "x-mcp-exposure": "allow"
28065
29143
  }
28066
29144
  },
28067
29145
  "/vbds/{id}/actions/connect": {
@@ -28128,7 +29206,8 @@
28128
29206
  "type": "boolean"
28129
29207
  }
28130
29208
  }
28131
- ]
29209
+ ],
29210
+ "x-mcp-exposure": "confirm"
28132
29211
  }
28133
29212
  },
28134
29213
  "/vbds/{id}/actions/disconnect": {
@@ -28195,7 +29274,8 @@
28195
29274
  "type": "boolean"
28196
29275
  }
28197
29276
  }
28198
- ]
29277
+ ],
29278
+ "x-mcp-exposure": "confirm"
28199
29279
  }
28200
29280
  },
28201
29281
  "/users": {
@@ -28298,7 +29378,8 @@
28298
29378
  },
28299
29379
  "example": 42
28300
29380
  }
28301
- ]
29381
+ ],
29382
+ "x-mcp-exposure": "allow"
28302
29383
  },
28303
29384
  "post": {
28304
29385
  "operationId": "CreateUser",
@@ -28384,7 +29465,8 @@
28384
29465
  }
28385
29466
  }
28386
29467
  }
28387
- }
29468
+ },
29469
+ "x-mcp-exposure": "confirm"
28388
29470
  }
28389
29471
  },
28390
29472
  "/users/{id}": {
@@ -28449,7 +29531,8 @@
28449
29531
  },
28450
29532
  "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
28451
29533
  }
28452
- ]
29534
+ ],
29535
+ "x-mcp-exposure": "allow"
28453
29536
  },
28454
29537
  "patch": {
28455
29538
  "operationId": "UpdateUser",
@@ -28508,7 +29591,8 @@
28508
29591
  }
28509
29592
  }
28510
29593
  }
28511
- }
29594
+ },
29595
+ "x-mcp-exposure": "confirm"
28512
29596
  },
28513
29597
  "delete": {
28514
29598
  "operationId": "DeleteUser",
@@ -28548,7 +29632,8 @@
28548
29632
  },
28549
29633
  "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
28550
29634
  }
28551
- ]
29635
+ ],
29636
+ "x-mcp-exposure": "confirm"
28552
29637
  }
28553
29638
  },
28554
29639
  "/users/{id}/groups": {
@@ -28670,7 +29755,8 @@
28670
29755
  },
28671
29756
  "example": 42
28672
29757
  }
28673
- ]
29758
+ ],
29759
+ "x-mcp-exposure": "allow"
28674
29760
  }
28675
29761
  },
28676
29762
  "/users/{id}/authentication_tokens": {
@@ -28779,7 +29865,8 @@
28779
29865
  },
28780
29866
  "example": 42
28781
29867
  }
28782
- ]
29868
+ ],
29869
+ "x-mcp-exposure": "allow"
28783
29870
  },
28784
29871
  "post": {
28785
29872
  "operationId": "PostAuthenticationTokens",
@@ -28893,237 +29980,240 @@
28893
29980
  }
28894
29981
  }
28895
29982
  }
28896
- }
28897
- }
28898
- },
28899
- "/users/{id}/tasks": {
28900
- "get": {
28901
- "operationId": "GetUserTasks",
28902
- "responses": {
28903
- "200": {
28904
- "description": "Ok",
28905
- "content": {
28906
- "application/json": {
28907
- "schema": {
28908
- "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoTask___"
28909
- },
28910
- "examples": {
28911
- "Example 1": {
28912
- "value": [
28913
- "/rest/v0/tasks/0mdd1basu",
28914
- "/rest/v0/tasks/0mdd1t24g"
28915
- ]
28916
- },
28917
- "Example 2": {
28918
- "value": [
28919
- {
28920
- "status": "failure",
28921
- "id": "0mdd1basu",
28922
- "properties": {
28923
- "method": "xoa.licenses.getSelf",
28924
- "params": {},
28925
- "name": "API call: xoa.licenses.getSelf",
28926
- "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
28927
- "type": "api.call"
28928
- },
28929
- "href": "/rest/v0/tasks/0mdd1basu"
28930
- },
28931
- {
28932
- "status": "failure",
28933
- "id": "0mdd1t24g",
28934
- "properties": {
28935
- "method": "xoa.licenses.getSelf",
28936
- "params": {},
28937
- "name": "API call: xoa.licenses.getSelf",
28938
- "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
28939
- "type": "api.call"
28940
- },
28941
- "href": "/rest/v0/tasks/0mdd1t24g"
28942
- }
28943
- ]
28944
- }
28945
- }
28946
- }
28947
- }
28948
- },
28949
- "400": {
28950
- "description": "Bad request"
28951
- },
28952
- "401": {
28953
- "description": "Authentication required"
28954
- },
28955
- "404": {
28956
- "description": "Resource not found"
28957
- }
28958
- },
28959
- "description": "Returns all tasks that match the following privilege:\n- resource: task, action: read",
28960
- "tags": [
28961
- "tasks",
28962
- "users"
28963
- ],
28964
- "security": [
28965
- {
28966
- "*": [
28967
- "acl"
28968
- ]
28969
- }
28970
- ],
28971
- "parameters": [
28972
- {
28973
- "in": "path",
28974
- "name": "id",
28975
- "required": true,
28976
- "schema": {
28977
- "type": "string"
28978
- },
28979
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
28980
- },
28981
- {
28982
- "in": "query",
28983
- "name": "fields",
28984
- "required": false,
28985
- "schema": {
28986
- "type": "string"
28987
- },
28988
- "example": "id,status,properties"
28989
- },
28990
- {
28991
- "in": "query",
28992
- "name": "ndjson",
28993
- "required": false,
28994
- "schema": {
28995
- "type": "boolean"
28996
- }
28997
- },
28998
- {
28999
- "in": "query",
29000
- "name": "markdown",
29001
- "required": false,
29002
- "schema": {
29003
- "type": "boolean"
29004
- }
29005
- },
29006
- {
29007
- "in": "query",
29008
- "name": "filter",
29009
- "required": false,
29010
- "schema": {
29011
- "type": "string"
29012
- },
29013
- "example": "status:failure"
29014
- },
29015
- {
29016
- "in": "query",
29017
- "name": "limit",
29018
- "required": false,
29019
- "schema": {
29020
- "format": "double",
29021
- "type": "number"
29022
- },
29023
- "example": 42
29024
- }
29025
- ]
29026
- }
29027
- },
29028
- "/users/authentication_tokens": {
29029
- "post": {
29030
- "operationId": "PostDeprecatedAuthenticationTokens",
29031
- "responses": {
29032
- "201": {
29033
- "description": "Resource created",
29034
- "content": {
29035
- "application/json": {
29036
- "schema": {
29037
- "properties": {
29038
- "token": {
29039
- "$ref": "#/components/schemas/Unbrand_XoAuthenticationToken_"
29040
- }
29041
- },
29042
- "required": [
29043
- "token"
29044
- ],
29045
- "type": "object"
29046
- },
29047
- "examples": {
29048
- "Example 1": {
29049
- "value": {
29050
- "token": {
29051
- "client": {
29052
- "id": "my-fav-client"
29053
- },
29054
- "created_at": 1760346600297,
29055
- "description": "token for CLI usage",
29056
- "id": "fhIUz8AtMLndzMd3ksfoTpHb0tWyKHmT6-M3o_hUbRg",
29057
- "user_id": "722d17b9-699b-49d2-8193-be1ac573d3de",
29058
- "expiration": 1760350200297
29059
- }
29060
- }
29061
- }
29062
- }
29063
- }
29064
- }
29065
- },
29066
- "400": {
29067
- "description": "Bad request"
29068
- },
29069
- "401": {
29070
- "description": "Authentication required"
29071
- },
29072
- "500": {
29073
- "description": "Internal server error, XenServer/XCP-ng error"
29074
- }
29075
29983
  },
29076
- "tags": [
29077
- "users"
29078
- ],
29079
- "deprecated": true,
29080
- "security": [
29081
- {
29082
- "*": []
29083
- }
29084
- ],
29085
- "parameters": [],
29086
- "requestBody": {
29087
- "required": true,
29088
- "content": {
29089
- "application/json": {
29090
- "schema": {
29091
- "properties": {
29092
- "expiresIn": {
29093
- "anyOf": [
29094
- {
29095
- "type": "string"
29096
- },
29097
- {
29098
- "type": "number",
29099
- "format": "double"
29100
- }
29101
- ]
29102
- },
29103
- "description": {
29104
- "type": "string"
29105
- },
29106
- "client": {
29107
- "properties": {
29108
- "id": {
29109
- "type": "string"
29110
- }
29111
- },
29112
- "type": "object"
29113
- }
29114
- },
29115
- "type": "object"
29116
- },
29117
- "example": {
29118
- "client": {
29119
- "id": "my-fav-client"
29120
- },
29121
- "description": "token for CLI usage",
29122
- "expiresIn": "1 hour"
29123
- }
29124
- }
29125
- }
29126
- }
29984
+ "x-mcp-exposure": "confirm"
29985
+ }
29986
+ },
29987
+ "/users/{id}/tasks": {
29988
+ "get": {
29989
+ "operationId": "GetUserTasks",
29990
+ "responses": {
29991
+ "200": {
29992
+ "description": "Ok",
29993
+ "content": {
29994
+ "application/json": {
29995
+ "schema": {
29996
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoTask___"
29997
+ },
29998
+ "examples": {
29999
+ "Example 1": {
30000
+ "value": [
30001
+ "/rest/v0/tasks/0mdd1basu",
30002
+ "/rest/v0/tasks/0mdd1t24g"
30003
+ ]
30004
+ },
30005
+ "Example 2": {
30006
+ "value": [
30007
+ {
30008
+ "status": "failure",
30009
+ "id": "0mdd1basu",
30010
+ "properties": {
30011
+ "method": "xoa.licenses.getSelf",
30012
+ "params": {},
30013
+ "name": "API call: xoa.licenses.getSelf",
30014
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
30015
+ "type": "api.call"
30016
+ },
30017
+ "href": "/rest/v0/tasks/0mdd1basu"
30018
+ },
30019
+ {
30020
+ "status": "failure",
30021
+ "id": "0mdd1t24g",
30022
+ "properties": {
30023
+ "method": "xoa.licenses.getSelf",
30024
+ "params": {},
30025
+ "name": "API call: xoa.licenses.getSelf",
30026
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
30027
+ "type": "api.call"
30028
+ },
30029
+ "href": "/rest/v0/tasks/0mdd1t24g"
30030
+ }
30031
+ ]
30032
+ }
30033
+ }
30034
+ }
30035
+ }
30036
+ },
30037
+ "400": {
30038
+ "description": "Bad request"
30039
+ },
30040
+ "401": {
30041
+ "description": "Authentication required"
30042
+ },
30043
+ "404": {
30044
+ "description": "Resource not found"
30045
+ }
30046
+ },
30047
+ "description": "Returns all tasks that match the following privilege:\n- resource: task, action: read",
30048
+ "tags": [
30049
+ "tasks",
30050
+ "users"
30051
+ ],
30052
+ "security": [
30053
+ {
30054
+ "*": [
30055
+ "acl"
30056
+ ]
30057
+ }
30058
+ ],
30059
+ "parameters": [
30060
+ {
30061
+ "in": "path",
30062
+ "name": "id",
30063
+ "required": true,
30064
+ "schema": {
30065
+ "type": "string"
30066
+ },
30067
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
30068
+ },
30069
+ {
30070
+ "in": "query",
30071
+ "name": "fields",
30072
+ "required": false,
30073
+ "schema": {
30074
+ "type": "string"
30075
+ },
30076
+ "example": "id,status,properties"
30077
+ },
30078
+ {
30079
+ "in": "query",
30080
+ "name": "ndjson",
30081
+ "required": false,
30082
+ "schema": {
30083
+ "type": "boolean"
30084
+ }
30085
+ },
30086
+ {
30087
+ "in": "query",
30088
+ "name": "markdown",
30089
+ "required": false,
30090
+ "schema": {
30091
+ "type": "boolean"
30092
+ }
30093
+ },
30094
+ {
30095
+ "in": "query",
30096
+ "name": "filter",
30097
+ "required": false,
30098
+ "schema": {
30099
+ "type": "string"
30100
+ },
30101
+ "example": "status:failure"
30102
+ },
30103
+ {
30104
+ "in": "query",
30105
+ "name": "limit",
30106
+ "required": false,
30107
+ "schema": {
30108
+ "format": "double",
30109
+ "type": "number"
30110
+ },
30111
+ "example": 42
30112
+ }
30113
+ ],
30114
+ "x-mcp-exposure": "allow"
30115
+ }
30116
+ },
30117
+ "/users/authentication_tokens": {
30118
+ "post": {
30119
+ "operationId": "PostDeprecatedAuthenticationTokens",
30120
+ "responses": {
30121
+ "201": {
30122
+ "description": "Resource created",
30123
+ "content": {
30124
+ "application/json": {
30125
+ "schema": {
30126
+ "properties": {
30127
+ "token": {
30128
+ "$ref": "#/components/schemas/Unbrand_XoAuthenticationToken_"
30129
+ }
30130
+ },
30131
+ "required": [
30132
+ "token"
30133
+ ],
30134
+ "type": "object"
30135
+ },
30136
+ "examples": {
30137
+ "Example 1": {
30138
+ "value": {
30139
+ "token": {
30140
+ "client": {
30141
+ "id": "my-fav-client"
30142
+ },
30143
+ "created_at": 1760346600297,
30144
+ "description": "token for CLI usage",
30145
+ "id": "fhIUz8AtMLndzMd3ksfoTpHb0tWyKHmT6-M3o_hUbRg",
30146
+ "user_id": "722d17b9-699b-49d2-8193-be1ac573d3de",
30147
+ "expiration": 1760350200297
30148
+ }
30149
+ }
30150
+ }
30151
+ }
30152
+ }
30153
+ }
30154
+ },
30155
+ "400": {
30156
+ "description": "Bad request"
30157
+ },
30158
+ "401": {
30159
+ "description": "Authentication required"
30160
+ },
30161
+ "500": {
30162
+ "description": "Internal server error, XenServer/XCP-ng error"
30163
+ }
30164
+ },
30165
+ "tags": [
30166
+ "users"
30167
+ ],
30168
+ "deprecated": true,
30169
+ "security": [
30170
+ {
30171
+ "*": []
30172
+ }
30173
+ ],
30174
+ "parameters": [],
30175
+ "requestBody": {
30176
+ "required": true,
30177
+ "content": {
30178
+ "application/json": {
30179
+ "schema": {
30180
+ "properties": {
30181
+ "expiresIn": {
30182
+ "anyOf": [
30183
+ {
30184
+ "type": "string"
30185
+ },
30186
+ {
30187
+ "type": "number",
30188
+ "format": "double"
30189
+ }
30190
+ ]
30191
+ },
30192
+ "description": {
30193
+ "type": "string"
30194
+ },
30195
+ "client": {
30196
+ "properties": {
30197
+ "id": {
30198
+ "type": "string"
30199
+ }
30200
+ },
30201
+ "type": "object"
30202
+ }
30203
+ },
30204
+ "type": "object"
30205
+ },
30206
+ "example": {
30207
+ "client": {
30208
+ "id": "my-fav-client"
30209
+ },
30210
+ "description": "token for CLI usage",
30211
+ "expiresIn": "1 hour"
30212
+ }
30213
+ }
30214
+ }
30215
+ },
30216
+ "x-mcp-exposure": "confirm"
29127
30217
  }
29128
30218
  },
29129
30219
  "/users/{id}/acl-privileges": {
@@ -29176,7 +30266,7 @@
29176
30266
  },
29177
30267
  "description": "Returns all ACL privileges that match the following privilege:\n- resource: acl-privilege, action: read (if not self)",
29178
30268
  "tags": [
29179
- "acls",
30269
+ "rbacs",
29180
30270
  "users"
29181
30271
  ],
29182
30272
  "security": [
@@ -29232,7 +30322,8 @@
29232
30322
  },
29233
30323
  "example": 42
29234
30324
  }
29235
- ]
30325
+ ],
30326
+ "x-mcp-exposure": "allow"
29236
30327
  }
29237
30328
  },
29238
30329
  "/tasks": {
@@ -29356,7 +30447,8 @@
29356
30447
  },
29357
30448
  "example": 42
29358
30449
  }
29359
- ]
30450
+ ],
30451
+ "x-mcp-exposure": "allow"
29360
30452
  },
29361
30453
  "delete": {
29362
30454
  "operationId": "DeleteTasks",
@@ -29382,7 +30474,8 @@
29382
30474
  ]
29383
30475
  }
29384
30476
  ],
29385
- "parameters": []
30477
+ "parameters": [],
30478
+ "x-mcp-exposure": "confirm"
29386
30479
  }
29387
30480
  },
29388
30481
  "/tasks/{id}": {
@@ -29462,7 +30555,8 @@
29462
30555
  "type": "boolean"
29463
30556
  }
29464
30557
  }
29465
- ]
30558
+ ],
30559
+ "x-mcp-exposure": "allow"
29466
30560
  },
29467
30561
  "delete": {
29468
30562
  "operationId": "DeleteTask",
@@ -29502,7 +30596,8 @@
29502
30596
  },
29503
30597
  "example": "0mdd1basu"
29504
30598
  }
29505
- ]
30599
+ ],
30600
+ "x-mcp-exposure": "confirm"
29506
30601
  }
29507
30602
  },
29508
30603
  "/tasks/{id}/actions/abort": {
@@ -29569,7 +30664,8 @@
29569
30664
  "type": "boolean"
29570
30665
  }
29571
30666
  }
29572
- ]
30667
+ ],
30668
+ "x-mcp-exposure": "confirm"
29573
30669
  }
29574
30670
  },
29575
30671
  "/srs": {
@@ -29685,7 +30781,8 @@
29685
30781
  },
29686
30782
  "example": 42
29687
30783
  }
29688
- ]
30784
+ ],
30785
+ "x-mcp-exposure": "allow"
29689
30786
  }
29690
30787
  },
29691
30788
  "/srs/{id}": {
@@ -29791,7 +30888,8 @@
29791
30888
  },
29792
30889
  "example": "c4284e12-37c9-7967-b9e8-83ef229c3e03"
29793
30890
  }
29794
- ]
30891
+ ],
30892
+ "x-mcp-exposure": "allow"
29795
30893
  },
29796
30894
  "delete": {
29797
30895
  "operationId": "DeleteSr",
@@ -29831,7 +30929,8 @@
29831
30929
  },
29832
30930
  "example": "c4284e12-37c9-7967-b9e8-83ef229c3e03"
29833
30931
  }
29834
- ]
30932
+ ],
30933
+ "x-mcp-exposure": "confirm"
29835
30934
  }
29836
30935
  },
29837
30936
  "/srs/{id}/alarms": {
@@ -29940,7 +31039,8 @@
29940
31039
  },
29941
31040
  "example": 42
29942
31041
  }
29943
- ]
31042
+ ],
31043
+ "x-mcp-exposure": "allow"
29944
31044
  }
29945
31045
  },
29946
31046
  "/srs/{id}/messages": {
@@ -30059,7 +31159,8 @@
30059
31159
  },
30060
31160
  "example": 42
30061
31161
  }
30062
- ]
31162
+ ],
31163
+ "x-mcp-exposure": "allow"
30063
31164
  }
30064
31165
  },
30065
31166
  "/srs/{id}/tasks": {
@@ -30188,7 +31289,8 @@
30188
31289
  },
30189
31290
  "example": 42
30190
31291
  }
30191
- ]
31292
+ ],
31293
+ "x-mcp-exposure": "allow"
30192
31294
  }
30193
31295
  },
30194
31296
  "/srs/{id}/tags/{tag}": {
@@ -30239,7 +31341,8 @@
30239
31341
  },
30240
31342
  "example": "from-rest-api"
30241
31343
  }
30242
- ]
31344
+ ],
31345
+ "x-mcp-exposure": "confirm"
30243
31346
  },
30244
31347
  "delete": {
30245
31348
  "operationId": "DeleteSrTag",
@@ -30288,7 +31391,8 @@
30288
31391
  },
30289
31392
  "example": "from-rest-api"
30290
31393
  }
30291
- ]
31394
+ ],
31395
+ "x-mcp-exposure": "confirm"
30292
31396
  }
30293
31397
  },
30294
31398
  "/srs/{id}/actions/reclaim_space": {
@@ -30357,7 +31461,8 @@
30357
31461
  "type": "boolean"
30358
31462
  }
30359
31463
  }
30360
- ]
31464
+ ],
31465
+ "x-mcp-exposure": "confirm"
30361
31466
  }
30362
31467
  },
30363
31468
  "/srs/{id}/actions/scan": {
@@ -30426,7 +31531,8 @@
30426
31531
  "type": "boolean"
30427
31532
  }
30428
31533
  }
30429
- ]
31534
+ ],
31535
+ "x-mcp-exposure": "confirm"
30430
31536
  }
30431
31537
  },
30432
31538
  "/srs/{id}/actions/forget": {
@@ -30495,7 +31601,8 @@
30495
31601
  "type": "boolean"
30496
31602
  }
30497
31603
  }
30498
- ]
31604
+ ],
31605
+ "x-mcp-exposure": "confirm"
30499
31606
  }
30500
31607
  },
30501
31608
  "/sms": {
@@ -30599,7 +31706,8 @@
30599
31706
  },
30600
31707
  "example": 42
30601
31708
  }
30602
- ]
31709
+ ],
31710
+ "x-mcp-exposure": "allow"
30603
31711
  }
30604
31712
  },
30605
31713
  "/sms/{id}": {
@@ -30689,7 +31797,8 @@
30689
31797
  },
30690
31798
  "example": "c4284e12-37c9-7967-b9e8-83ef229c3e03"
30691
31799
  }
30692
- ]
31800
+ ],
31801
+ "x-mcp-exposure": "allow"
30693
31802
  }
30694
31803
  },
30695
31804
  "/servers": {
@@ -30791,7 +31900,8 @@
30791
31900
  },
30792
31901
  "example": 42
30793
31902
  }
30794
- ]
31903
+ ],
31904
+ "x-mcp-exposure": "allow"
30795
31905
  },
30796
31906
  "post": {
30797
31907
  "operationId": "AddServer",
@@ -30863,7 +31973,8 @@
30863
31973
  }
30864
31974
  }
30865
31975
  }
30866
- }
31976
+ },
31977
+ "x-mcp-exposure": "confirm"
30867
31978
  }
30868
31979
  },
30869
31980
  "/servers/{id}": {
@@ -30928,7 +32039,8 @@
30928
32039
  },
30929
32040
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
30930
32041
  }
30931
- ]
32042
+ ],
32043
+ "x-mcp-exposure": "allow"
30932
32044
  },
30933
32045
  "delete": {
30934
32046
  "operationId": "DeleteServer",
@@ -30968,7 +32080,8 @@
30968
32080
  },
30969
32081
  "example": "f07ab729-c0e8-721c-45ec-f11276377030"
30970
32082
  }
30971
- ]
32083
+ ],
32084
+ "x-mcp-exposure": "confirm"
30972
32085
  }
30973
32086
  },
30974
32087
  "/servers/{id}/actions/connect": {
@@ -31038,7 +32151,8 @@
31038
32151
  "type": "boolean"
31039
32152
  }
31040
32153
  }
31041
- ]
32154
+ ],
32155
+ "x-mcp-exposure": "confirm"
31042
32156
  }
31043
32157
  },
31044
32158
  "/servers/{id}/actions/disconnect": {
@@ -31108,7 +32222,8 @@
31108
32222
  "type": "boolean"
31109
32223
  }
31110
32224
  }
31111
- ]
32225
+ ],
32226
+ "x-mcp-exposure": "confirm"
31112
32227
  }
31113
32228
  },
31114
32229
  "/servers/{id}/tasks": {
@@ -31237,7 +32352,8 @@
31237
32352
  },
31238
32353
  "example": 42
31239
32354
  }
31240
- ]
32355
+ ],
32356
+ "x-mcp-exposure": "allow"
31241
32357
  }
31242
32358
  },
31243
32359
  "/schedules": {
@@ -31343,7 +32459,8 @@
31343
32459
  },
31344
32460
  "example": 42
31345
32461
  }
31346
- ]
32462
+ ],
32463
+ "x-mcp-exposure": "allow"
31347
32464
  }
31348
32465
  },
31349
32466
  "/schedules/{id}": {
@@ -31405,7 +32522,8 @@
31405
32522
  },
31406
32523
  "example": "cf7249f8-d20b-494f-97f4-b1f32f94e780"
31407
32524
  }
31408
- ]
32525
+ ],
32526
+ "x-mcp-exposure": "allow"
31409
32527
  }
31410
32528
  },
31411
32529
  "/schedules/{id}/actions/run": {
@@ -31475,7 +32593,8 @@
31475
32593
  "type": "boolean"
31476
32594
  }
31477
32595
  }
31478
- ]
32596
+ ],
32597
+ "x-mcp-exposure": "confirm"
31479
32598
  }
31480
32599
  },
31481
32600
  "/restore-logs": {
@@ -31587,7 +32706,8 @@
31587
32706
  },
31588
32707
  "example": 42
31589
32708
  }
31590
- ]
32709
+ ],
32710
+ "x-mcp-exposure": "allow"
31591
32711
  }
31592
32712
  },
31593
32713
  "/restore-logs/{id}": {
@@ -31670,7 +32790,8 @@
31670
32790
  },
31671
32791
  "example": "1758180544428"
31672
32792
  }
31673
- ]
32793
+ ],
32794
+ "x-mcp-exposure": "allow"
31674
32795
  }
31675
32796
  },
31676
32797
  "/restore/logs": {
@@ -31781,7 +32902,8 @@
31781
32902
  },
31782
32903
  "example": 42
31783
32904
  }
31784
- ]
32905
+ ],
32906
+ "x-mcp-exposure": "allow"
31785
32907
  }
31786
32908
  },
31787
32909
  "/restore/logs/{id}": {
@@ -31858,7 +32980,8 @@
31858
32980
  },
31859
32981
  "example": "1758180544428"
31860
32982
  }
31861
- ]
32983
+ ],
32984
+ "x-mcp-exposure": "allow"
31862
32985
  }
31863
32986
  },
31864
32987
  "/proxies": {
@@ -31962,7 +33085,8 @@
31962
33085
  },
31963
33086
  "example": 42
31964
33087
  }
31965
- ]
33088
+ ],
33089
+ "x-mcp-exposure": "allow"
31966
33090
  }
31967
33091
  },
31968
33092
  "/proxies/{id}": {
@@ -32022,7 +33146,8 @@
32022
33146
  },
32023
33147
  "example": "e625ea0c-a876-405a-b838-109d762efe88"
32024
33148
  }
32025
- ]
33149
+ ],
33150
+ "x-mcp-exposure": "allow"
32026
33151
  }
32027
33152
  },
32028
33153
  "/pools": {
@@ -32126,7 +33251,8 @@
32126
33251
  },
32127
33252
  "example": 42
32128
33253
  }
32129
- ]
33254
+ ],
33255
+ "x-mcp-exposure": "allow"
32130
33256
  }
32131
33257
  },
32132
33258
  "/pools/{id}": {
@@ -32230,7 +33356,8 @@
32230
33356
  },
32231
33357
  "example": "355ee47d-ff4c-4924-3db2-fd86ae629676"
32232
33358
  }
32233
- ]
33359
+ ],
33360
+ "x-mcp-exposure": "allow"
32234
33361
  }
32235
33362
  },
32236
33363
  "/pools/{id}/actions/create_network": {
@@ -32325,7 +33452,8 @@
32325
33452
  }
32326
33453
  }
32327
33454
  }
32328
- }
33455
+ },
33456
+ "x-mcp-exposure": "confirm"
32329
33457
  }
32330
33458
  },
32331
33459
  "/pools/{id}/actions/create_bonded_network": {
@@ -32419,7 +33547,8 @@
32419
33547
  }
32420
33548
  }
32421
33549
  }
32422
- }
33550
+ },
33551
+ "x-mcp-exposure": "confirm"
32423
33552
  }
32424
33553
  },
32425
33554
  "/pools/{id}/actions/create_internal_network": {
@@ -32508,7 +33637,8 @@
32508
33637
  }
32509
33638
  }
32510
33639
  }
32511
- }
33640
+ },
33641
+ "x-mcp-exposure": "confirm"
32512
33642
  }
32513
33643
  },
32514
33644
  "/pools/{id}/actions/emergency_shutdown": {
@@ -32575,7 +33705,8 @@
32575
33705
  "type": "boolean"
32576
33706
  }
32577
33707
  }
32578
- ]
33708
+ ],
33709
+ "x-mcp-exposure": "confirm"
32579
33710
  }
32580
33711
  },
32581
33712
  "/pools/{id}/actions/rolling_reboot": {
@@ -32642,7 +33773,8 @@
32642
33773
  "type": "boolean"
32643
33774
  }
32644
33775
  }
32645
- ]
33776
+ ],
33777
+ "x-mcp-exposure": "confirm"
32646
33778
  }
32647
33779
  },
32648
33780
  "/pools/{id}/actions/rolling_update": {
@@ -32709,7 +33841,8 @@
32709
33841
  "type": "boolean"
32710
33842
  }
32711
33843
  }
32712
- ]
33844
+ ],
33845
+ "x-mcp-exposure": "confirm"
32713
33846
  }
32714
33847
  },
32715
33848
  "/pools/{id}/actions/create_vm": {
@@ -32800,7 +33933,8 @@
32800
33933
  }
32801
33934
  }
32802
33935
  }
32803
- }
33936
+ },
33937
+ "x-mcp-exposure": "confirm"
32804
33938
  }
32805
33939
  },
32806
33940
  "/pools/{id}/stats": {
@@ -34836,7 +35970,8 @@
34836
35970
  "$ref": "#/components/schemas/XapiStatsGranularity"
34837
35971
  }
34838
35972
  }
34839
- ]
35973
+ ],
35974
+ "x-mcp-exposure": "deny"
34840
35975
  }
34841
35976
  },
34842
35977
  "/pools/{id}/dashboard": {
@@ -35103,7 +36238,8 @@
35103
36238
  "type": "boolean"
35104
36239
  }
35105
36240
  }
35106
- ]
36241
+ ],
36242
+ "x-mcp-exposure": "allow"
35107
36243
  }
35108
36244
  },
35109
36245
  "/pools/{id}/alarms": {
@@ -35212,7 +36348,8 @@
35212
36348
  },
35213
36349
  "example": 42
35214
36350
  }
35215
- ]
36351
+ ],
36352
+ "x-mcp-exposure": "allow"
35216
36353
  }
35217
36354
  },
35218
36355
  "/pools/{id}/missing_patches": {
@@ -35308,7 +36445,8 @@
35308
36445
  },
35309
36446
  "example": "355ee47d-ff4c-4924-3db2-fd86ae629676"
35310
36447
  }
35311
- ]
36448
+ ],
36449
+ "x-mcp-exposure": "allow"
35312
36450
  }
35313
36451
  },
35314
36452
  "/pools/{id}/messages": {
@@ -35427,7 +36565,8 @@
35427
36565
  },
35428
36566
  "example": 42
35429
36567
  }
35430
- ]
36568
+ ],
36569
+ "x-mcp-exposure": "allow"
35431
36570
  }
35432
36571
  },
35433
36572
  "/pools/{id}/tags/{tag}": {
@@ -35478,7 +36617,8 @@
35478
36617
  },
35479
36618
  "example": "from-rest-api"
35480
36619
  }
35481
- ]
36620
+ ],
36621
+ "x-mcp-exposure": "confirm"
35482
36622
  },
35483
36623
  "delete": {
35484
36624
  "operationId": "DeletePoolTag",
@@ -35527,7 +36667,8 @@
35527
36667
  },
35528
36668
  "example": "from-rest-api"
35529
36669
  }
35530
- ]
36670
+ ],
36671
+ "x-mcp-exposure": "confirm"
35531
36672
  }
35532
36673
  },
35533
36674
  "/pools/{id}/tasks": {
@@ -35655,7 +36796,8 @@
35655
36796
  },
35656
36797
  "example": 42
35657
36798
  }
35658
- ]
36799
+ ],
36800
+ "x-mcp-exposure": "allow"
35659
36801
  }
35660
36802
  },
35661
36803
  "/pools/{id}/actions/management_reconfigure": {
@@ -35746,7 +36888,8 @@
35746
36888
  }
35747
36889
  }
35748
36890
  }
35749
- }
36891
+ },
36892
+ "x-mcp-exposure": "confirm"
35750
36893
  }
35751
36894
  },
35752
36895
  "/pifs": {
@@ -35852,7 +36995,8 @@
35852
36995
  },
35853
36996
  "example": 42
35854
36997
  }
35855
- ]
36998
+ ],
36999
+ "x-mcp-exposure": "allow"
35856
37000
  }
35857
37001
  },
35858
37002
  "/pifs/{id}": {
@@ -35936,7 +37080,8 @@
35936
37080
  },
35937
37081
  "example": "d9e42451-3794-089f-de81-4ee0e6137bee"
35938
37082
  }
35939
- ]
37083
+ ],
37084
+ "x-mcp-exposure": "allow"
35940
37085
  }
35941
37086
  },
35942
37087
  "/pifs/{id}/alarms": {
@@ -36045,7 +37190,8 @@
36045
37190
  },
36046
37191
  "example": 42
36047
37192
  }
36048
- ]
37193
+ ],
37194
+ "x-mcp-exposure": "allow"
36049
37195
  }
36050
37196
  },
36051
37197
  "/pifs/{id}/messages": {
@@ -36164,7 +37310,8 @@
36164
37310
  },
36165
37311
  "example": 42
36166
37312
  }
36167
- ]
37313
+ ],
37314
+ "x-mcp-exposure": "allow"
36168
37315
  }
36169
37316
  },
36170
37317
  "/pifs/{id}/tasks": {
@@ -36293,7 +37440,8 @@
36293
37440
  },
36294
37441
  "example": 42
36295
37442
  }
36296
- ]
37443
+ ],
37444
+ "x-mcp-exposure": "allow"
36297
37445
  }
36298
37446
  },
36299
37447
  "/pgpus": {
@@ -36397,7 +37545,8 @@
36397
37545
  },
36398
37546
  "example": 42
36399
37547
  }
36400
- ]
37548
+ ],
37549
+ "x-mcp-exposure": "allow"
36401
37550
  }
36402
37551
  },
36403
37552
  "/pgpus/{id}": {
@@ -36468,7 +37617,8 @@
36468
37617
  },
36469
37618
  "example": "838335fa-ee21-15e1-760a-a37a3a4ef1db"
36470
37619
  }
36471
- ]
37620
+ ],
37621
+ "x-mcp-exposure": "allow"
36472
37622
  }
36473
37623
  },
36474
37624
  "/pcis": {
@@ -36572,7 +37722,8 @@
36572
37722
  },
36573
37723
  "example": 42
36574
37724
  }
36575
- ]
37725
+ ],
37726
+ "x-mcp-exposure": "allow"
36576
37727
  }
36577
37728
  },
36578
37729
  "/pcis/{id}": {
@@ -36637,7 +37788,8 @@
36637
37788
  },
36638
37789
  "example": "9377b642-cc71-8749-1e71-308898b652da"
36639
37790
  }
36640
- ]
37791
+ ],
37792
+ "x-mcp-exposure": "allow"
36641
37793
  }
36642
37794
  },
36643
37795
  "/pbds": {
@@ -36747,7 +37899,8 @@
36747
37899
  },
36748
37900
  "example": 42
36749
37901
  }
36750
- ]
37902
+ ],
37903
+ "x-mcp-exposure": "allow"
36751
37904
  }
36752
37905
  },
36753
37906
  "/pbds/{id}": {
@@ -36817,7 +37970,8 @@
36817
37970
  },
36818
37971
  "example": "16b2a60f-7c4d-f45f-7c7a-963b06fc587d"
36819
37972
  }
36820
- ]
37973
+ ],
37974
+ "x-mcp-exposure": "allow"
36821
37975
  }
36822
37976
  },
36823
37977
  "/pbds/{id}/actions/plug": {
@@ -36886,7 +38040,8 @@
36886
38040
  "type": "boolean"
36887
38041
  }
36888
38042
  }
36889
- ]
38043
+ ],
38044
+ "x-mcp-exposure": "confirm"
36890
38045
  }
36891
38046
  },
36892
38047
  "/pbds/{id}/actions/unplug": {
@@ -36955,7 +38110,8 @@
36955
38110
  "type": "boolean"
36956
38111
  }
36957
38112
  }
36958
- ]
38113
+ ],
38114
+ "x-mcp-exposure": "confirm"
36959
38115
  }
36960
38116
  },
36961
38117
  "/networks": {
@@ -37059,7 +38215,8 @@
37059
38215
  },
37060
38216
  "example": 42
37061
38217
  }
37062
- ]
38218
+ ],
38219
+ "x-mcp-exposure": "allow"
37063
38220
  }
37064
38221
  },
37065
38222
  "/networks/{id}": {
@@ -37144,7 +38301,8 @@
37144
38301
  },
37145
38302
  "example": "9fe12ca3-d75d-cfb0-492e-cfd2bc6c568f"
37146
38303
  }
37147
- ]
38304
+ ],
38305
+ "x-mcp-exposure": "allow"
37148
38306
  },
37149
38307
  "delete": {
37150
38308
  "operationId": "DeleteNetwork",
@@ -37184,7 +38342,8 @@
37184
38342
  },
37185
38343
  "example": "9fe12ca3-d75d-cfb0-492e-cfd2bc6c568f"
37186
38344
  }
37187
- ]
38345
+ ],
38346
+ "x-mcp-exposure": "confirm"
37188
38347
  }
37189
38348
  },
37190
38349
  "/networks/{id}/alarms": {
@@ -37293,7 +38452,8 @@
37293
38452
  },
37294
38453
  "example": 42
37295
38454
  }
37296
- ]
38455
+ ],
38456
+ "x-mcp-exposure": "allow"
37297
38457
  }
37298
38458
  },
37299
38459
  "/networks/{id}/messages": {
@@ -37412,7 +38572,8 @@
37412
38572
  },
37413
38573
  "example": 42
37414
38574
  }
37415
- ]
38575
+ ],
38576
+ "x-mcp-exposure": "allow"
37416
38577
  }
37417
38578
  },
37418
38579
  "/networks/{id}/tasks": {
@@ -37541,7 +38702,8 @@
37541
38702
  },
37542
38703
  "example": 42
37543
38704
  }
37544
- ]
38705
+ ],
38706
+ "x-mcp-exposure": "allow"
37545
38707
  }
37546
38708
  },
37547
38709
  "/networks/{id}/tags/{tag}": {
@@ -37592,7 +38754,8 @@
37592
38754
  },
37593
38755
  "example": "from-rest-api"
37594
38756
  }
37595
- ]
38757
+ ],
38758
+ "x-mcp-exposure": "confirm"
37596
38759
  },
37597
38760
  "delete": {
37598
38761
  "operationId": "DeleteNetworkTag",
@@ -37641,7 +38804,8 @@
37641
38804
  },
37642
38805
  "example": "from-rest-api"
37643
38806
  }
37644
- ]
38807
+ ],
38808
+ "x-mcp-exposure": "confirm"
37645
38809
  }
37646
38810
  },
37647
38811
  "/messages": {
@@ -37747,7 +38911,8 @@
37747
38911
  },
37748
38912
  "example": 42
37749
38913
  }
37750
- ]
38914
+ ],
38915
+ "x-mcp-exposure": "allow"
37751
38916
  }
37752
38917
  },
37753
38918
  "/messages/{id}": {
@@ -37812,7 +38977,45 @@
37812
38977
  },
37813
38978
  "example": "f775eaeb-abe5-94e0-9682-14c37c3a1dfe"
37814
38979
  }
37815
- ]
38980
+ ],
38981
+ "x-mcp-exposure": "allow"
38982
+ }
38983
+ },
38984
+ "/mcp/status": {
38985
+ "get": {
38986
+ "operationId": "GetMcpStatus",
38987
+ "responses": {
38988
+ "200": {
38989
+ "description": "MCP is enabled",
38990
+ "content": {
38991
+ "application/json": {
38992
+ "schema": {
38993
+ "$ref": "#/components/schemas/McpStatus"
38994
+ },
38995
+ "examples": {
38996
+ "Example 1": {
38997
+ "value": {
38998
+ "enabled": true
38999
+ }
39000
+ }
39001
+ }
39002
+ }
39003
+ }
39004
+ },
39005
+ "503": {
39006
+ "description": "MCP is disabled by administrator"
39007
+ }
39008
+ },
39009
+ "description": "Returns whether MCP is currently enabled on this XO server.\n\nThe route is publicly reachable (no authentication required) so the\n`@xen-orchestra/mcp` binary can check the kill-switch at startup,\nbefore any credentials have been configured.",
39010
+ "tags": [
39011
+ "mcp"
39012
+ ],
39013
+ "security": [
39014
+ {
39015
+ "none": []
39016
+ }
39017
+ ],
39018
+ "parameters": []
37816
39019
  }
37817
39020
  },
37818
39021
  "/hosts": {
@@ -37916,7 +39119,8 @@
37916
39119
  },
37917
39120
  "example": 42
37918
39121
  }
37919
- ]
39122
+ ],
39123
+ "x-mcp-exposure": "allow"
37920
39124
  }
37921
39125
  },
37922
39126
  "/hosts/{id}": {
@@ -38193,7 +39397,8 @@
38193
39397
  },
38194
39398
  "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
38195
39399
  }
38196
- ]
39400
+ ],
39401
+ "x-mcp-exposure": "allow"
38197
39402
  }
38198
39403
  },
38199
39404
  "/hosts/{id}/stats": {
@@ -44414,7 +45619,8 @@
44414
45619
  "$ref": "#/components/schemas/XapiStatsGranularity"
44415
45620
  }
44416
45621
  }
44417
- ]
45622
+ ],
45623
+ "x-mcp-exposure": "deny"
44418
45624
  }
44419
45625
  },
44420
45626
  "/hosts/{id}/audit.txt": {
@@ -44459,7 +45665,8 @@
44459
45665
  },
44460
45666
  "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
44461
45667
  }
44462
- ]
45668
+ ],
45669
+ "x-mcp-exposure": "deny"
44463
45670
  }
44464
45671
  },
44465
45672
  "/hosts/{id}/logs.tgz": {
@@ -44504,7 +45711,8 @@
44504
45711
  },
44505
45712
  "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
44506
45713
  }
44507
- ]
45714
+ ],
45715
+ "x-mcp-exposure": "deny"
44508
45716
  }
44509
45717
  },
44510
45718
  "/hosts/{id}/alarms": {
@@ -44613,7 +45821,8 @@
44613
45821
  },
44614
45822
  "example": 42
44615
45823
  }
44616
- ]
45824
+ ],
45825
+ "x-mcp-exposure": "allow"
44617
45826
  }
44618
45827
  },
44619
45828
  "/hosts/{id}/smt": {
@@ -44680,7 +45889,8 @@
44680
45889
  },
44681
45890
  "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
44682
45891
  }
44683
- ]
45892
+ ],
45893
+ "x-mcp-exposure": "allow"
44684
45894
  }
44685
45895
  },
44686
45896
  "/hosts/{id}/missing_patches": {
@@ -44776,7 +45986,8 @@
44776
45986
  },
44777
45987
  "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
44778
45988
  }
44779
- ]
45989
+ ],
45990
+ "x-mcp-exposure": "allow"
44780
45991
  }
44781
45992
  },
44782
45993
  "/hosts/{id}/messages": {
@@ -44895,7 +46106,8 @@
44895
46106
  },
44896
46107
  "example": 42
44897
46108
  }
44898
- ]
46109
+ ],
46110
+ "x-mcp-exposure": "allow"
44899
46111
  }
44900
46112
  },
44901
46113
  "/hosts/{id}/tasks": {
@@ -45024,7 +46236,8 @@
45024
46236
  },
45025
46237
  "example": 42
45026
46238
  }
45027
- ]
46239
+ ],
46240
+ "x-mcp-exposure": "allow"
45028
46241
  }
45029
46242
  },
45030
46243
  "/hosts/{id}/tags/{tag}": {
@@ -45075,7 +46288,8 @@
45075
46288
  },
45076
46289
  "example": "from-rest-api"
45077
46290
  }
45078
- ]
46291
+ ],
46292
+ "x-mcp-exposure": "confirm"
45079
46293
  },
45080
46294
  "delete": {
45081
46295
  "operationId": "DeleteHostTag",
@@ -45124,7 +46338,8 @@
45124
46338
  },
45125
46339
  "example": "from-rest-api"
45126
46340
  }
45127
- ]
46341
+ ],
46342
+ "x-mcp-exposure": "confirm"
45128
46343
  }
45129
46344
  },
45130
46345
  "/hosts/{id}/actions/management_reconfigure": {
@@ -45218,7 +46433,8 @@
45218
46433
  }
45219
46434
  }
45220
46435
  }
45221
- }
46436
+ },
46437
+ "x-mcp-exposure": "confirm"
45222
46438
  }
45223
46439
  },
45224
46440
  "/hosts/{id}/actions/disable": {
@@ -45344,7 +46560,8 @@
45344
46560
  }
45345
46561
  }
45346
46562
  }
45347
- }
46563
+ },
46564
+ "x-mcp-exposure": "confirm"
45348
46565
  }
45349
46566
  },
45350
46567
  "/hosts/{id}/actions/enable": {
@@ -45414,7 +46631,8 @@
45414
46631
  "type": "boolean"
45415
46632
  }
45416
46633
  }
45417
- ]
46634
+ ],
46635
+ "x-mcp-exposure": "confirm"
45418
46636
  }
45419
46637
  },
45420
46638
  "/groups": {
@@ -45523,7 +46741,8 @@
45523
46741
  },
45524
46742
  "example": 42
45525
46743
  }
45526
- ]
46744
+ ],
46745
+ "x-mcp-exposure": "allow"
45527
46746
  },
45528
46747
  "post": {
45529
46748
  "operationId": "CreateGroup",
@@ -45599,7 +46818,8 @@
45599
46818
  }
45600
46819
  }
45601
46820
  }
45602
- }
46821
+ },
46822
+ "x-mcp-exposure": "confirm"
45603
46823
  }
45604
46824
  },
45605
46825
  "/groups/{id}": {
@@ -45659,7 +46879,8 @@
45659
46879
  },
45660
46880
  "example": "7d98fee4-3357-41a7-ac3f-9124212badb7"
45661
46881
  }
45662
- ]
46882
+ ],
46883
+ "x-mcp-exposure": "allow"
45663
46884
  },
45664
46885
  "patch": {
45665
46886
  "operationId": "UpdateGroup",
@@ -45715,7 +46936,8 @@
45715
46936
  }
45716
46937
  }
45717
46938
  }
45718
- }
46939
+ },
46940
+ "x-mcp-exposure": "confirm"
45719
46941
  },
45720
46942
  "delete": {
45721
46943
  "operationId": "DeleteGroup",
@@ -45755,7 +46977,8 @@
45755
46977
  },
45756
46978
  "example": "7d98fee4-3357-41a7-ac3f-9124212badb7"
45757
46979
  }
45758
- ]
46980
+ ],
46981
+ "x-mcp-exposure": "confirm"
45759
46982
  }
45760
46983
  },
45761
46984
  "/groups/{id}/users/{userId}": {
@@ -45806,7 +47029,8 @@
45806
47029
  },
45807
47030
  "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
45808
47031
  }
45809
- ]
47032
+ ],
47033
+ "x-mcp-exposure": "confirm"
45810
47034
  },
45811
47035
  "put": {
45812
47036
  "operationId": "AddUserToGroup",
@@ -45855,7 +47079,8 @@
45855
47079
  },
45856
47080
  "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
45857
47081
  }
45858
- ]
47082
+ ],
47083
+ "x-mcp-exposure": "confirm"
45859
47084
  }
45860
47085
  },
45861
47086
  "/groups/{id}/users": {
@@ -45971,7 +47196,8 @@
45971
47196
  },
45972
47197
  "example": 42
45973
47198
  }
45974
- ]
47199
+ ],
47200
+ "x-mcp-exposure": "allow"
45975
47201
  }
45976
47202
  },
45977
47203
  "/groups/{id}/tasks": {
@@ -46100,7 +47326,8 @@
46100
47326
  },
46101
47327
  "example": 42
46102
47328
  }
46103
- ]
47329
+ ],
47330
+ "x-mcp-exposure": "allow"
46104
47331
  }
46105
47332
  },
46106
47333
  "/events": {
@@ -46128,7 +47355,8 @@
46128
47355
  ]
46129
47356
  }
46130
47357
  ],
46131
- "parameters": []
47358
+ "parameters": [],
47359
+ "x-mcp-exposure": "allow"
46132
47360
  }
46133
47361
  },
46134
47362
  "/events/{id}/subscriptions": {
@@ -46232,7 +47460,8 @@
46232
47460
  }
46233
47461
  }
46234
47462
  }
46235
- }
47463
+ },
47464
+ "x-mcp-exposure": "confirm"
46236
47465
  }
46237
47466
  },
46238
47467
  "/events/{id}/subscriptions/{subscriptionId}": {
@@ -46281,7 +47510,8 @@
46281
47510
  "$ref": "#/components/schemas/XoListenerType"
46282
47511
  }
46283
47512
  }
46284
- ]
47513
+ ],
47514
+ "x-mcp-exposure": "confirm"
46285
47515
  }
46286
47516
  },
46287
47517
  "/backup-repositories": {
@@ -46385,7 +47615,8 @@
46385
47615
  },
46386
47616
  "example": 42
46387
47617
  }
46388
- ]
47618
+ ],
47619
+ "x-mcp-exposure": "allow"
46389
47620
  }
46390
47621
  },
46391
47622
  "/backup-repositories/{id}": {
@@ -46451,7 +47682,8 @@
46451
47682
  },
46452
47683
  "example": "c4284e12-37c9-7967-b9e8-83ef229c3e03"
46453
47684
  }
46454
- ]
47685
+ ],
47686
+ "x-mcp-exposure": "allow"
46455
47687
  }
46456
47688
  },
46457
47689
  "/backup-logs": {
@@ -46561,7 +47793,8 @@
46561
47793
  },
46562
47794
  "example": 42
46563
47795
  }
46564
- ]
47796
+ ],
47797
+ "x-mcp-exposure": "allow"
46565
47798
  }
46566
47799
  },
46567
47800
  "/backup-logs/{id}": {
@@ -46688,7 +47921,8 @@
46688
47921
  },
46689
47922
  "example": "1753776067468"
46690
47923
  }
46691
- ]
47924
+ ],
47925
+ "x-mcp-exposure": "allow"
46692
47926
  }
46693
47927
  },
46694
47928
  "/backup-jobs": {
@@ -46794,7 +48028,8 @@
46794
48028
  },
46795
48029
  "example": 42
46796
48030
  }
46797
- ]
48031
+ ],
48032
+ "x-mcp-exposure": "allow"
46798
48033
  }
46799
48034
  },
46800
48035
  "/backup-jobs/{id}": {
@@ -46875,7 +48110,8 @@
46875
48110
  },
46876
48111
  "example": "d33f3dc1-92b4-469c-ad58-4c2a106a4721"
46877
48112
  }
46878
- ]
48113
+ ],
48114
+ "x-mcp-exposure": "allow"
46879
48115
  }
46880
48116
  },
46881
48117
  "/backup/jobs/vm": {
@@ -46982,7 +48218,8 @@
46982
48218
  },
46983
48219
  "example": 42
46984
48220
  }
46985
- ]
48221
+ ],
48222
+ "x-mcp-exposure": "allow"
46986
48223
  }
46987
48224
  },
46988
48225
  "/backup/jobs/vm/{id}": {
@@ -47060,7 +48297,8 @@
47060
48297
  },
47061
48298
  "example": "d33f3dc1-92b4-469c-ad58-4c2a106a4721"
47062
48299
  }
47063
- ]
48300
+ ],
48301
+ "x-mcp-exposure": "allow"
47064
48302
  }
47065
48303
  },
47066
48304
  "/backup/jobs/metadata": {
@@ -47165,7 +48403,8 @@
47165
48403
  },
47166
48404
  "example": 42
47167
48405
  }
47168
- ]
48406
+ ],
48407
+ "x-mcp-exposure": "allow"
47169
48408
  }
47170
48409
  },
47171
48410
  "/backup/jobs/metadata/{id}": {
@@ -47230,7 +48469,8 @@
47230
48469
  },
47231
48470
  "example": "b50f95fd-f6b7-4027-87b6-6a02c7dcd5f5"
47232
48471
  }
47233
- ]
48472
+ ],
48473
+ "x-mcp-exposure": "allow"
47234
48474
  }
47235
48475
  },
47236
48476
  "/backup/jobs/mirror": {
@@ -47335,7 +48575,8 @@
47335
48575
  },
47336
48576
  "example": 42
47337
48577
  }
47338
- ]
48578
+ ],
48579
+ "x-mcp-exposure": "allow"
47339
48580
  }
47340
48581
  },
47341
48582
  "/backup/jobs/mirror/{id}": {
@@ -47419,7 +48660,8 @@
47419
48660
  },
47420
48661
  "example": "e680c14c-ab52-45c8-bb0e-bd4ca12ea8f9"
47421
48662
  }
47422
- ]
48663
+ ],
48664
+ "x-mcp-exposure": "allow"
47423
48665
  }
47424
48666
  },
47425
48667
  "/backup/logs": {
@@ -47530,7 +48772,8 @@
47530
48772
  },
47531
48773
  "example": 42
47532
48774
  }
47533
- ]
48775
+ ],
48776
+ "x-mcp-exposure": "allow"
47534
48777
  }
47535
48778
  },
47536
48779
  "/backup/logs/{id}": {
@@ -47651,7 +48894,8 @@
47651
48894
  },
47652
48895
  "example": "1753776067468"
47653
48896
  }
47654
- ]
48897
+ ],
48898
+ "x-mcp-exposure": "allow"
47655
48899
  }
47656
48900
  },
47657
48901
  "/backup-archives": {
@@ -47790,7 +49034,8 @@
47790
49034
  },
47791
49035
  "example": 42
47792
49036
  }
47793
- ]
49037
+ ],
49038
+ "x-mcp-exposure": "allow"
47794
49039
  }
47795
49040
  },
47796
49041
  "/backup-archives/{id}": {
@@ -47871,7 +49116,8 @@
47871
49116
  },
47872
49117
  "example": "231264c3-af43-4ec0-a3be-394c5b1fdbfc/xo-vm-backups/6ef7c09e-677b-1e6f-0546-7ab30413c61c/20250801T080832Z.json"
47873
49118
  }
47874
- ]
49119
+ ],
49120
+ "x-mcp-exposure": "allow"
47875
49121
  }
47876
49122
  },
47877
49123
  "/alarms": {
@@ -47988,7 +49234,8 @@
47988
49234
  },
47989
49235
  "example": 42
47990
49236
  }
47991
- ]
49237
+ ],
49238
+ "x-mcp-exposure": "allow"
47992
49239
  }
47993
49240
  },
47994
49241
  "/alarms/{id}": {
@@ -48059,7 +49306,8 @@
48059
49306
  },
48060
49307
  "example": "0c98c71c-2f9c-d5c2-b9b6-2c8371730eab"
48061
49308
  }
48062
- ]
49309
+ ],
49310
+ "x-mcp-exposure": "allow"
48063
49311
  }
48064
49312
  },
48065
49313
  "/acl-roles": {
@@ -48108,7 +49356,7 @@
48108
49356
  },
48109
49357
  "description": "Returns all ACL roles that match the following privilege:\n- resource: acl-role, action: read",
48110
49358
  "tags": [
48111
- "acls"
49359
+ "rbacs"
48112
49360
  ],
48113
49361
  "security": [
48114
49362
  {
@@ -48154,7 +49402,8 @@
48154
49402
  },
48155
49403
  "example": 42
48156
49404
  }
48157
- ]
49405
+ ],
49406
+ "x-mcp-exposure": "allow"
48158
49407
  },
48159
49408
  "post": {
48160
49409
  "operationId": "CreateAclV2Role",
@@ -48199,7 +49448,7 @@
48199
49448
  },
48200
49449
  "description": "Required privilege:\n- resource: acl-role, action: create",
48201
49450
  "tags": [
48202
- "acls"
49451
+ "rbacs"
48203
49452
  ],
48204
49453
  "security": [
48205
49454
  {
@@ -48231,7 +49480,8 @@
48231
49480
  }
48232
49481
  }
48233
49482
  }
48234
- }
49483
+ },
49484
+ "x-mcp-exposure": "confirm"
48235
49485
  }
48236
49486
  },
48237
49487
  "/acl-roles/{id}": {
@@ -48272,7 +49522,7 @@
48272
49522
  },
48273
49523
  "description": "Required privilege:\n- resource: acl-role, action: read",
48274
49524
  "tags": [
48275
- "acls"
49525
+ "rbacs"
48276
49526
  ],
48277
49527
  "security": [
48278
49528
  {
@@ -48289,7 +49539,8 @@
48289
49539
  },
48290
49540
  "example": "784bd959-08de-4b26-b575-92ded5aef872"
48291
49541
  }
48292
- ]
49542
+ ],
49543
+ "x-mcp-exposure": "allow"
48293
49544
  },
48294
49545
  "delete": {
48295
49546
  "operationId": "DeleteAclV2Role",
@@ -48312,7 +49563,7 @@
48312
49563
  },
48313
49564
  "description": "Required privilege:\n- resource: acl-role, action: delete",
48314
49565
  "tags": [
48315
- "acls"
49566
+ "rbacs"
48316
49567
  ],
48317
49568
  "security": [
48318
49569
  {
@@ -48329,7 +49580,8 @@
48329
49580
  },
48330
49581
  "example": "784bd959-08de-4b26-b575-92ded5aef872"
48331
49582
  }
48332
- ]
49583
+ ],
49584
+ "x-mcp-exposure": "confirm"
48333
49585
  },
48334
49586
  "patch": {
48335
49587
  "operationId": "UpdateAclV2Role",
@@ -48355,7 +49607,7 @@
48355
49607
  },
48356
49608
  "description": "Required privileges:\n- resource: acl-role, action: update (grants all fields)\n- resource: acl-role, action: update:name (if name is passed)\n- resource: acl-role, action: update:description (if description is passed)",
48357
49609
  "tags": [
48358
- "acls"
49610
+ "rbacs"
48359
49611
  ],
48360
49612
  "security": [
48361
49613
  {
@@ -48395,7 +49647,8 @@
48395
49647
  }
48396
49648
  }
48397
49649
  }
48398
- }
49650
+ },
49651
+ "x-mcp-exposure": "confirm"
48399
49652
  }
48400
49653
  },
48401
49654
  "/acl-roles/{id}/actions/copy": {
@@ -48437,7 +49690,7 @@
48437
49690
  },
48438
49691
  "description": "Copy a role with all its privileges. Possibility to modify the name and description of the copied role.\n\nRequired privileges:\n- resource: acl-role, action: create\n- resource: acl-privilege, action: create (if copied role has privileges)",
48439
49692
  "tags": [
48440
- "acls"
49693
+ "rbacs"
48441
49694
  ],
48442
49695
  "security": [
48443
49696
  {
@@ -48483,7 +49736,8 @@
48483
49736
  }
48484
49737
  }
48485
49738
  }
48486
- }
49739
+ },
49740
+ "x-mcp-exposure": "confirm"
48487
49741
  }
48488
49742
  },
48489
49743
  "/acl-roles/{id}/privileges": {
@@ -48536,7 +49790,7 @@
48536
49790
  },
48537
49791
  "description": "Returns all ACL privileges that match the following privilege:\n- resource: acl-privilege, action: read",
48538
49792
  "tags": [
48539
- "acls"
49793
+ "rbacs"
48540
49794
  ],
48541
49795
  "security": [
48542
49796
  {
@@ -48591,7 +49845,8 @@
48591
49845
  },
48592
49846
  "example": 42
48593
49847
  }
48594
- ]
49848
+ ],
49849
+ "x-mcp-exposure": "allow"
48595
49850
  }
48596
49851
  },
48597
49852
  "/acl-roles/{id}/groups/{groupId}": {
@@ -48619,7 +49874,7 @@
48619
49874
  },
48620
49875
  "description": "Attach an ACL V2 role to a group.\n\nRequired privilege:\n- resource: acl-role, action: update:groups",
48621
49876
  "tags": [
48622
- "acls"
49877
+ "rbacs"
48623
49878
  ],
48624
49879
  "security": [
48625
49880
  {
@@ -48645,7 +49900,8 @@
48645
49900
  },
48646
49901
  "example": "ee4965bf-d8af-4ca2-aa0e-5f29d0c5f9e2"
48647
49902
  }
48648
- ]
49903
+ ],
49904
+ "x-mcp-exposure": "confirm"
48649
49905
  },
48650
49906
  "delete": {
48651
49907
  "operationId": "DetachAclV2Group",
@@ -48668,7 +49924,7 @@
48668
49924
  },
48669
49925
  "description": "Detach an ACL V2 role from a group.\n\nRequired privilege:\n- resource: acl-role, action: update:groups",
48670
49926
  "tags": [
48671
- "acls"
49927
+ "rbacs"
48672
49928
  ],
48673
49929
  "security": [
48674
49930
  {
@@ -48694,7 +49950,8 @@
48694
49950
  },
48695
49951
  "example": "ee4965bf-d8af-4ca2-aa0e-5f29d0c5f9e2"
48696
49952
  }
48697
- ]
49953
+ ],
49954
+ "x-mcp-exposure": "confirm"
48698
49955
  }
48699
49956
  },
48700
49957
  "/acl-roles/{id}/users/{userId}": {
@@ -48722,7 +49979,7 @@
48722
49979
  },
48723
49980
  "description": "Attach an ACL V2 role to a user.\n\nRequired privilege:\n- resource: acl-role, action: update:users",
48724
49981
  "tags": [
48725
- "acls"
49982
+ "rbacs"
48726
49983
  ],
48727
49984
  "security": [
48728
49985
  {
@@ -48748,7 +50005,8 @@
48748
50005
  },
48749
50006
  "example": "ee4965bf-d8af-4ca2-aa0e-5f29d0c5f9e2"
48750
50007
  }
48751
- ]
50008
+ ],
50009
+ "x-mcp-exposure": "confirm"
48752
50010
  },
48753
50011
  "delete": {
48754
50012
  "operationId": "DetachAclV2User",
@@ -48771,7 +50029,7 @@
48771
50029
  },
48772
50030
  "description": "Detach an ACL V2 role from a user.\n\nRequired privilege:\n- resource: acl-role, action: update:users",
48773
50031
  "tags": [
48774
- "acls"
50032
+ "rbacs"
48775
50033
  ],
48776
50034
  "security": [
48777
50035
  {
@@ -48797,7 +50055,8 @@
48797
50055
  },
48798
50056
  "example": "ee4965bf-d8af-4ca2-aa0e-5f29d0c5f9e2"
48799
50057
  }
48800
- ]
50058
+ ],
50059
+ "x-mcp-exposure": "confirm"
48801
50060
  }
48802
50061
  },
48803
50062
  "/acl-privileges": {
@@ -48847,7 +50106,7 @@
48847
50106
  },
48848
50107
  "description": "Returns all ACL privileges that match the following privilege:\n- resource: acl-privilege, action: read",
48849
50108
  "tags": [
48850
- "acls"
50109
+ "rbacs"
48851
50110
  ],
48852
50111
  "security": [
48853
50112
  {
@@ -48893,7 +50152,8 @@
48893
50152
  },
48894
50153
  "example": 42
48895
50154
  }
48896
- ]
50155
+ ],
50156
+ "x-mcp-exposure": "allow"
48897
50157
  },
48898
50158
  "post": {
48899
50159
  "operationId": "CreateAclV2Privilege",
@@ -48941,7 +50201,7 @@
48941
50201
  },
48942
50202
  "description": "Required privilege:\n- resource: acl-privilege, action: create",
48943
50203
  "tags": [
48944
- "acls"
50204
+ "rbacs"
48945
50205
  ],
48946
50206
  "security": [
48947
50207
  {
@@ -48965,7 +50225,8 @@
48965
50225
  }
48966
50226
  }
48967
50227
  }
48968
- }
50228
+ },
50229
+ "x-mcp-exposure": "confirm"
48969
50230
  }
48970
50231
  },
48971
50232
  "/acl-privileges/{id}": {
@@ -49008,7 +50269,7 @@
49008
50269
  },
49009
50270
  "description": "Required privilege:\n- resource: acl-privilege, action: read",
49010
50271
  "tags": [
49011
- "acls"
50272
+ "rbacs"
49012
50273
  ],
49013
50274
  "security": [
49014
50275
  {
@@ -49025,7 +50286,8 @@
49025
50286
  },
49026
50287
  "example": "c5d89d1a-df1e-4b72-98a0-c40adfdf49c1"
49027
50288
  }
49028
- ]
50289
+ ],
50290
+ "x-mcp-exposure": "allow"
49029
50291
  },
49030
50292
  "delete": {
49031
50293
  "operationId": "DeleteAclV2Privilege",
@@ -49048,7 +50310,7 @@
49048
50310
  },
49049
50311
  "description": "Required privilege:\n- resource: acl-privilege, action: delete",
49050
50312
  "tags": [
49051
- "acls"
50313
+ "rbacs"
49052
50314
  ],
49053
50315
  "security": [
49054
50316
  {
@@ -49065,7 +50327,8 @@
49065
50327
  },
49066
50328
  "example": "784bd959-08de-4b26-b575-92ded5aef872"
49067
50329
  }
49068
- ]
50330
+ ],
50331
+ "x-mcp-exposure": "confirm"
49069
50332
  },
49070
50333
  "patch": {
49071
50334
  "operationId": "UpdateAclV2Privilege",
@@ -49091,7 +50354,7 @@
49091
50354
  },
49092
50355
  "description": "Required privileges:\n- resource: acl-privilege, action: update (grants all fields)\n- resource: acl-privilege, action: update:action (if action is passed)\n- resource: acl-privilege, action: update:resource (if resource is passed)\n- resource: acl-privilege, action: update:effect (if effect is passed)\n- resource: acl-privilege, action: update:selector (if selector is passed)",
49093
50356
  "tags": [
49094
- "acls"
50357
+ "rbacs"
49095
50358
  ],
49096
50359
  "security": [
49097
50360
  {
@@ -49124,7 +50387,8 @@
49124
50387
  }
49125
50388
  }
49126
50389
  }
49127
- }
50390
+ },
50391
+ "x-mcp-exposure": "confirm"
49128
50392
  }
49129
50393
  },
49130
50394
  "/pools/{id}/vms": {
@@ -49202,6 +50466,7 @@
49202
50466
  "example": "c787b75c-3e0d-70fa-d0c3-cbfd382d7e33"
49203
50467
  }
49204
50468
  ],
50469
+ "x-mcp-exposure": "confirm",
49205
50470
  "requestBody": {
49206
50471
  "required": true,
49207
50472
  "content": {
@@ -49305,6 +50570,7 @@
49305
50570
  "example": true
49306
50571
  }
49307
50572
  ],
50573
+ "x-mcp-exposure": "confirm",
49308
50574
  "requestBody": {
49309
50575
  "required": true,
49310
50576
  "content": {
@@ -49376,7 +50642,8 @@
49376
50642
  "$ref": "#/components/schemas/Exclude_SUPPORTED_VDI_FORMAT.qcow2_"
49377
50643
  }
49378
50644
  }
49379
- ]
50645
+ ],
50646
+ "x-mcp-exposure": "deny"
49380
50647
  },
49381
50648
  "put": {
49382
50649
  "operationId": "ImportVdiContent",
@@ -49431,6 +50698,7 @@
49431
50698
  }
49432
50699
  }
49433
50700
  ],
50701
+ "x-mcp-exposure": "deny",
49434
50702
  "requestBody": {
49435
50703
  "required": true,
49436
50704
  "content": {
@@ -49455,7 +50723,8 @@
49455
50723
  },
49456
50724
  "tags": [
49457
50725
  "docs"
49458
- ]
50726
+ ],
50727
+ "x-mcp-exposure": "deny"
49459
50728
  }
49460
50729
  }
49461
50730
  }