@xen-orchestra/rest-api 0.14.0 → 0.15.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.
@@ -5184,6 +5184,379 @@
5184
5184
  "type": "object",
5185
5185
  "additionalProperties": false
5186
5186
  },
5187
+ "Record_string.unknown_": {
5188
+ "properties": {},
5189
+ "type": "object",
5190
+ "description": "Construct a type with a set of properties K of type T"
5191
+ },
5192
+ "Branded_task_": {
5193
+ "allOf": [
5194
+ {
5195
+ "type": "string"
5196
+ },
5197
+ {
5198
+ "properties": {
5199
+ "undefined": {
5200
+ "type": "string",
5201
+ "enum": [
5202
+ "task"
5203
+ ],
5204
+ "nullable": false
5205
+ }
5206
+ },
5207
+ "required": [
5208
+ null
5209
+ ],
5210
+ "type": "object"
5211
+ }
5212
+ ]
5213
+ },
5214
+ "XoTask": {
5215
+ "properties": {
5216
+ "warning": {
5217
+ "items": {
5218
+ "properties": {
5219
+ "message": {
5220
+ "type": "string"
5221
+ },
5222
+ "data": {}
5223
+ },
5224
+ "required": [
5225
+ "message",
5226
+ "data"
5227
+ ],
5228
+ "type": "object"
5229
+ },
5230
+ "type": "array"
5231
+ },
5232
+ "updatedAt": {
5233
+ "type": "number",
5234
+ "format": "double"
5235
+ },
5236
+ "tasks": {
5237
+ "items": {
5238
+ "$ref": "#/components/schemas/XoTask"
5239
+ },
5240
+ "type": "array"
5241
+ },
5242
+ "status": {
5243
+ "type": "string",
5244
+ "enum": [
5245
+ "failure",
5246
+ "interrupted",
5247
+ "pending",
5248
+ "success"
5249
+ ]
5250
+ },
5251
+ "start": {
5252
+ "type": "number",
5253
+ "format": "double"
5254
+ },
5255
+ "result": {
5256
+ "$ref": "#/components/schemas/Record_string.unknown_"
5257
+ },
5258
+ "properties": {
5259
+ "properties": {
5260
+ "userId": {
5261
+ "type": "string"
5262
+ },
5263
+ "type": {
5264
+ "type": "string"
5265
+ },
5266
+ "params": {
5267
+ "$ref": "#/components/schemas/Record_string.unknown_"
5268
+ },
5269
+ "objectId": {
5270
+ "type": "string"
5271
+ },
5272
+ "name": {
5273
+ "type": "string"
5274
+ },
5275
+ "method": {
5276
+ "type": "string"
5277
+ }
5278
+ },
5279
+ "additionalProperties": {},
5280
+ "type": "object"
5281
+ },
5282
+ "infos": {
5283
+ "items": {
5284
+ "properties": {
5285
+ "message": {
5286
+ "type": "string"
5287
+ },
5288
+ "data": {}
5289
+ },
5290
+ "required": [
5291
+ "message",
5292
+ "data"
5293
+ ],
5294
+ "type": "object"
5295
+ },
5296
+ "type": "array"
5297
+ },
5298
+ "id": {
5299
+ "$ref": "#/components/schemas/Branded_task_"
5300
+ },
5301
+ "end": {
5302
+ "type": "number",
5303
+ "format": "double"
5304
+ },
5305
+ "abortionRequestedAt": {
5306
+ "type": "number",
5307
+ "format": "double"
5308
+ }
5309
+ },
5310
+ "required": [
5311
+ "status",
5312
+ "start",
5313
+ "result",
5314
+ "properties",
5315
+ "id"
5316
+ ],
5317
+ "type": "object"
5318
+ },
5319
+ "Partial_Unbrand_XoTask__": {
5320
+ "properties": {
5321
+ "abortionRequestedAt": {
5322
+ "type": "number",
5323
+ "format": "double"
5324
+ },
5325
+ "end": {
5326
+ "type": "number",
5327
+ "format": "double"
5328
+ },
5329
+ "id": {
5330
+ "type": "string"
5331
+ },
5332
+ "infos": {
5333
+ "items": {
5334
+ "properties": {
5335
+ "message": {
5336
+ "type": "string"
5337
+ },
5338
+ "data": {}
5339
+ },
5340
+ "required": [
5341
+ "message",
5342
+ "data"
5343
+ ],
5344
+ "type": "object"
5345
+ },
5346
+ "type": "array"
5347
+ },
5348
+ "properties": {
5349
+ "properties": {
5350
+ "userId": {
5351
+ "type": "string"
5352
+ },
5353
+ "type": {
5354
+ "type": "string"
5355
+ },
5356
+ "params": {
5357
+ "$ref": "#/components/schemas/Record_string.unknown_"
5358
+ },
5359
+ "objectId": {
5360
+ "type": "string"
5361
+ },
5362
+ "name": {
5363
+ "type": "string"
5364
+ },
5365
+ "method": {
5366
+ "type": "string"
5367
+ }
5368
+ },
5369
+ "additionalProperties": {},
5370
+ "type": "object"
5371
+ },
5372
+ "result": {
5373
+ "$ref": "#/components/schemas/Record_string.unknown_"
5374
+ },
5375
+ "start": {
5376
+ "type": "number",
5377
+ "format": "double"
5378
+ },
5379
+ "status": {
5380
+ "type": "string",
5381
+ "enum": [
5382
+ "failure",
5383
+ "interrupted",
5384
+ "pending",
5385
+ "success"
5386
+ ]
5387
+ },
5388
+ "tasks": {
5389
+ "items": {
5390
+ "$ref": "#/components/schemas/XoTask"
5391
+ },
5392
+ "type": "array"
5393
+ },
5394
+ "updatedAt": {
5395
+ "type": "number",
5396
+ "format": "double"
5397
+ },
5398
+ "warning": {
5399
+ "items": {
5400
+ "properties": {
5401
+ "message": {
5402
+ "type": "string"
5403
+ },
5404
+ "data": {}
5405
+ },
5406
+ "required": [
5407
+ "message",
5408
+ "data"
5409
+ ],
5410
+ "type": "object"
5411
+ },
5412
+ "type": "array"
5413
+ }
5414
+ },
5415
+ "type": "object",
5416
+ "description": "Make all properties in T optional"
5417
+ },
5418
+ "WithHref_Partial_Unbrand_XoTask___": {
5419
+ "allOf": [
5420
+ {
5421
+ "$ref": "#/components/schemas/Partial_Unbrand_XoTask__"
5422
+ },
5423
+ {
5424
+ "properties": {
5425
+ "href": {
5426
+ "type": "string"
5427
+ }
5428
+ },
5429
+ "required": [
5430
+ "href"
5431
+ ],
5432
+ "type": "object"
5433
+ }
5434
+ ]
5435
+ },
5436
+ "SendObjects_Partial_Unbrand_XoTask___": {
5437
+ "anyOf": [
5438
+ {
5439
+ "items": {
5440
+ "type": "string"
5441
+ },
5442
+ "type": "array"
5443
+ },
5444
+ {
5445
+ "items": {
5446
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoTask___"
5447
+ },
5448
+ "type": "array"
5449
+ },
5450
+ {
5451
+ "$ref": "#/components/schemas/NdjsonStream"
5452
+ }
5453
+ ]
5454
+ },
5455
+ "Unbrand_XoTask_": {
5456
+ "properties": {
5457
+ "abortionRequestedAt": {
5458
+ "type": "number",
5459
+ "format": "double"
5460
+ },
5461
+ "end": {
5462
+ "type": "number",
5463
+ "format": "double"
5464
+ },
5465
+ "id": {
5466
+ "type": "string"
5467
+ },
5468
+ "infos": {
5469
+ "items": {
5470
+ "properties": {
5471
+ "message": {
5472
+ "type": "string"
5473
+ },
5474
+ "data": {}
5475
+ },
5476
+ "required": [
5477
+ "message",
5478
+ "data"
5479
+ ],
5480
+ "type": "object"
5481
+ },
5482
+ "type": "array"
5483
+ },
5484
+ "properties": {
5485
+ "properties": {
5486
+ "userId": {
5487
+ "type": "string"
5488
+ },
5489
+ "type": {
5490
+ "type": "string"
5491
+ },
5492
+ "params": {
5493
+ "$ref": "#/components/schemas/Record_string.unknown_"
5494
+ },
5495
+ "objectId": {
5496
+ "type": "string"
5497
+ },
5498
+ "name": {
5499
+ "type": "string"
5500
+ },
5501
+ "method": {
5502
+ "type": "string"
5503
+ }
5504
+ },
5505
+ "additionalProperties": {},
5506
+ "type": "object"
5507
+ },
5508
+ "result": {
5509
+ "$ref": "#/components/schemas/Record_string.unknown_"
5510
+ },
5511
+ "start": {
5512
+ "type": "number",
5513
+ "format": "double"
5514
+ },
5515
+ "status": {
5516
+ "type": "string",
5517
+ "enum": [
5518
+ "failure",
5519
+ "interrupted",
5520
+ "pending",
5521
+ "success"
5522
+ ]
5523
+ },
5524
+ "tasks": {
5525
+ "items": {
5526
+ "$ref": "#/components/schemas/XoTask"
5527
+ },
5528
+ "type": "array"
5529
+ },
5530
+ "updatedAt": {
5531
+ "type": "number",
5532
+ "format": "double"
5533
+ },
5534
+ "warning": {
5535
+ "items": {
5536
+ "properties": {
5537
+ "message": {
5538
+ "type": "string"
5539
+ },
5540
+ "data": {}
5541
+ },
5542
+ "required": [
5543
+ "message",
5544
+ "data"
5545
+ ],
5546
+ "type": "object"
5547
+ },
5548
+ "type": "array"
5549
+ }
5550
+ },
5551
+ "required": [
5552
+ "id",
5553
+ "properties",
5554
+ "result",
5555
+ "start",
5556
+ "status"
5557
+ ],
5558
+ "type": "object"
5559
+ },
5187
5560
  "Record_string.STORAGE_OPERATIONS_": {
5188
5561
  "properties": {},
5189
5562
  "type": "object",
@@ -5624,11 +5997,6 @@
5624
5997
  ],
5625
5998
  "type": "object"
5626
5999
  },
5627
- "Record_string.unknown_": {
5628
- "properties": {},
5629
- "type": "object",
5630
- "description": "Construct a type with a set of properties K of type T"
5631
- },
5632
6000
  "Partial_Unbrand_XoServer__": {
5633
6001
  "properties": {
5634
6002
  "allowUnauthorized": {
@@ -6840,17 +7208,20 @@
6840
7208
  {
6841
7209
  "properties": {
6842
7210
  "missingPatches": {
6843
- "items": {
6844
- "anyOf": [
6845
- {
7211
+ "anyOf": [
7212
+ {
7213
+ "items": {
6846
7214
  "$ref": "#/components/schemas/XcpPatches"
6847
7215
  },
6848
- {
7216
+ "type": "array"
7217
+ },
7218
+ {
7219
+ "items": {
6849
7220
  "$ref": "#/components/schemas/XsPatches"
6850
- }
6851
- ]
6852
- },
6853
- "type": "array"
7221
+ },
7222
+ "type": "array"
7223
+ }
7224
+ ]
6854
7225
  },
6855
7226
  "hasAuthorization": {
6856
7227
  "type": "boolean",
@@ -9258,7 +9629,7 @@
9258
9629
  },
9259
9630
  "info": {
9260
9631
  "title": "@xen-orchestra/rest-api",
9261
- "version": "0.14.0",
9632
+ "version": "0.15.0",
9262
9633
  "description": "REST API to manage your XOA",
9263
9634
  "license": {
9264
9635
  "name": "AGPL-3.0-or-later"
@@ -14420,33 +14791,300 @@
14420
14791
  }
14421
14792
  }
14422
14793
  }
14423
- }
14794
+ }
14795
+ }
14796
+ },
14797
+ "/users/{id}": {
14798
+ "get": {
14799
+ "operationId": "GetUser",
14800
+ "responses": {
14801
+ "200": {
14802
+ "description": "Ok",
14803
+ "content": {
14804
+ "application/json": {
14805
+ "schema": {
14806
+ "$ref": "#/components/schemas/Unbrand_XoUser_"
14807
+ },
14808
+ "examples": {
14809
+ "Example 1": {
14810
+ "value": {
14811
+ "email": "admin@admin.net",
14812
+ "permission": "admin",
14813
+ "pw_hash": "***obfuscated***",
14814
+ "groups": [
14815
+ "7d98fee4-3357-41a7-ac3f-9124212badb7",
14816
+ "7981ba62-c395-4546-bfa4-d1261653a77f"
14817
+ ],
14818
+ "name": "admin@admin.net",
14819
+ "preferences": {},
14820
+ "id": "722d17b9-699b-49d2-8193-be1ac573d3de"
14821
+ }
14822
+ }
14823
+ }
14824
+ }
14825
+ }
14826
+ },
14827
+ "401": {
14828
+ "description": "Authentication required"
14829
+ },
14830
+ "404": {
14831
+ "description": "Resource not found"
14832
+ }
14833
+ },
14834
+ "tags": [
14835
+ "users"
14836
+ ],
14837
+ "security": [
14838
+ {
14839
+ "*": []
14840
+ }
14841
+ ],
14842
+ "parameters": [
14843
+ {
14844
+ "in": "path",
14845
+ "name": "id",
14846
+ "required": true,
14847
+ "schema": {
14848
+ "type": "string"
14849
+ },
14850
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14851
+ }
14852
+ ]
14853
+ },
14854
+ "patch": {
14855
+ "operationId": "UpdateUser",
14856
+ "responses": {
14857
+ "204": {
14858
+ "description": "No content"
14859
+ },
14860
+ "401": {
14861
+ "description": "Authentication required"
14862
+ },
14863
+ "403": {
14864
+ "description": "Forbidden"
14865
+ },
14866
+ "404": {
14867
+ "description": "Resource not found"
14868
+ },
14869
+ "409": {
14870
+ "description": "Resource already exists"
14871
+ }
14872
+ },
14873
+ "tags": [
14874
+ "users"
14875
+ ],
14876
+ "security": [
14877
+ {
14878
+ "*": []
14879
+ }
14880
+ ],
14881
+ "parameters": [
14882
+ {
14883
+ "in": "path",
14884
+ "name": "id",
14885
+ "required": true,
14886
+ "schema": {
14887
+ "type": "string"
14888
+ },
14889
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14890
+ }
14891
+ ],
14892
+ "requestBody": {
14893
+ "required": true,
14894
+ "content": {
14895
+ "application/json": {
14896
+ "schema": {
14897
+ "$ref": "#/components/schemas/UpdateUserRequestBody"
14898
+ },
14899
+ "example": {
14900
+ "name": "updated user name",
14901
+ "password": "newP4ssword",
14902
+ "permission": "admin",
14903
+ "preferences": {}
14904
+ }
14905
+ }
14906
+ }
14907
+ }
14908
+ },
14909
+ "delete": {
14910
+ "operationId": "DeleteUser",
14911
+ "responses": {
14912
+ "204": {
14913
+ "description": "No content"
14914
+ },
14915
+ "401": {
14916
+ "description": "Authentication required"
14917
+ },
14918
+ "404": {
14919
+ "description": "Resource not found"
14920
+ }
14921
+ },
14922
+ "tags": [
14923
+ "users"
14924
+ ],
14925
+ "security": [
14926
+ {
14927
+ "*": []
14928
+ }
14929
+ ],
14930
+ "parameters": [
14931
+ {
14932
+ "in": "path",
14933
+ "name": "id",
14934
+ "required": true,
14935
+ "schema": {
14936
+ "type": "string"
14937
+ },
14938
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14939
+ }
14940
+ ]
14941
+ }
14942
+ },
14943
+ "/tasks": {
14944
+ "get": {
14945
+ "operationId": "GetTasks",
14946
+ "responses": {
14947
+ "200": {
14948
+ "description": "Ok",
14949
+ "content": {
14950
+ "application/json": {
14951
+ "schema": {
14952
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoTask___"
14953
+ },
14954
+ "examples": {
14955
+ "Example 1": {
14956
+ "value": [
14957
+ "/rest/v0/tasks/0mdd1basu",
14958
+ "/rest/v0/tasks/0mdd1t24g"
14959
+ ]
14960
+ },
14961
+ "Example 2": {
14962
+ "value": [
14963
+ {
14964
+ "status": "failure",
14965
+ "id": "0mdd1basu",
14966
+ "properties": {
14967
+ "method": "xoa.licenses.getSelf",
14968
+ "params": {},
14969
+ "name": "API call: xoa.licenses.getSelf",
14970
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
14971
+ "type": "api.call"
14972
+ },
14973
+ "href": "/rest/v0/tasks/0mdd1basu"
14974
+ },
14975
+ {
14976
+ "status": "failure",
14977
+ "id": "0mdd1t24g",
14978
+ "properties": {
14979
+ "method": "xoa.licenses.getSelf",
14980
+ "params": {},
14981
+ "name": "API call: xoa.licenses.getSelf",
14982
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
14983
+ "type": "api.call"
14984
+ },
14985
+ "href": "/rest/v0/tasks/0mdd1t24g"
14986
+ }
14987
+ ]
14988
+ }
14989
+ }
14990
+ }
14991
+ }
14992
+ },
14993
+ "400": {
14994
+ "description": "Bad request"
14995
+ },
14996
+ "401": {
14997
+ "description": "Authentication required"
14998
+ }
14999
+ },
15000
+ "description": "\nIf watch is true, ndjson must also be true",
15001
+ "tags": [
15002
+ "tasks"
15003
+ ],
15004
+ "security": [
15005
+ {
15006
+ "*": []
15007
+ }
15008
+ ],
15009
+ "parameters": [
15010
+ {
15011
+ "in": "query",
15012
+ "name": "fields",
15013
+ "required": false,
15014
+ "schema": {
15015
+ "type": "string"
15016
+ },
15017
+ "example": "status,id,properties"
15018
+ },
15019
+ {
15020
+ "in": "query",
15021
+ "name": "ndjson",
15022
+ "required": false,
15023
+ "schema": {
15024
+ "type": "boolean"
15025
+ }
15026
+ },
15027
+ {
15028
+ "in": "query",
15029
+ "name": "watch",
15030
+ "required": false,
15031
+ "schema": {
15032
+ "type": "boolean"
15033
+ }
15034
+ },
15035
+ {
15036
+ "in": "query",
15037
+ "name": "filter",
15038
+ "required": false,
15039
+ "schema": {
15040
+ "type": "string"
15041
+ },
15042
+ "example": "status:failure"
15043
+ },
15044
+ {
15045
+ "in": "query",
15046
+ "name": "limit",
15047
+ "required": false,
15048
+ "schema": {
15049
+ "format": "double",
15050
+ "type": "number"
15051
+ },
15052
+ "example": 42
15053
+ }
15054
+ ]
14424
15055
  }
14425
15056
  },
14426
- "/users/{id}": {
15057
+ "/tasks/{id}": {
14427
15058
  "get": {
14428
- "operationId": "GetUser",
15059
+ "operationId": "GetTask",
14429
15060
  "responses": {
14430
15061
  "200": {
14431
15062
  "description": "Ok",
14432
15063
  "content": {
14433
15064
  "application/json": {
14434
15065
  "schema": {
14435
- "$ref": "#/components/schemas/Unbrand_XoUser_"
15066
+ "$ref": "#/components/schemas/Unbrand_XoTask_"
14436
15067
  },
14437
15068
  "examples": {
14438
15069
  "Example 1": {
14439
15070
  "value": {
14440
- "email": "admin@admin.net",
14441
- "permission": "admin",
14442
- "pw_hash": "***obfuscated***",
14443
- "groups": [
14444
- "7d98fee4-3357-41a7-ac3f-9124212badb7",
14445
- "7981ba62-c395-4546-bfa4-d1261653a77f"
14446
- ],
14447
- "name": "admin@admin.net",
14448
- "preferences": {},
14449
- "id": "722d17b9-699b-49d2-8193-be1ac573d3de"
15071
+ "id": "0mdd1basu",
15072
+ "properties": {
15073
+ "method": "xoa.licenses.getSelf",
15074
+ "params": {},
15075
+ "name": "API call: xoa.licenses.getSelf",
15076
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
15077
+ "type": "api.call"
15078
+ },
15079
+ "start": 1753098047598,
15080
+ "status": "failure",
15081
+ "updatedAt": 1753098047696,
15082
+ "end": 1753098047600,
15083
+ "result": {
15084
+ "message": "invalid status closed, expected open",
15085
+ "name": "ConnectionError",
15086
+ "stack": "ConnectionError: invalid status closed, expected open\n at JsonRpcWebSocketClient._assertStatus (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/websocket-client.js:141:13)\n at JsonRpcWebSocketClient.send (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/websocket-client.js:128:10)\n at Peer.<anonymous> (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/index.js:47:12)\n at Peer.emit (node:events:518:28)\n at Peer.emit (/home/debian/xen-orchestra/@xen-orchestra/log/configure.js:52:17)\n at Peer.push (/home/debian/xoa/node_modules/json-rpc-peer/src/index.js:196:52)\n at /home/debian/xoa/node_modules/json-rpc-peer/src/index.js:142:12\n at Promise._execute (/home/debian/xen-orchestra/node_modules/bluebird/js/release/debuggability.js:384:9)\n at Promise._resolveFromExecutor (/home/debian/xen-orchestra/node_modules/bluebird/js/release/promise.js:518:18)\n at new Promise (/home/debian/xen-orchestra/node_modules/bluebird/js/release/promise.js:103:10)\n at Peer.request (/home/debian/xoa/node_modules/json-rpc-peer/src/index.js:139:12)\n at JsonRpcWebSocketClient.call (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/index.js:63:23)\n at Xoa.apply [as _getSelfLicenses] (/home/debian/xoa/packages/xo-server-xoa/src/index.js:929:26)\n at Xo.call (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:269:25)\n at file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:421:33\n at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:91:14)\n at Task.runInside (/home/debian/xen-orchestra/@vates/task/index.js:175:41)\n at Task.run (/home/debian/xen-orchestra/@vates/task/index.js:159:31)\n at run (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:421:16)\n at Api.#callApiMethod (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:24)"
15087
+ }
14450
15088
  }
14451
15089
  }
14452
15090
  }
@@ -14461,7 +15099,7 @@
14461
15099
  }
14462
15100
  },
14463
15101
  "tags": [
14464
- "users"
15102
+ "tasks"
14465
15103
  ],
14466
15104
  "security": [
14467
15105
  {
@@ -14476,96 +15114,16 @@
14476
15114
  "schema": {
14477
15115
  "type": "string"
14478
15116
  },
14479
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14480
- }
14481
- ]
14482
- },
14483
- "patch": {
14484
- "operationId": "UpdateUser",
14485
- "responses": {
14486
- "204": {
14487
- "description": "No content"
14488
- },
14489
- "401": {
14490
- "description": "Authentication required"
14491
- },
14492
- "403": {
14493
- "description": "Forbidden"
14494
- },
14495
- "404": {
14496
- "description": "Resource not found"
15117
+ "example": "0mdd1basu"
14497
15118
  },
14498
- "409": {
14499
- "description": "Resource already exists"
14500
- }
14501
- },
14502
- "tags": [
14503
- "users"
14504
- ],
14505
- "security": [
14506
- {
14507
- "*": []
14508
- }
14509
- ],
14510
- "parameters": [
14511
15119
  {
14512
- "in": "path",
14513
- "name": "id",
14514
- "required": true,
15120
+ "in": "query",
15121
+ "name": "wait",
15122
+ "required": false,
14515
15123
  "schema": {
14516
- "type": "string"
14517
- },
14518
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14519
- }
14520
- ],
14521
- "requestBody": {
14522
- "required": true,
14523
- "content": {
14524
- "application/json": {
14525
- "schema": {
14526
- "$ref": "#/components/schemas/UpdateUserRequestBody"
14527
- },
14528
- "example": {
14529
- "name": "updated user name",
14530
- "password": "newP4ssword",
14531
- "permission": "admin",
14532
- "preferences": {}
14533
- }
15124
+ "type": "boolean"
14534
15125
  }
14535
15126
  }
14536
- }
14537
- },
14538
- "delete": {
14539
- "operationId": "DeleteUser",
14540
- "responses": {
14541
- "204": {
14542
- "description": "No content"
14543
- },
14544
- "401": {
14545
- "description": "Authentication required"
14546
- },
14547
- "404": {
14548
- "description": "Resource not found"
14549
- }
14550
- },
14551
- "tags": [
14552
- "users"
14553
- ],
14554
- "security": [
14555
- {
14556
- "*": []
14557
- }
14558
- ],
14559
- "parameters": [
14560
- {
14561
- "in": "path",
14562
- "name": "id",
14563
- "required": true,
14564
- "schema": {
14565
- "type": "string"
14566
- },
14567
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14568
- }
14569
15127
  ]
14570
15128
  }
14571
15129
  },
@@ -18598,6 +19156,98 @@
18598
19156
  ]
18599
19157
  }
18600
19158
  },
19159
+ "/pools/{id}/missing_patches": {
19160
+ "get": {
19161
+ "operationId": "GetPoolMissingPatches",
19162
+ "responses": {
19163
+ "200": {
19164
+ "description": "Ok",
19165
+ "content": {
19166
+ "application/json": {
19167
+ "schema": {
19168
+ "anyOf": [
19169
+ {
19170
+ "items": {
19171
+ "$ref": "#/components/schemas/XcpPatches"
19172
+ },
19173
+ "type": "array"
19174
+ },
19175
+ {
19176
+ "items": {
19177
+ "$ref": "#/components/schemas/XsPatches"
19178
+ },
19179
+ "type": "array"
19180
+ }
19181
+ ]
19182
+ },
19183
+ "examples": {
19184
+ "Example 1": {
19185
+ "value": [
19186
+ {
19187
+ "url": "http://www.samba.org/",
19188
+ "version": "4.10.16",
19189
+ "name": "libsmbclient",
19190
+ "license": "GPLv3+ and LGPLv3+",
19191
+ "changelog": {
19192
+ "date": 1690286400,
19193
+ "description": "- resolves: #2222250 - Fix netlogon capabilities level 2",
19194
+ "author": "Andreas Schneider <asn@redhat.com> - 4.10.16-25"
19195
+ },
19196
+ "release": "25.el7_9",
19197
+ "size": 149400,
19198
+ "description": "The SMB client library"
19199
+ },
19200
+ {
19201
+ "url": "http://www.openssh.com/portable.html",
19202
+ "version": "7.4p1",
19203
+ "name": "openssh",
19204
+ "license": "BSD",
19205
+ "changelog": {
19206
+ "date": 1742212800,
19207
+ "description": "- Fix CVE-2025-26465 - Fix cases where error codes were not correctly set",
19208
+ "author": "Lucas Ravagnier <lucas.ravagnier@vates.tech> - 7.4p1-23.3.2 + 0.10.3-2.23.3.2"
19209
+ },
19210
+ "release": "23.3.2.xcpng8.2",
19211
+ "size": 429044,
19212
+ "description": "An open source implementation of SSH protocol versions 1 and 2"
19213
+ }
19214
+ ]
19215
+ }
19216
+ }
19217
+ }
19218
+ }
19219
+ },
19220
+ "401": {
19221
+ "description": "Authentication required"
19222
+ },
19223
+ "403": {
19224
+ "description": "Feature unauthorized"
19225
+ },
19226
+ "404": {
19227
+ "description": "Resource not found"
19228
+ }
19229
+ },
19230
+ "tags": [
19231
+ "pools"
19232
+ ],
19233
+ "security": [
19234
+ {
19235
+ "*": []
19236
+ }
19237
+ ],
19238
+ "parameters": [
19239
+ {
19240
+ "in": "path",
19241
+ "name": "id",
19242
+ "required": true,
19243
+ "schema": {
19244
+ "type": "string"
19245
+ },
19246
+ "example": "355ee47d-ff4c-4924-3db2-fd86ae629676"
19247
+ }
19248
+ ]
19249
+ }
19250
+ },
18601
19251
  "/pifs": {
18602
19252
  "get": {
18603
19253
  "operationId": "GetPifs",
@@ -26419,6 +27069,99 @@
26419
27069
  ]
26420
27070
  }
26421
27071
  },
