Repository navigation
Expand file tree
/
Copy pathopenapi.json
More file actions
3441 lines (3441 loc) · 108 KB
/
Copy pathopenapi.json
File metadata and controls
3441 lines (3441 loc) · 108 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"openapi": "3.1.0",
"info": {
"title": "visionatrix",
"version": "1.5.0.dev0"
},
"paths": {
"/api/flows/installed": {
"get": {
"tags": [
"flows"
],
"summary": "Get Installed",
"description": "Return the list of installed flows. Each flow can potentially be converted into a task. The response\nincludes details such as the name, display name, description, author, homepage URL, and other relevant\ninformation about each flow.",
"operationId": "get_installed",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Flow"
},
"type": "array",
"title": "Response Get Installed"
}
}
}
}
}
}
},
"/api/flows/not-installed": {
"get": {
"tags": [
"flows"
],
"summary": "Get Not Installed",
"description": "Return the list of flows that can be installed. This endpoint provides detailed information about each flow,\nsimilar to the installed flows, which includes metadata and configuration parameters.",
"operationId": "get_not_installed",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Flow"
},
"type": "array",
"title": "Response Get Not Installed"
}
}
}
}
}
}
},
"/api/flows/subflows": {
"get": {
"tags": [
"flows"
],
"summary": "Get Subflows",
"description": "Retrieves a list of flows designed to post-process the results from other flows, filtering by the type\nof input they handle, either 'image', 'image-inpaint' or 'video'. This endpoint is particularly useful for chaining\nworkflows where the output of one flow becomes the input to another.\nIt modifies the main flow's structure by adopting sub-flow's display name and selectively merging input parameters\nfrom the sub-flows into the main flow's parameters based on matching names.",
"operationId": "get_subflows",
"parameters": [
{
"name": "input_type",
"in": "query",
"required": true,
"schema": {
"enum": [
"image",
"image-inpaint",
"video"
],
"type": "string",
"title": "Input Type"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Flow"
},
"title": "Response Get Subflows"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/flows/flow": {
"post": {
"tags": [
"flows"
],
"summary": "Install",
"description": "Endpoint to initiate the installation of a flow based on its name. This endpoint requires admin privileges\nto perform the installation. If another flow installation is already in progress, it prevents a new\ninstallation to avoid conflicts, returning a 409 Conflict HTTP status.\n\nThis endpoint schedules a background task for the installation process using the specified flow name. It\nchecks the availability of the flow in the list of available flows and starts the installation if the flow\nis found. It ensures that no two installations can run concurrently.",
"operationId": "install",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Name of the flow you wish to install",
"title": "Name"
},
"description": "Name of the flow you wish to install"
}
],
"responses": {
"204": {
"description": "Successful start of installation"
},
"404": {
"description": "Flow not found",
"content": {
"application/json": {
"example": {
"detail": "Can't find `flow_name` flow."
}
}
}
},
"409": {
"description": "Another flow installation is in progress",
"content": {
"application/json": {
"example": {
"detail": "Another flow installation is in progress."
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"flows"
],
"summary": "Install From File",
"description": "Endpoint to initiate the installation of a flow from an uploaded file. This endpoint requires admin privileges\nto perform the installation. If another flow installation is already in progress, it prevents a parallel flow\ninstallation to avoid conflicts, returning a 409 Conflict HTTP status.\n\nThis endpoint schedules a background task for the installation process using the uploaded flow file.",
"operationId": "install_from_file",
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_install_from_file"
}
}
}
},
"responses": {
"204": {
"description": "Successful start of installation"
},
"409": {
"description": "Another flow installation is in progress",
"content": {
"application/json": {
"example": {
"detail": "Another flow installation is in progress."
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"flows"
],
"summary": "Delete",
"description": "Endpoint to delete an installed flow by its name. Requires administrative privileges to execute.\nThis endpoint will succeed even if the flow does not exist.",
"operationId": "delete",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Name of the flow you wish to delete",
"title": "Name"
},
"description": "Name of the flow you wish to delete"
}
],
"responses": {
"204": {
"description": "Flow deleted successfully"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/flows/flow-update": {
"post": {
"tags": [
"flows"
],
"summary": "Flow Update",
"description": "Endpoint to initiate the update process of an installed flow based on its name.\nThis endpoint requires admin privileges to perform the update. If another flow installation or update is already\nin progress, it prevents a new update to avoid conflicts, returning a 409 Conflict HTTP status.\n\nThis endpoint schedules a background task for the update process using the specified flow name. It checks the\navailability of a newer version of the flow and starts the update if a newer version is found. It ensures that no\ntwo installations or updates can run concurrently.",
"operationId": "flow_update",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Name of the flow you wish to update",
"title": "Name"
},
"description": "Name of the flow you wish to update"
}
],
"responses": {
"204": {
"description": "Successful start of update process"
},
"404": {
"description": "Flow not found",
"content": {
"application/json": {
"example": {
"detail": "Can't find `flow_name` flow."
}
}
}
},
"409": {
"description": "Another flow installation or update is in progress",
"content": {
"application/json": {
"example": {
"detail": "Another flow installation or update is in progress."
}
}
}
},
"412": {
"description": "Flow does not have a newer version",
"content": {
"application/json": {
"example": {
"detail": "Flow `flow_name` does not have a newer version."
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/flows/install-progress": {
"get": {
"tags": [
"flows"
],
"summary": "Get Install Progress",
"description": "Retrieves the current installation progress of all flows from an in-memory dictionary. This endpoint\nreturns a dictionary showing the installation status for each flow.\n\nRequires administrative privileges.",
"operationId": "get_install_progress",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FlowProgressInstall"
},
"title": "Response Get Install Progress"
}
}
}
}
}
},
"delete": {
"tags": [
"flows"
],
"summary": "Delete Install Progress",
"description": "Deletes the installation progress entry for a specified flow.\n\nRequires administrative privileges.",
"operationId": "delete_install_progress",
"parameters": [
{
"name": "name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Name of the flow progress you wish to delete",
"title": "Name"
},
"description": "Name of the flow progress you wish to delete"
}
],
"responses": {
"204": {
"description": "Flow progress installation entry deleted successfully"
},
"404": {
"description": "Flow progress installation entry not found",
"content": {
"application/json": {
"example": {
"detail": "Can't find `flow_name`."
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/settings/get": {
"get": {
"tags": [
"settings"
],
"summary": "Get",
"description": "Returns the value as a string or an empty string if the setting is not found.\n\nDefault endpoint for retrieving settings.\nUser settings have higher priority than global settings.",
"operationId": "get",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The key of the setting to retrieve",
"title": "Key"
},
"description": "The key of the setting to retrieve"
}
],
"responses": {
"200": {
"description": "Successfully retrieved setting",
"content": {
"text/plain": {
"example": "value_of_setting"
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/settings/global": {
"get": {
"tags": [
"settings"
],
"summary": "Get Global",
"description": "Retrieve the global setting value or an empty string if the global setting is not found.",
"operationId": "get_global",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The key of the global setting to retrieve",
"title": "Key"
},
"description": "The key of the global setting to retrieve"
}
],
"responses": {
"200": {
"description": "Successfully retrieved global setting",
"content": {
"text/plain": {
"example": "value_of_global_setting"
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"settings"
],
"summary": "Set Global",
"description": "Creates, updates, or deletes a global setting.\n\nTo delete a setting, specify an empty string as the value.\nAccess is restricted to administrators only.",
"operationId": "set_global",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_set_global"
}
}
}
},
"responses": {
"204": {
"description": "Global setting updated successfully"
},
"401": {
"description": "Unauthorized - Admin privilege required",
"content": {
"application/json": {
"example": {
"detail": "Admin privilege required"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/settings/user": {
"get": {
"tags": [
"settings"
],
"summary": "Get User",
"description": "Retrieve the user setting value or an empty string if the user setting is not found.",
"operationId": "get_user",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The key of the user setting to retrieve",
"title": "Key"
},
"description": "The key of the user setting to retrieve"
}
],
"responses": {
"200": {
"description": "Successfully retrieved user setting",
"content": {
"text/plain": {
"example": "value_of_user_setting"
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"settings"
],
"summary": "Set User",
"description": "Creates, updates, or deletes a user setting.\n\nTo delete a setting, specify an empty string as the value.",
"operationId": "set_user",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_set_user"
}
}
}
},
"responses": {
"204": {
"description": "User setting updated successfully"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/settings/get_all": {
"get": {
"tags": [
"settings"
],
"summary": "Get All",
"description": "Returns all settings for the user.\nUser settings have higher priority than global settings.",
"operationId": "get_all",
"responses": {
"200": {
"description": "Successfully retrieved all settings for the user",
"content": {
"application/json": {
"schema": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Response Get All"
},
"example": {
"setting_key": "value"
}
}
}
}
}
}
},
"/api/settings/global_all": {
"get": {
"tags": [
"settings"
],
"summary": "Get Global All",
"description": "Retrieve all global settings or an empty dictionary if none are found.",
"operationId": "get_global_all",
"responses": {
"200": {
"description": "Successfully retrieved all global settings",
"content": {
"application/json": {
"schema": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Response Get Global All"
},
"example": {
"global_setting_key": "value"
}
}
}
}
}
}
},
"/api/settings/user_all": {
"get": {
"tags": [
"settings"
],
"summary": "Get User All",
"description": "Retrieve all user settings or an empty dictionary if none are found.",
"operationId": "get_user_all",
"responses": {
"200": {
"description": "Successfully retrieved all user settings",
"content": {
"application/json": {
"schema": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Response Get User All"
},
"example": {
"user_setting_key": "value"
}
}
}
}
}
}
},
"/api/tasks/create": {
"put": {
"tags": [
"tasks"
],
"summary": "Create Task Deprecated",
"description": "Endpoint to initiate the creation and execution of tasks within the Vix workflow environment,\nhandling both file inputs and task-related parameters.",
"operationId": "create_task__deprecated",
"requestBody": {
"content": {
"application/x-www-form-urlencoded": {
"schema": {
"$ref": "#/components/schemas/Body_create_task__deprecated"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskRunResults"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"deprecated": true
}
},
"/api/tasks/create/{name}": {
"put": {
"tags": [
"tasks"
],
"summary": "Create Task",
"description": "Endpoint to initiate the creation and execution of tasks from the flows.\n\n**Path Parameter:**\n\n- `name`: Name of the flow from which the task should be created\n\n**Reserved Form Fields:**\n\n- `group_scope`: Group number to which task should be assigned. Maximum value is 255\n- `priority`: Task execution priority. Higher numbers indicate higher priority. Maximum value is 15\n- `child_task`: Int boolean indicating whether to create a relation between tasks\n- `webhook_url`: Optional. URL to call when task state changes\n- `webhook_headers`: Optional. Headers for webhook URL as encoded JSON string. Used only when `webhook_url` is set\n- `count`: Number of tasks to be created\n- `translate`: Should the prompt be translated if auto-translation option is enabled\n\n**Dynamic Task Parameters:**\n\nAll other form fields will be considered as **dynamic task-specific input parameters**.\nThese parameters vary depending on the flow specified by `name` and can be either text parameters or input files.\n\n**Response:**\n\n- Returns a `TaskRunResults` object containing the list of task IDs and the outputs for the created tasks.\n\n**Notes:**\n\n- The request must use `multipart/form-data` as the content type.\n- Dynamic parameters should correspond to the inputs expected by the specified flow.\n- If a parameter is expected to be a file, include it as a file upload in the form data.\n- If a parameter is expected to be text, include it as a regular form field.\n- The endpoint accepts both text and file inputs as dynamic parameters.",
"operationId": "create_task",
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Name of the flow from which the task should be created"
}
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/TaskCreationWithFullParams"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskRunResults"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/tasks/progress": {
"get": {
"tags": [
"tasks"
],
"summary": "Get Tasks Progress",
"description": "Retrieves the full tasks details information for a specific user.\nOptionally filter tasks by their name or a group number.",
"operationId": "get_tasks_progress",
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional name to filter tasks by their name",
"title": "Name"
},
"description": "Optional name to filter tasks by their name"
},
{
"name": "group_scope",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optional parameter to filter tasks by their group number",
"default": 1,
"title": "Group Scope"
},
"description": "Optional parameter to filter tasks by their group number"
},
{
"name": "only_parent",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Fetch only parent tasks",
"default": false,
"title": "Only Parent"
},
"description": "Fetch only parent tasks"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/TaskDetails"
},
"title": "Response Get Tasks Progress"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"tasks"
],
"summary": "Update Task Progress",
"description": "Updates the progress of a specific task identified by `task_id`. This endpoint checks if the task exists\nand if the requester is authorized to update its progress. If the task is not found or unauthorized,\na 404 HTTP error is raised, and `worker` should stop and consider the task canceled.",
"operationId": "update_task_progress",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_update_task_progress"
}
}
}
},
"responses": {
"204": {
"description": "Task progress updated successfully"
},
"400": {
"description": "Failed to update task progress",
"content": {
"application/json": {
"example": {
"detail": "Failed to update task progress."
}
}
}
},
"404": {
"description": "Task not found or not authorized",
"content": {
"application/json": {
"example": {
"detail": "Task `{task_id}` was not found."
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/tasks/progress-summary": {
"get": {
"tags": [
"tasks"
],
"summary": "Get Tasks Progress Summary",
"description": "Retrieves summary of the tasks progress details for a specific user.\nOptionally filter tasks by their name or a group number.",
"operationId": "get_tasks_progress_summary",
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional name to filter tasks by their name",
"title": "Name"
},
"description": "Optional name to filter tasks by their name"
},
{
"name": "group_scope",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optional parameter to filter tasks by their group number",
"default": 1,
"title": "Group Scope"
},
"description": "Optional parameter to filter tasks by their group number"
},
{
"name": "only_parent",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Fetch only parent tasks",
"default": false,
"title": "Only Parent"
},
"description": "Fetch only parent tasks"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/TaskDetailsShort"
},
"title": "Response Get Tasks Progress Summary"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/tasks/progress/{task_id}": {
"get": {
"tags": [
"tasks"
],
"summary": "Get Task Progress",
"description": "Retrieves the full task details of a specified task by task ID.\nAccess is restricted to the task owner or an administrator.",
"operationId": "get_task_progress",
"parameters": [
{
"name": "task_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Task Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {