@rearray/sdk 0.1.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.
@@ -0,0 +1,1145 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "reArray Integration API",
5
+ "version": "1.0.0",
6
+ "description": "Trigger reArray task executions, list and inspect them, manage callbacks. Authenticate with a Bearer API key (`ra_live_...`)."
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://api.rearray.ai/api/v1/integrations"
11
+ },
12
+ {
13
+ "url": "/api/v1/integrations"
14
+ }
15
+ ],
16
+ "components": {
17
+ "securitySchemes": {
18
+ "bearerApiKey": {
19
+ "type": "http",
20
+ "scheme": "bearer",
21
+ "bearerFormat": "API key"
22
+ }
23
+ },
24
+ "schemas": {
25
+ "Error": {
26
+ "type": "object",
27
+ "required": [
28
+ "error"
29
+ ],
30
+ "properties": {
31
+ "error": {
32
+ "type": "object",
33
+ "required": [
34
+ "code",
35
+ "message"
36
+ ],
37
+ "properties": {
38
+ "code": {
39
+ "type": "string",
40
+ "enum": [
41
+ "unauthorized",
42
+ "forbidden",
43
+ "ip_not_allowed",
44
+ "rate_limited",
45
+ "concurrency_limit_reached",
46
+ "idempotency_conflict",
47
+ "invalid_params",
48
+ "invalid_request",
49
+ "task_not_runnable",
50
+ "agent_unavailable",
51
+ "version_not_found",
52
+ "not_found",
53
+ "method_not_allowed",
54
+ "payload_too_large",
55
+ "internal_error"
56
+ ]
57
+ },
58
+ "message": {
59
+ "type": "string"
60
+ },
61
+ "details": {
62
+ "nullable": true
63
+ },
64
+ "request_id": {
65
+ "type": "string"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "Execution": {
72
+ "type": "object",
73
+ "properties": {
74
+ "id": {
75
+ "type": "string",
76
+ "format": "uuid"
77
+ },
78
+ "status": {
79
+ "type": "string"
80
+ },
81
+ "task_id": {
82
+ "type": "string",
83
+ "format": "uuid"
84
+ },
85
+ "task_version_id": {
86
+ "type": "string",
87
+ "format": "uuid",
88
+ "nullable": true
89
+ },
90
+ "agent_id": {
91
+ "type": "string",
92
+ "format": "uuid"
93
+ },
94
+ "reference": {
95
+ "type": "string",
96
+ "nullable": true
97
+ },
98
+ "metadata": {
99
+ "type": "object",
100
+ "additionalProperties": true,
101
+ "nullable": true
102
+ },
103
+ "params": {
104
+ "type": "object",
105
+ "additionalProperties": true,
106
+ "nullable": true
107
+ },
108
+ "result": {
109
+ "nullable": true
110
+ },
111
+ "error_message": {
112
+ "type": "string",
113
+ "nullable": true
114
+ },
115
+ "started_at": {
116
+ "type": "string",
117
+ "format": "date-time",
118
+ "nullable": true
119
+ },
120
+ "stopped_at": {
121
+ "type": "string",
122
+ "format": "date-time",
123
+ "nullable": true
124
+ },
125
+ "created_at": {
126
+ "type": "string",
127
+ "format": "date-time"
128
+ },
129
+ "updated_at": {
130
+ "type": "string",
131
+ "format": "date-time"
132
+ },
133
+ "scheduled_at": {
134
+ "type": "string",
135
+ "format": "date-time",
136
+ "nullable": true
137
+ },
138
+ "priority": {
139
+ "type": "integer"
140
+ },
141
+ "downloads": {
142
+ "type": "array",
143
+ "items": {
144
+ "$ref": "#/components/schemas/ExecutionFile"
145
+ }
146
+ },
147
+ "prints": {
148
+ "type": "array",
149
+ "items": {
150
+ "$ref": "#/components/schemas/ExecutionFile"
151
+ }
152
+ },
153
+ "screenshots": {
154
+ "type": "array",
155
+ "items": {
156
+ "$ref": "#/components/schemas/ExecutionFile"
157
+ }
158
+ }
159
+ }
160
+ },
161
+ "ExecutionDetail": {
162
+ "type": "object",
163
+ "properties": {
164
+ "execution_id": {
165
+ "type": "string",
166
+ "format": "uuid"
167
+ },
168
+ "status": {
169
+ "type": "string"
170
+ },
171
+ "task_id": {
172
+ "type": "string",
173
+ "format": "uuid"
174
+ },
175
+ "task_version_id": {
176
+ "type": "string",
177
+ "format": "uuid",
178
+ "nullable": true
179
+ },
180
+ "agent_id": {
181
+ "type": "string",
182
+ "format": "uuid"
183
+ },
184
+ "reference": {
185
+ "type": "string",
186
+ "nullable": true
187
+ },
188
+ "metadata": {
189
+ "type": "object",
190
+ "additionalProperties": true,
191
+ "nullable": true
192
+ },
193
+ "params": {
194
+ "type": "object",
195
+ "additionalProperties": true,
196
+ "nullable": true
197
+ },
198
+ "result": {
199
+ "nullable": true
200
+ },
201
+ "error_message": {
202
+ "type": "string",
203
+ "nullable": true
204
+ },
205
+ "started_at": {
206
+ "type": "string",
207
+ "format": "date-time",
208
+ "nullable": true
209
+ },
210
+ "stopped_at": {
211
+ "type": "string",
212
+ "format": "date-time",
213
+ "nullable": true
214
+ },
215
+ "created_at": {
216
+ "type": "string",
217
+ "format": "date-time"
218
+ },
219
+ "updated_at": {
220
+ "type": "string",
221
+ "format": "date-time"
222
+ },
223
+ "scheduled_at": {
224
+ "type": "string",
225
+ "format": "date-time",
226
+ "nullable": true
227
+ },
228
+ "priority": {
229
+ "type": "integer"
230
+ },
231
+ "downloads": {
232
+ "type": "array",
233
+ "items": {
234
+ "$ref": "#/components/schemas/ExecutionFile"
235
+ }
236
+ },
237
+ "prints": {
238
+ "type": "array",
239
+ "items": {
240
+ "$ref": "#/components/schemas/ExecutionFile"
241
+ }
242
+ },
243
+ "screenshots": {
244
+ "type": "array",
245
+ "items": {
246
+ "$ref": "#/components/schemas/ExecutionFile"
247
+ }
248
+ },
249
+ "request_id": {
250
+ "type": "string"
251
+ }
252
+ }
253
+ },
254
+ "ExecutionFile": {
255
+ "type": "object",
256
+ "properties": {
257
+ "id": {
258
+ "type": "string",
259
+ "format": "uuid"
260
+ },
261
+ "file_name": {
262
+ "type": "string"
263
+ },
264
+ "content_type": {
265
+ "type": "string"
266
+ },
267
+ "size_bytes": {
268
+ "type": "integer"
269
+ },
270
+ "url": {
271
+ "type": "string",
272
+ "format": "uri"
273
+ }
274
+ }
275
+ },
276
+ "ExecutionVideo": {
277
+ "type": "object",
278
+ "properties": {
279
+ "platform_id": {
280
+ "type": "string",
281
+ "nullable": true
282
+ },
283
+ "handler": {
284
+ "type": "string",
285
+ "nullable": true
286
+ },
287
+ "started_offset_ms": {
288
+ "type": "integer"
289
+ },
290
+ "storage_key": {
291
+ "type": "string"
292
+ },
293
+ "signed_url": {
294
+ "type": "string",
295
+ "format": "uri",
296
+ "nullable": true
297
+ },
298
+ "expires_in_seconds": {
299
+ "type": "integer"
300
+ },
301
+ "error": {
302
+ "type": "string",
303
+ "nullable": true
304
+ }
305
+ }
306
+ },
307
+ "Task": {
308
+ "type": "object",
309
+ "properties": {
310
+ "id": {
311
+ "type": "string",
312
+ "format": "uuid"
313
+ },
314
+ "name": {
315
+ "type": "string",
316
+ "nullable": true
317
+ },
318
+ "description": {
319
+ "type": "string",
320
+ "nullable": true
321
+ },
322
+ "current_version_id": {
323
+ "type": "string",
324
+ "format": "uuid",
325
+ "nullable": true
326
+ },
327
+ "created_at": {
328
+ "type": "string",
329
+ "format": "date-time"
330
+ },
331
+ "updated_at": {
332
+ "type": "string",
333
+ "format": "date-time"
334
+ }
335
+ }
336
+ },
337
+ "TaskDetail": {
338
+ "type": "object",
339
+ "properties": {
340
+ "id": {
341
+ "type": "string",
342
+ "format": "uuid"
343
+ },
344
+ "name": {
345
+ "type": "string",
346
+ "nullable": true
347
+ },
348
+ "description": {
349
+ "type": "string",
350
+ "nullable": true
351
+ },
352
+ "current_version": {
353
+ "type": "object",
354
+ "properties": {
355
+ "id": {
356
+ "type": "string",
357
+ "format": "uuid"
358
+ },
359
+ "version_number": {
360
+ "type": "integer"
361
+ },
362
+ "tag": {
363
+ "type": "string",
364
+ "nullable": true
365
+ },
366
+ "params_schema": {
367
+ "nullable": true
368
+ },
369
+ "created_at": {
370
+ "type": "string",
371
+ "format": "date-time"
372
+ }
373
+ },
374
+ "nullable": true
375
+ },
376
+ "platform_ids": {
377
+ "type": "array",
378
+ "items": {
379
+ "type": "string"
380
+ }
381
+ },
382
+ "created_at": {
383
+ "type": "string",
384
+ "format": "date-time"
385
+ },
386
+ "updated_at": {
387
+ "type": "string",
388
+ "format": "date-time"
389
+ },
390
+ "request_id": {
391
+ "type": "string"
392
+ }
393
+ }
394
+ },
395
+ "TaskVersionSummary": {
396
+ "type": "object",
397
+ "properties": {
398
+ "id": {
399
+ "type": "string",
400
+ "format": "uuid"
401
+ },
402
+ "version_number": {
403
+ "type": "integer"
404
+ },
405
+ "tag": {
406
+ "type": "string",
407
+ "nullable": true
408
+ },
409
+ "params_schema": {
410
+ "nullable": true
411
+ },
412
+ "created_at": {
413
+ "type": "string",
414
+ "format": "date-time"
415
+ }
416
+ }
417
+ },
418
+ "Agent": {
419
+ "type": "object",
420
+ "properties": {
421
+ "id": {
422
+ "type": "string",
423
+ "format": "uuid"
424
+ },
425
+ "name": {
426
+ "type": "string",
427
+ "nullable": true
428
+ },
429
+ "description": {
430
+ "type": "string",
431
+ "nullable": true
432
+ },
433
+ "enabled": {
434
+ "type": "boolean"
435
+ },
436
+ "created_at": {
437
+ "type": "string",
438
+ "format": "date-time"
439
+ },
440
+ "updated_at": {
441
+ "type": "string",
442
+ "format": "date-time"
443
+ }
444
+ }
445
+ },
446
+ "CreateExecutionRequest": {
447
+ "type": "object",
448
+ "required": [
449
+ "agent_id"
450
+ ],
451
+ "properties": {
452
+ "task_id": {
453
+ "type": "string",
454
+ "format": "uuid"
455
+ },
456
+ "task_version_id": {
457
+ "type": "string",
458
+ "format": "uuid"
459
+ },
460
+ "agent_id": {
461
+ "type": "string",
462
+ "format": "uuid"
463
+ },
464
+ "params": {
465
+ "type": "object",
466
+ "additionalProperties": true
467
+ },
468
+ "version": {
469
+ "type": "string"
470
+ },
471
+ "reference": {
472
+ "type": "string"
473
+ },
474
+ "metadata": {
475
+ "type": "object",
476
+ "additionalProperties": true
477
+ },
478
+ "callback_url": {
479
+ "type": "string",
480
+ "format": "uri"
481
+ },
482
+ "scheduled_at": {
483
+ "type": "string",
484
+ "format": "date-time"
485
+ },
486
+ "priority": {
487
+ "type": "integer"
488
+ }
489
+ }
490
+ },
491
+ "CreateExecutionResponse": {
492
+ "type": "object",
493
+ "properties": {
494
+ "execution_id": {
495
+ "type": "string",
496
+ "format": "uuid",
497
+ "nullable": true
498
+ },
499
+ "status": {
500
+ "type": "string"
501
+ },
502
+ "reference": {
503
+ "type": "string",
504
+ "nullable": true
505
+ },
506
+ "metadata": {
507
+ "type": "object",
508
+ "additionalProperties": true,
509
+ "nullable": true
510
+ },
511
+ "task_id": {
512
+ "type": "string",
513
+ "format": "uuid"
514
+ },
515
+ "task_version_id": {
516
+ "type": "string",
517
+ "format": "uuid",
518
+ "nullable": true
519
+ },
520
+ "scheduled_at": {
521
+ "type": "string",
522
+ "format": "date-time",
523
+ "nullable": true
524
+ },
525
+ "priority": {
526
+ "type": "integer"
527
+ },
528
+ "request_id": {
529
+ "type": "string"
530
+ },
531
+ "idempotent_replay": {
532
+ "type": "boolean"
533
+ },
534
+ "would_create": {
535
+ "type": "boolean"
536
+ }
537
+ }
538
+ },
539
+ "CancelExecutionResponse": {
540
+ "type": "object",
541
+ "properties": {
542
+ "execution_id": {
543
+ "type": "string",
544
+ "format": "uuid"
545
+ },
546
+ "status": {
547
+ "type": "string"
548
+ },
549
+ "request_id": {
550
+ "type": "string"
551
+ }
552
+ }
553
+ },
554
+ "ArtifactsResponse": {
555
+ "type": "object",
556
+ "properties": {
557
+ "execution_id": {
558
+ "type": "string",
559
+ "format": "uuid"
560
+ },
561
+ "status": {
562
+ "type": "string"
563
+ },
564
+ "started_at": {
565
+ "type": "string",
566
+ "format": "date-time",
567
+ "nullable": true
568
+ },
569
+ "stopped_at": {
570
+ "type": "string",
571
+ "format": "date-time",
572
+ "nullable": true
573
+ },
574
+ "videos": {
575
+ "type": "array",
576
+ "items": {
577
+ "$ref": "#/components/schemas/ExecutionVideo"
578
+ }
579
+ },
580
+ "downloads": {
581
+ "type": "array",
582
+ "items": {
583
+ "$ref": "#/components/schemas/ExecutionFile"
584
+ }
585
+ },
586
+ "prints": {
587
+ "type": "array",
588
+ "items": {
589
+ "$ref": "#/components/schemas/ExecutionFile"
590
+ }
591
+ },
592
+ "screenshots": {
593
+ "type": "array",
594
+ "items": {
595
+ "$ref": "#/components/schemas/ExecutionFile"
596
+ }
597
+ },
598
+ "request_id": {
599
+ "type": "string"
600
+ }
601
+ }
602
+ },
603
+ "ParamsSchemaResponse": {
604
+ "type": "object",
605
+ "properties": {
606
+ "version": {
607
+ "type": "object",
608
+ "properties": {
609
+ "id": {
610
+ "type": "string",
611
+ "format": "uuid"
612
+ },
613
+ "version_number": {
614
+ "type": "integer"
615
+ },
616
+ "tag": {
617
+ "type": "string",
618
+ "nullable": true
619
+ },
620
+ "created_at": {
621
+ "type": "string",
622
+ "format": "date-time"
623
+ }
624
+ }
625
+ },
626
+ "params_schema": {
627
+ "nullable": true
628
+ },
629
+ "store_schema": {
630
+ "nullable": true
631
+ },
632
+ "request_id": {
633
+ "type": "string"
634
+ }
635
+ }
636
+ },
637
+ "TaskListResponse": {
638
+ "type": "object",
639
+ "properties": {
640
+ "data": {
641
+ "type": "array",
642
+ "items": {
643
+ "$ref": "#/components/schemas/Task"
644
+ }
645
+ },
646
+ "request_id": {
647
+ "type": "string"
648
+ }
649
+ }
650
+ },
651
+ "AgentListResponse": {
652
+ "type": "object",
653
+ "properties": {
654
+ "data": {
655
+ "type": "array",
656
+ "items": {
657
+ "$ref": "#/components/schemas/Agent"
658
+ }
659
+ },
660
+ "request_id": {
661
+ "type": "string"
662
+ }
663
+ }
664
+ },
665
+ "WebhookTestRequest": {
666
+ "type": "object",
667
+ "required": [
668
+ "callback_url"
669
+ ],
670
+ "properties": {
671
+ "callback_url": {
672
+ "type": "string",
673
+ "format": "uri"
674
+ }
675
+ }
676
+ },
677
+ "WebhookTestResponse": {
678
+ "type": "object",
679
+ "properties": {
680
+ "delivery_id": {
681
+ "nullable": true
682
+ },
683
+ "event_id": {
684
+ "type": "string",
685
+ "format": "uuid"
686
+ },
687
+ "request_id": {
688
+ "type": "string"
689
+ }
690
+ }
691
+ }
692
+ }
693
+ },
694
+ "security": [
695
+ {
696
+ "bearerApiKey": []
697
+ }
698
+ ],
699
+ "paths": {
700
+ "/executions": {
701
+ "post": {
702
+ "summary": "Create execution",
703
+ "parameters": [
704
+ {
705
+ "name": "Idempotency-Key",
706
+ "in": "header",
707
+ "required": false,
708
+ "schema": {
709
+ "type": "string"
710
+ }
711
+ },
712
+ {
713
+ "name": "validate_only",
714
+ "in": "query",
715
+ "required": false,
716
+ "schema": {
717
+ "type": "boolean"
718
+ }
719
+ }
720
+ ],
721
+ "requestBody": {
722
+ "required": true,
723
+ "content": {
724
+ "application/json": {
725
+ "schema": {
726
+ "$ref": "#/components/schemas/CreateExecutionRequest"
727
+ }
728
+ }
729
+ }
730
+ },
731
+ "responses": {
732
+ "200": {
733
+ "description": "Idempotent replay or validate_only response.",
734
+ "content": {
735
+ "application/json": {
736
+ "schema": {
737
+ "$ref": "#/components/schemas/CreateExecutionResponse"
738
+ }
739
+ }
740
+ }
741
+ },
742
+ "201": {
743
+ "description": "Execution queued.",
744
+ "content": {
745
+ "application/json": {
746
+ "schema": {
747
+ "$ref": "#/components/schemas/CreateExecutionResponse"
748
+ }
749
+ }
750
+ }
751
+ },
752
+ "422": {
753
+ "description": "Validation error.",
754
+ "content": {
755
+ "application/json": {
756
+ "schema": {
757
+ "$ref": "#/components/schemas/Error"
758
+ }
759
+ }
760
+ }
761
+ }
762
+ }
763
+ },
764
+ "get": {
765
+ "summary": "List executions",
766
+ "parameters": [
767
+ {
768
+ "name": "status",
769
+ "in": "query",
770
+ "required": false,
771
+ "schema": {
772
+ "type": "string"
773
+ }
774
+ },
775
+ {
776
+ "name": "task_id",
777
+ "in": "query",
778
+ "required": false,
779
+ "schema": {
780
+ "type": "string"
781
+ }
782
+ },
783
+ {
784
+ "name": "agent_id",
785
+ "in": "query",
786
+ "required": false,
787
+ "schema": {
788
+ "type": "string"
789
+ }
790
+ },
791
+ {
792
+ "name": "reference",
793
+ "in": "query",
794
+ "required": false,
795
+ "schema": {
796
+ "type": "string"
797
+ }
798
+ },
799
+ {
800
+ "name": "from",
801
+ "in": "query",
802
+ "required": false,
803
+ "schema": {
804
+ "type": "string",
805
+ "format": "date-time"
806
+ }
807
+ },
808
+ {
809
+ "name": "to",
810
+ "in": "query",
811
+ "required": false,
812
+ "schema": {
813
+ "type": "string",
814
+ "format": "date-time"
815
+ }
816
+ },
817
+ {
818
+ "name": "cursor",
819
+ "in": "query",
820
+ "required": false,
821
+ "schema": {
822
+ "type": "string"
823
+ }
824
+ },
825
+ {
826
+ "name": "limit",
827
+ "in": "query",
828
+ "required": false,
829
+ "schema": {
830
+ "type": "integer"
831
+ }
832
+ }
833
+ ],
834
+ "responses": {
835
+ "200": {
836
+ "description": "OK",
837
+ "content": {
838
+ "application/json": {
839
+ "schema": {
840
+ "type": "object",
841
+ "properties": {
842
+ "data": {
843
+ "type": "array",
844
+ "items": {
845
+ "$ref": "#/components/schemas/Execution"
846
+ }
847
+ },
848
+ "next_cursor": {
849
+ "type": "string",
850
+ "nullable": true
851
+ },
852
+ "request_id": {
853
+ "type": "string"
854
+ }
855
+ }
856
+ }
857
+ }
858
+ }
859
+ }
860
+ }
861
+ }
862
+ },
863
+ "/executions/{id}": {
864
+ "parameters": [
865
+ {
866
+ "name": "id",
867
+ "in": "path",
868
+ "required": true,
869
+ "schema": {
870
+ "type": "string",
871
+ "format": "uuid"
872
+ }
873
+ }
874
+ ],
875
+ "get": {
876
+ "summary": "Get execution by id",
877
+ "responses": {
878
+ "200": {
879
+ "description": "OK",
880
+ "content": {
881
+ "application/json": {
882
+ "schema": {
883
+ "$ref": "#/components/schemas/ExecutionDetail"
884
+ }
885
+ }
886
+ }
887
+ },
888
+ "404": {
889
+ "description": "Not found.",
890
+ "content": {
891
+ "application/json": {
892
+ "schema": {
893
+ "$ref": "#/components/schemas/Error"
894
+ }
895
+ }
896
+ }
897
+ }
898
+ }
899
+ }
900
+ },
901
+ "/executions/{id}/cancel": {
902
+ "parameters": [
903
+ {
904
+ "name": "id",
905
+ "in": "path",
906
+ "required": true,
907
+ "schema": {
908
+ "type": "string",
909
+ "format": "uuid"
910
+ }
911
+ }
912
+ ],
913
+ "post": {
914
+ "summary": "Cancel execution",
915
+ "responses": {
916
+ "200": {
917
+ "description": "Cancelled.",
918
+ "content": {
919
+ "application/json": {
920
+ "schema": {
921
+ "$ref": "#/components/schemas/CancelExecutionResponse"
922
+ }
923
+ }
924
+ }
925
+ }
926
+ }
927
+ }
928
+ },
929
+ "/executions/{id}/artifacts": {
930
+ "parameters": [
931
+ {
932
+ "name": "id",
933
+ "in": "path",
934
+ "required": true,
935
+ "schema": {
936
+ "type": "string",
937
+ "format": "uuid"
938
+ }
939
+ }
940
+ ],
941
+ "get": {
942
+ "summary": "List execution artifacts (videos, downloads, prints, screenshots)",
943
+ "responses": {
944
+ "200": {
945
+ "description": "Signed video URLs and protected file links.",
946
+ "content": {
947
+ "application/json": {
948
+ "schema": {
949
+ "$ref": "#/components/schemas/ArtifactsResponse"
950
+ }
951
+ }
952
+ }
953
+ },
954
+ "404": {
955
+ "description": "Not found.",
956
+ "content": {
957
+ "application/json": {
958
+ "schema": {
959
+ "$ref": "#/components/schemas/Error"
960
+ }
961
+ }
962
+ }
963
+ }
964
+ }
965
+ }
966
+ },
967
+ "/executions/{id}/files/{fileId}": {
968
+ "parameters": [
969
+ {
970
+ "name": "id",
971
+ "in": "path",
972
+ "required": true,
973
+ "schema": {
974
+ "type": "string",
975
+ "format": "uuid"
976
+ }
977
+ },
978
+ {
979
+ "name": "fileId",
980
+ "in": "path",
981
+ "required": true,
982
+ "schema": {
983
+ "type": "string",
984
+ "format": "uuid"
985
+ }
986
+ }
987
+ ],
988
+ "get": {
989
+ "summary": "Download one execution file",
990
+ "responses": {
991
+ "302": {
992
+ "description": "Redirect to short-lived signed storage URL."
993
+ }
994
+ }
995
+ }
996
+ },
997
+ "/tasks": {
998
+ "get": {
999
+ "summary": "List runnable tasks for this API key",
1000
+ "responses": {
1001
+ "200": {
1002
+ "description": "OK",
1003
+ "content": {
1004
+ "application/json": {
1005
+ "schema": {
1006
+ "$ref": "#/components/schemas/TaskListResponse"
1007
+ }
1008
+ }
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+ },
1014
+ "/tasks/{id}": {
1015
+ "parameters": [
1016
+ {
1017
+ "name": "id",
1018
+ "in": "path",
1019
+ "required": true,
1020
+ "schema": {
1021
+ "type": "string",
1022
+ "format": "uuid"
1023
+ }
1024
+ }
1025
+ ],
1026
+ "get": {
1027
+ "summary": "Get task",
1028
+ "responses": {
1029
+ "200": {
1030
+ "description": "OK",
1031
+ "content": {
1032
+ "application/json": {
1033
+ "schema": {
1034
+ "$ref": "#/components/schemas/TaskDetail"
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ "404": {
1040
+ "description": "Not found.",
1041
+ "content": {
1042
+ "application/json": {
1043
+ "schema": {
1044
+ "$ref": "#/components/schemas/Error"
1045
+ }
1046
+ }
1047
+ }
1048
+ }
1049
+ }
1050
+ }
1051
+ },
1052
+ "/tasks/{id}/params-schema": {
1053
+ "parameters": [
1054
+ {
1055
+ "name": "id",
1056
+ "in": "path",
1057
+ "required": true,
1058
+ "schema": {
1059
+ "type": "string",
1060
+ "format": "uuid"
1061
+ }
1062
+ }
1063
+ ],
1064
+ "get": {
1065
+ "summary": "Get params schema for a task version",
1066
+ "parameters": [
1067
+ {
1068
+ "name": "version",
1069
+ "in": "query",
1070
+ "required": false,
1071
+ "schema": {
1072
+ "type": "string"
1073
+ }
1074
+ }
1075
+ ],
1076
+ "responses": {
1077
+ "200": {
1078
+ "description": "OK",
1079
+ "content": {
1080
+ "application/json": {
1081
+ "schema": {
1082
+ "$ref": "#/components/schemas/ParamsSchemaResponse"
1083
+ }
1084
+ }
1085
+ }
1086
+ },
1087
+ "404": {
1088
+ "description": "Not found.",
1089
+ "content": {
1090
+ "application/json": {
1091
+ "schema": {
1092
+ "$ref": "#/components/schemas/Error"
1093
+ }
1094
+ }
1095
+ }
1096
+ }
1097
+ }
1098
+ }
1099
+ },
1100
+ "/agents": {
1101
+ "get": {
1102
+ "summary": "List agents available to this API key",
1103
+ "responses": {
1104
+ "200": {
1105
+ "description": "OK",
1106
+ "content": {
1107
+ "application/json": {
1108
+ "schema": {
1109
+ "$ref": "#/components/schemas/AgentListResponse"
1110
+ }
1111
+ }
1112
+ }
1113
+ }
1114
+ }
1115
+ }
1116
+ },
1117
+ "/webhooks/test": {
1118
+ "post": {
1119
+ "summary": "Send a test webhook to a target URL",
1120
+ "requestBody": {
1121
+ "required": true,
1122
+ "content": {
1123
+ "application/json": {
1124
+ "schema": {
1125
+ "$ref": "#/components/schemas/WebhookTestRequest"
1126
+ }
1127
+ }
1128
+ }
1129
+ },
1130
+ "responses": {
1131
+ "202": {
1132
+ "description": "Enqueued.",
1133
+ "content": {
1134
+ "application/json": {
1135
+ "schema": {
1136
+ "$ref": "#/components/schemas/WebhookTestResponse"
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+ }
1142
+ }
1143
+ }
1144
+ }
1145
+ }