27072
+ "/hosts/{id}/missing_patches": {
27073
+ "get": {
27074
+ "operationId": "GetMissingPatches",
27075
+ "responses": {
27076
+ "200": {
27077
+ "description": "Ok",
27078
+ "content": {
27079
+ "application/json": {
27080
+ "schema": {
27081
+ "anyOf": [
27082
+ {
27083
+ "items": {
27084
+ "$ref": "#/components/schemas/XcpPatches"
27085
+ },
27086
+ "type": "array"
27087
+ },
27088
+ {
27089
+ "items": {
27090
+ "$ref": "#/components/schemas/XsPatches"
27091
+ },
27092
+ "type": "array"
27093
+ }
27094
+ ]
27095
+ },
27096
+ "examples": {
27097
+ "Example 1": {
27098
+ "value": [
27099
+ {
27100
+ "url": "http://www.samba.org/",
27101
+ "version": "4.10.16",
27102
+ "name": "libsmbclient",
27103
+ "license": "GPLv3+ and LGPLv3+",
27104
+ "changelog": {
27105
+ "date": 1690286400,
27106
+ "description": "- resolves: #2222250 - Fix netlogon capabilities level 2",
27107
+ "author": "Andreas Schneider <asn@redhat.com> - 4.10.16-25"
27108
+ },
27109
+ "release": "25.el7_9",
27110
+ "size": 149400,
27111
+ "description": "The SMB client library"
27112
+ },
27113
+ {
27114
+ "url": "http://www.openssh.com/portable.html",
27115
+ "version": "7.4p1",
27116
+ "name": "openssh",
27117
+ "license": "BSD",
27118
+ "changelog": {
27119
+ "date": 1742212800,
27120
+ "description": "- Fix CVE-2025-26465 - Fix cases where error codes were not correctly set",
27121
+ "author": "Lucas Ravagnier <lucas.ravagnier@vates.tech> - 7.4p1-23.3.2 + 0.10.3-2.23.3.2"
27122
+ },
27123
+ "release": "23.3.2.xcpng8.2",
27124
+ "size": 429044,
27125
+ "description": "An open source implementation of SSH protocol versions 1 and 2"
27126
+ }
27127
+ ]
27128
+ }
27129
+ }
27130
+ }
27131
+ }
27132
+ },
27133
+ "401": {
27134
+ "description": "Authentication required"
27135
+ },
27136
+ "403": {
27137
+ "description": "Feature unauthorized"
27138
+ },
27139
+ "404": {
27140
+ "description": "Resource not found"
27141
+ }
27142
+ },
27143
+ "description": "Host must be running",
27144
+ "tags": [
27145
+ "hosts"
27146
+ ],
27147
+ "security": [
27148
+ {
27149
+ "*": []
27150
+ }
27151
+ ],
27152
+ "parameters": [
27153
+ {
27154
+ "in": "path",
27155
+ "name": "id",
27156
+ "required": true,
27157
+ "schema": {
27158
+ "type": "string"
27159
+ },
27160
+ "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
27161
+ }
27162
+ ]
27163
+ }
27164
+ },
26422
27165
  "/groups": {
26423
27166
  "get": {
26424
27167
  "operationId": "GetGroups",
@@ -27210,6 +27953,20 @@
27210
27953
  }
27211
27954
  }
27212
27955
  }
27956
+ },
27957
+ "/docs/swagger.json": {
27958
+ "get": {
27959
+ "operationId": "swaggerSpec",
27960
+ "description": "Returns the swagger json ready to use for REST API clients",
27961
+ "responses": {
27962
+ "200": {
27963
+ "description": "Ok"
27964
+ }
27965
+ },
27966
+ "tags": [
27967
+ "docs"
27968
+ ]
27969
+ }
27213
27970
  }
27214
27971
  }
27215
27972
  }