@andamio/db-api-types 1.0.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.
package/dist/api.d.ts ADDED
@@ -0,0 +1,4057 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/health": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /**
14
+ * Health check
15
+ * @description Returns API health status and service information
16
+ */
17
+ get: {
18
+ parameters: {
19
+ query?: never;
20
+ header?: never;
21
+ path?: never;
22
+ cookie?: never;
23
+ };
24
+ requestBody?: never;
25
+ responses: {
26
+ /** @description Service is healthy */
27
+ 200: {
28
+ headers: {
29
+ [name: string]: unknown;
30
+ };
31
+ content: {
32
+ "application/json": components["schemas"]["HealthResponse"];
33
+ };
34
+ };
35
+ };
36
+ };
37
+ put?: never;
38
+ post?: never;
39
+ delete?: never;
40
+ options?: never;
41
+ head?: never;
42
+ patch?: never;
43
+ trace?: never;
44
+ };
45
+ "/auth/login/session": {
46
+ parameters: {
47
+ query?: never;
48
+ header?: never;
49
+ path?: never;
50
+ cookie?: never;
51
+ };
52
+ get?: never;
53
+ put?: never;
54
+ /**
55
+ * Start login session
56
+ * @description Initiates wallet-based authentication by generating a nonce
57
+ */
58
+ post: {
59
+ parameters: {
60
+ query?: never;
61
+ header?: never;
62
+ path?: never;
63
+ cookie?: never;
64
+ };
65
+ requestBody?: never;
66
+ responses: {
67
+ /** @description Session created */
68
+ 200: {
69
+ headers: {
70
+ [name: string]: unknown;
71
+ };
72
+ content: {
73
+ "application/json": components["schemas"]["LoginSessionResponse"];
74
+ };
75
+ };
76
+ };
77
+ };
78
+ delete?: never;
79
+ options?: never;
80
+ head?: never;
81
+ patch?: never;
82
+ trace?: never;
83
+ };
84
+ "/auth/login/validate": {
85
+ parameters: {
86
+ query?: never;
87
+ header?: never;
88
+ path?: never;
89
+ cookie?: never;
90
+ };
91
+ get?: never;
92
+ put?: never;
93
+ /**
94
+ * Validate wallet signature
95
+ * @description Validates CIP-30 wallet signature and returns JWT token
96
+ */
97
+ post: {
98
+ parameters: {
99
+ query?: never;
100
+ header?: never;
101
+ path?: never;
102
+ cookie?: never;
103
+ };
104
+ requestBody: {
105
+ content: {
106
+ "application/json": components["schemas"]["ValidateSignatureRequest"];
107
+ };
108
+ };
109
+ responses: {
110
+ /** @description Authentication successful */
111
+ 200: {
112
+ headers: {
113
+ [name: string]: unknown;
114
+ };
115
+ content: {
116
+ "application/json": components["schemas"]["ValidateSignatureResponse"];
117
+ };
118
+ };
119
+ };
120
+ };
121
+ delete?: never;
122
+ options?: never;
123
+ head?: never;
124
+ patch?: never;
125
+ trace?: never;
126
+ };
127
+ "/user/access-token-alias": {
128
+ parameters: {
129
+ query?: never;
130
+ header?: never;
131
+ path?: never;
132
+ cookie?: never;
133
+ };
134
+ get?: never;
135
+ put?: never;
136
+ /**
137
+ * Update access token alias
138
+ * @description Updates the user's Andamio access token alias
139
+ */
140
+ post: {
141
+ parameters: {
142
+ query?: never;
143
+ header?: never;
144
+ path?: never;
145
+ cookie?: never;
146
+ };
147
+ requestBody: {
148
+ content: {
149
+ "application/json": {
150
+ access_token_alias: string;
151
+ };
152
+ };
153
+ };
154
+ responses: {
155
+ /** @description Access token alias updated */
156
+ 200: {
157
+ headers: {
158
+ [name: string]: unknown;
159
+ };
160
+ content?: never;
161
+ };
162
+ };
163
+ };
164
+ delete?: never;
165
+ options?: never;
166
+ head?: never;
167
+ patch?: never;
168
+ trace?: never;
169
+ };
170
+ "/user/unconfirmed-tx": {
171
+ parameters: {
172
+ query?: never;
173
+ header?: never;
174
+ path?: never;
175
+ cookie?: never;
176
+ };
177
+ /**
178
+ * Get unconfirmed transaction
179
+ * @description Returns the user's pending unconfirmed transaction hash
180
+ */
181
+ get: {
182
+ parameters: {
183
+ query?: never;
184
+ header?: never;
185
+ path?: never;
186
+ cookie?: never;
187
+ };
188
+ requestBody?: never;
189
+ responses: {
190
+ /** @description Unconfirmed transaction returned */
191
+ 200: {
192
+ headers: {
193
+ [name: string]: unknown;
194
+ };
195
+ content?: never;
196
+ };
197
+ };
198
+ };
199
+ put?: never;
200
+ /**
201
+ * Update unconfirmed transaction
202
+ * @description Sets or clears the user's pending transaction hash
203
+ */
204
+ post: {
205
+ parameters: {
206
+ query?: never;
207
+ header?: never;
208
+ path?: never;
209
+ cookie?: never;
210
+ };
211
+ requestBody: {
212
+ content: {
213
+ "application/json": {
214
+ tx_hash?: string | null;
215
+ };
216
+ };
217
+ };
218
+ responses: {
219
+ /** @description Unconfirmed transaction updated */
220
+ 200: {
221
+ headers: {
222
+ [name: string]: unknown;
223
+ };
224
+ content?: never;
225
+ };
226
+ };
227
+ };
228
+ delete?: never;
229
+ options?: never;
230
+ head?: never;
231
+ patch?: never;
232
+ trace?: never;
233
+ };
234
+ "/user/init-roles": {
235
+ parameters: {
236
+ query?: never;
237
+ header?: never;
238
+ path?: never;
239
+ cookie?: never;
240
+ };
241
+ get?: never;
242
+ put?: never;
243
+ /**
244
+ * Initialize all user roles
245
+ * @description Creates all 5 roles (Creator, Learner, TreasuryOwner, ContributionManager, Contributor) for the authenticated user
246
+ */
247
+ post: {
248
+ parameters: {
249
+ query?: never;
250
+ header?: never;
251
+ path?: never;
252
+ cookie?: never;
253
+ };
254
+ requestBody?: never;
255
+ responses: {
256
+ /** @description All roles initialized */
257
+ 200: {
258
+ headers: {
259
+ [name: string]: unknown;
260
+ };
261
+ content?: never;
262
+ };
263
+ };
264
+ };
265
+ delete?: never;
266
+ options?: never;
267
+ head?: never;
268
+ patch?: never;
269
+ trace?: never;
270
+ };
271
+ "/user/pending-transactions": {
272
+ parameters: {
273
+ query?: never;
274
+ header?: never;
275
+ path?: never;
276
+ cookie?: never;
277
+ };
278
+ /**
279
+ * List pending transactions
280
+ * @description Returns all pending blockchain transactions for the user
281
+ */
282
+ get: {
283
+ parameters: {
284
+ query?: never;
285
+ header?: never;
286
+ path?: never;
287
+ cookie?: never;
288
+ };
289
+ requestBody?: never;
290
+ responses: {
291
+ /** @description List of pending transactions */
292
+ 200: {
293
+ headers: {
294
+ [name: string]: unknown;
295
+ };
296
+ content?: never;
297
+ };
298
+ };
299
+ };
300
+ put?: never;
301
+ post?: never;
302
+ delete?: never;
303
+ options?: never;
304
+ head?: never;
305
+ patch?: never;
306
+ trace?: never;
307
+ };
308
+ "/course/public/courses/list": {
309
+ parameters: {
310
+ query?: never;
311
+ header?: never;
312
+ path?: never;
313
+ cookie?: never;
314
+ };
315
+ /**
316
+ * List published courses
317
+ * @description Returns all published courses (with NFT policy ID)
318
+ */
319
+ get: {
320
+ parameters: {
321
+ query?: never;
322
+ header?: never;
323
+ path?: never;
324
+ cookie?: never;
325
+ };
326
+ requestBody?: never;
327
+ responses: {
328
+ /** @description List of published courses */
329
+ 200: {
330
+ headers: {
331
+ [name: string]: unknown;
332
+ };
333
+ content: {
334
+ "application/json": components["schemas"]["CourseListResponse"];
335
+ };
336
+ };
337
+ };
338
+ };
339
+ put?: never;
340
+ post?: never;
341
+ delete?: never;
342
+ options?: never;
343
+ head?: never;
344
+ patch?: never;
345
+ trace?: never;
346
+ };
347
+ "/course/public/course/get/{policy_id}": {
348
+ parameters: {
349
+ query?: never;
350
+ header?: never;
351
+ path?: never;
352
+ cookie?: never;
353
+ };
354
+ /**
355
+ * Get course by policy ID
356
+ * @description Returns course details by NFT policy ID
357
+ */
358
+ get: {
359
+ parameters: {
360
+ query?: never;
361
+ header?: never;
362
+ path: {
363
+ policy_id: string;
364
+ };
365
+ cookie?: never;
366
+ };
367
+ requestBody?: never;
368
+ responses: {
369
+ /** @description Course details */
370
+ 200: {
371
+ headers: {
372
+ [name: string]: unknown;
373
+ };
374
+ content: {
375
+ "application/json": components["schemas"]["CourseResponse"];
376
+ };
377
+ };
378
+ /** @description Course not found */
379
+ 404: {
380
+ headers: {
381
+ [name: string]: unknown;
382
+ };
383
+ content: {
384
+ "application/json": components["schemas"]["Error"];
385
+ };
386
+ };
387
+ };
388
+ };
389
+ put?: never;
390
+ post?: never;
391
+ delete?: never;
392
+ options?: never;
393
+ head?: never;
394
+ patch?: never;
395
+ trace?: never;
396
+ };
397
+ "/course/public/course/check/{code}": {
398
+ parameters: {
399
+ query?: never;
400
+ header?: never;
401
+ path?: never;
402
+ cookie?: never;
403
+ };
404
+ /**
405
+ * Check if course code exists
406
+ * @description Checks if a course code is already in use
407
+ */
408
+ get: {
409
+ parameters: {
410
+ query?: never;
411
+ header?: never;
412
+ path: {
413
+ code: string;
414
+ };
415
+ cookie?: never;
416
+ };
417
+ requestBody?: never;
418
+ responses: {
419
+ /** @description Returns exists boolean */
420
+ 200: {
421
+ headers: {
422
+ [name: string]: unknown;
423
+ };
424
+ content?: never;
425
+ };
426
+ };
427
+ };
428
+ put?: never;
429
+ post?: never;
430
+ delete?: never;
431
+ options?: never;
432
+ head?: never;
433
+ patch?: never;
434
+ trace?: never;
435
+ };
436
+ "/course/owner/courses/list": {
437
+ parameters: {
438
+ query?: never;
439
+ header?: never;
440
+ path?: never;
441
+ cookie?: never;
442
+ };
443
+ get?: never;
444
+ put?: never;
445
+ /**
446
+ * List owned courses
447
+ * @description Returns courses owned or contributed by the authenticated creator
448
+ */
449
+ post: {
450
+ parameters: {
451
+ query?: never;
452
+ header?: never;
453
+ path?: never;
454
+ cookie?: never;
455
+ };
456
+ requestBody?: never;
457
+ responses: {
458
+ /** @description List of owned courses */
459
+ 200: {
460
+ headers: {
461
+ [name: string]: unknown;
462
+ };
463
+ content?: never;
464
+ };
465
+ };
466
+ };
467
+ delete?: never;
468
+ options?: never;
469
+ head?: never;
470
+ patch?: never;
471
+ trace?: never;
472
+ };
473
+ "/course/owner/course/create": {
474
+ parameters: {
475
+ query?: never;
476
+ header?: never;
477
+ path?: never;
478
+ cookie?: never;
479
+ };
480
+ get?: never;
481
+ put?: never;
482
+ /**
483
+ * Create course
484
+ * @description Creates a new course (draft)
485
+ */
486
+ post: {
487
+ parameters: {
488
+ query?: never;
489
+ header?: never;
490
+ path?: never;
491
+ cookie?: never;
492
+ };
493
+ requestBody: {
494
+ content: {
495
+ "application/json": components["schemas"]["CreateCourseRequest"];
496
+ };
497
+ };
498
+ responses: {
499
+ /** @description Course created */
500
+ 201: {
501
+ headers: {
502
+ [name: string]: unknown;
503
+ };
504
+ content?: never;
505
+ };
506
+ };
507
+ };
508
+ delete?: never;
509
+ options?: never;
510
+ head?: never;
511
+ patch?: never;
512
+ trace?: never;
513
+ };
514
+ "/course/owner/course/update": {
515
+ parameters: {
516
+ query?: never;
517
+ header?: never;
518
+ path?: never;
519
+ cookie?: never;
520
+ };
521
+ get?: never;
522
+ put?: never;
523
+ /**
524
+ * Update course
525
+ * @description Updates an existing course
526
+ */
527
+ post: {
528
+ parameters: {
529
+ query?: never;
530
+ header?: never;
531
+ path?: never;
532
+ cookie?: never;
533
+ };
534
+ requestBody: {
535
+ content: {
536
+ "application/json": components["schemas"]["UpdateCourseRequest"];
537
+ };
538
+ };
539
+ responses: {
540
+ /** @description Course updated */
541
+ 200: {
542
+ headers: {
543
+ [name: string]: unknown;
544
+ };
545
+ content?: never;
546
+ };
547
+ };
548
+ };
549
+ delete?: never;
550
+ options?: never;
551
+ head?: never;
552
+ patch?: never;
553
+ trace?: never;
554
+ };
555
+ "/course/owner/course/delete": {
556
+ parameters: {
557
+ query?: never;
558
+ header?: never;
559
+ path?: never;
560
+ cookie?: never;
561
+ };
562
+ get?: never;
563
+ put?: never;
564
+ /**
565
+ * Delete course
566
+ * @description Deletes a course (owner only)
567
+ */
568
+ post: {
569
+ parameters: {
570
+ query?: never;
571
+ header?: never;
572
+ path?: never;
573
+ cookie?: never;
574
+ };
575
+ requestBody: {
576
+ content: {
577
+ "application/json": {
578
+ course_code: string;
579
+ };
580
+ };
581
+ };
582
+ responses: {
583
+ /** @description Course deleted */
584
+ 200: {
585
+ headers: {
586
+ [name: string]: unknown;
587
+ };
588
+ content?: never;
589
+ };
590
+ };
591
+ };
592
+ delete?: never;
593
+ options?: never;
594
+ head?: never;
595
+ patch?: never;
596
+ trace?: never;
597
+ };
598
+ "/course/owner/course/mint": {
599
+ parameters: {
600
+ query?: never;
601
+ header?: never;
602
+ path?: never;
603
+ cookie?: never;
604
+ };
605
+ get?: never;
606
+ put?: never;
607
+ /**
608
+ * Create course on minting tx submission
609
+ * @description Creates a new course when a minting transaction is submitted (onSubmit side effect)
610
+ */
611
+ post: {
612
+ parameters: {
613
+ query?: never;
614
+ header?: never;
615
+ path?: never;
616
+ cookie?: never;
617
+ };
618
+ requestBody: {
619
+ content: {
620
+ "application/json": {
621
+ course_nft_policy_id: string;
622
+ title: string;
623
+ };
624
+ };
625
+ };
626
+ responses: {
627
+ /** @description Course created with policy ID */
628
+ 201: {
629
+ headers: {
630
+ [name: string]: unknown;
631
+ };
632
+ content?: never;
633
+ };
634
+ };
635
+ };
636
+ delete?: never;
637
+ options?: never;
638
+ head?: never;
639
+ patch?: never;
640
+ trace?: never;
641
+ };
642
+ "/course/owner/course/confirm-mint": {
643
+ parameters: {
644
+ query?: never;
645
+ header?: never;
646
+ path?: never;
647
+ cookie?: never;
648
+ };
649
+ get?: never;
650
+ put?: never;
651
+ /**
652
+ * Confirm course minting transaction
653
+ * @description Confirms a course creation after blockchain confirmation (sets live=true)
654
+ */
655
+ post: {
656
+ parameters: {
657
+ query?: never;
658
+ header?: never;
659
+ path?: never;
660
+ cookie?: never;
661
+ };
662
+ requestBody: {
663
+ content: {
664
+ "application/json": {
665
+ course_nft_policy_id: string;
666
+ tx_hash?: string;
667
+ };
668
+ };
669
+ };
670
+ responses: {
671
+ /** @description Course confirmed */
672
+ 200: {
673
+ headers: {
674
+ [name: string]: unknown;
675
+ };
676
+ content?: never;
677
+ };
678
+ };
679
+ };
680
+ delete?: never;
681
+ options?: never;
682
+ head?: never;
683
+ patch?: never;
684
+ trace?: never;
685
+ };
686
+ "/course/public/course-modules/list/{policy_id}": {
687
+ parameters: {
688
+ query?: never;
689
+ header?: never;
690
+ path?: never;
691
+ cookie?: never;
692
+ };
693
+ /**
694
+ * Get course modules
695
+ * @description Returns all modules for a course with SLT summaries
696
+ */
697
+ get: {
698
+ parameters: {
699
+ query?: never;
700
+ header?: never;
701
+ path: {
702
+ policy_id: string;
703
+ };
704
+ cookie?: never;
705
+ };
706
+ requestBody?: never;
707
+ responses: {
708
+ /** @description List of modules */
709
+ 200: {
710
+ headers: {
711
+ [name: string]: unknown;
712
+ };
713
+ content: {
714
+ "application/json": components["schemas"]["CourseModuleListResponse"];
715
+ };
716
+ };
717
+ };
718
+ };
719
+ put?: never;
720
+ post?: never;
721
+ delete?: never;
722
+ options?: never;
723
+ head?: never;
724
+ patch?: never;
725
+ trace?: never;
726
+ };
727
+ "/course/public/course-module/get/{policy_id}/{module_code}": {
728
+ parameters: {
729
+ query?: never;
730
+ header?: never;
731
+ path?: never;
732
+ cookie?: never;
733
+ };
734
+ /**
735
+ * Get single module
736
+ * @description Returns a single module with SLTs
737
+ */
738
+ get: {
739
+ parameters: {
740
+ query?: never;
741
+ header?: never;
742
+ path: {
743
+ policy_id: string;
744
+ module_code: string;
745
+ };
746
+ cookie?: never;
747
+ };
748
+ requestBody?: never;
749
+ responses: {
750
+ /** @description Module details */
751
+ 200: {
752
+ headers: {
753
+ [name: string]: unknown;
754
+ };
755
+ content?: never;
756
+ };
757
+ };
758
+ };
759
+ put?: never;
760
+ post?: never;
761
+ delete?: never;
762
+ options?: never;
763
+ head?: never;
764
+ patch?: never;
765
+ trace?: never;
766
+ };
767
+ "/course/public/course-modules/assignment-summary/{policy_id}": {
768
+ parameters: {
769
+ query?: never;
770
+ header?: never;
771
+ path?: never;
772
+ cookie?: never;
773
+ };
774
+ /**
775
+ * Get modules with assignment summary
776
+ * @description Returns modules with has_assignment flag
777
+ */
778
+ get: {
779
+ parameters: {
780
+ query?: never;
781
+ header?: never;
782
+ path: {
783
+ policy_id: string;
784
+ };
785
+ cookie?: never;
786
+ };
787
+ requestBody?: never;
788
+ responses: {
789
+ /** @description Modules with assignment info */
790
+ 200: {
791
+ headers: {
792
+ [name: string]: unknown;
793
+ };
794
+ content?: never;
795
+ };
796
+ };
797
+ };
798
+ put?: never;
799
+ post?: never;
800
+ delete?: never;
801
+ options?: never;
802
+ head?: never;
803
+ patch?: never;
804
+ trace?: never;
805
+ };
806
+ "/course/teacher/course-modules/list": {
807
+ parameters: {
808
+ query?: never;
809
+ header?: never;
810
+ path?: never;
811
+ cookie?: never;
812
+ };
813
+ get?: never;
814
+ put?: never;
815
+ /**
816
+ * Get modules for multiple courses
817
+ * @description Returns modules grouped by course policy ID
818
+ */
819
+ post: {
820
+ parameters: {
821
+ query?: never;
822
+ header?: never;
823
+ path?: never;
824
+ cookie?: never;
825
+ };
826
+ requestBody: {
827
+ content: {
828
+ "application/json": {
829
+ course_nft_policy_ids?: string[];
830
+ };
831
+ };
832
+ };
833
+ responses: {
834
+ /** @description Modules grouped by course */
835
+ 200: {
836
+ headers: {
837
+ [name: string]: unknown;
838
+ };
839
+ content?: never;
840
+ };
841
+ };
842
+ };
843
+ delete?: never;
844
+ options?: never;
845
+ head?: never;
846
+ patch?: never;
847
+ trace?: never;
848
+ };
849
+ "/course/teacher/course-module/create": {
850
+ parameters: {
851
+ query?: never;
852
+ header?: never;
853
+ path?: never;
854
+ cookie?: never;
855
+ };
856
+ get?: never;
857
+ put?: never;
858
+ /**
859
+ * Create module
860
+ * @description Creates a new module in a course
861
+ */
862
+ post: {
863
+ parameters: {
864
+ query?: never;
865
+ header?: never;
866
+ path?: never;
867
+ cookie?: never;
868
+ };
869
+ requestBody: {
870
+ content: {
871
+ "application/json": components["schemas"]["CreateModuleRequest"];
872
+ };
873
+ };
874
+ responses: {
875
+ /** @description Module created */
876
+ 201: {
877
+ headers: {
878
+ [name: string]: unknown;
879
+ };
880
+ content?: never;
881
+ };
882
+ };
883
+ };
884
+ delete?: never;
885
+ options?: never;
886
+ head?: never;
887
+ patch?: never;
888
+ trace?: never;
889
+ };
890
+ "/course/teacher/course-module/update": {
891
+ parameters: {
892
+ query?: never;
893
+ header?: never;
894
+ path?: never;
895
+ cookie?: never;
896
+ };
897
+ get?: never;
898
+ put?: never;
899
+ /**
900
+ * Update module
901
+ * @description Updates module title and description
902
+ */
903
+ post: {
904
+ parameters: {
905
+ query?: never;
906
+ header?: never;
907
+ path?: never;
908
+ cookie?: never;
909
+ };
910
+ requestBody: {
911
+ content: {
912
+ "application/json": {
913
+ policy_id: string;
914
+ module_code: string;
915
+ title?: string;
916
+ description?: string;
917
+ };
918
+ };
919
+ };
920
+ responses: {
921
+ /** @description Module updated */
922
+ 200: {
923
+ headers: {
924
+ [name: string]: unknown;
925
+ };
926
+ content?: never;
927
+ };
928
+ };
929
+ };
930
+ delete?: never;
931
+ options?: never;
932
+ head?: never;
933
+ patch?: never;
934
+ trace?: never;
935
+ };
936
+ "/course/teacher/course-module/delete": {
937
+ parameters: {
938
+ query?: never;
939
+ header?: never;
940
+ path?: never;
941
+ cookie?: never;
942
+ };
943
+ get?: never;
944
+ put?: never;
945
+ /**
946
+ * Delete module
947
+ * @description Deletes a module
948
+ */
949
+ post: {
950
+ parameters: {
951
+ query?: never;
952
+ header?: never;
953
+ path?: never;
954
+ cookie?: never;
955
+ };
956
+ requestBody: {
957
+ content: {
958
+ "application/json": {
959
+ policy_id: string;
960
+ module_code: string;
961
+ };
962
+ };
963
+ };
964
+ responses: {
965
+ /** @description Module deleted */
966
+ 200: {
967
+ headers: {
968
+ [name: string]: unknown;
969
+ };
970
+ content?: never;
971
+ };
972
+ };
973
+ };
974
+ delete?: never;
975
+ options?: never;
976
+ head?: never;
977
+ patch?: never;
978
+ trace?: never;
979
+ };
980
+ "/course/teacher/course-module/update-status": {
981
+ parameters: {
982
+ query?: never;
983
+ header?: never;
984
+ path?: never;
985
+ cookie?: never;
986
+ };
987
+ get?: never;
988
+ put?: never;
989
+ /**
990
+ * Update module status
991
+ * @description Updates module status (DRAFT, PENDING_TX, ON_CHAIN)
992
+ */
993
+ post: {
994
+ parameters: {
995
+ query?: never;
996
+ header?: never;
997
+ path?: never;
998
+ cookie?: never;
999
+ };
1000
+ requestBody: {
1001
+ content: {
1002
+ "application/json": {
1003
+ policy_id: string;
1004
+ module_code: string;
1005
+ status: string;
1006
+ module_hash?: string;
1007
+ pending_tx_hash?: string;
1008
+ };
1009
+ };
1010
+ };
1011
+ responses: {
1012
+ /** @description Status updated */
1013
+ 200: {
1014
+ headers: {
1015
+ [name: string]: unknown;
1016
+ };
1017
+ content?: never;
1018
+ };
1019
+ };
1020
+ };
1021
+ delete?: never;
1022
+ options?: never;
1023
+ head?: never;
1024
+ patch?: never;
1025
+ trace?: never;
1026
+ };
1027
+ "/course/teacher/course-module/update-code": {
1028
+ parameters: {
1029
+ query?: never;
1030
+ header?: never;
1031
+ path?: never;
1032
+ cookie?: never;
1033
+ };
1034
+ get?: never;
1035
+ put?: never;
1036
+ /**
1037
+ * Update module code
1038
+ * @description Renames a module code
1039
+ */
1040
+ post: {
1041
+ parameters: {
1042
+ query?: never;
1043
+ header?: never;
1044
+ path?: never;
1045
+ cookie?: never;
1046
+ };
1047
+ requestBody: {
1048
+ content: {
1049
+ "application/json": {
1050
+ policy_id: string;
1051
+ module_code: string;
1052
+ new_module_code: string;
1053
+ };
1054
+ };
1055
+ };
1056
+ responses: {
1057
+ /** @description Module code updated */
1058
+ 200: {
1059
+ headers: {
1060
+ [name: string]: unknown;
1061
+ };
1062
+ content?: never;
1063
+ };
1064
+ };
1065
+ };
1066
+ delete?: never;
1067
+ options?: never;
1068
+ head?: never;
1069
+ patch?: never;
1070
+ trace?: never;
1071
+ };
1072
+ "/course/teacher/course-module/publish": {
1073
+ parameters: {
1074
+ query?: never;
1075
+ header?: never;
1076
+ path?: never;
1077
+ cookie?: never;
1078
+ };
1079
+ get?: never;
1080
+ put?: never;
1081
+ /**
1082
+ * Publish module content
1083
+ * @description Sets all module content (lessons, assignments, introductions) to live
1084
+ */
1085
+ post: {
1086
+ parameters: {
1087
+ query?: never;
1088
+ header?: never;
1089
+ path?: never;
1090
+ cookie?: never;
1091
+ };
1092
+ requestBody: {
1093
+ content: {
1094
+ "application/json": {
1095
+ policy_id: string;
1096
+ module_code: string;
1097
+ };
1098
+ };
1099
+ };
1100
+ responses: {
1101
+ /** @description Content published */
1102
+ 200: {
1103
+ headers: {
1104
+ [name: string]: unknown;
1105
+ };
1106
+ content?: never;
1107
+ };
1108
+ };
1109
+ };
1110
+ delete?: never;
1111
+ options?: never;
1112
+ head?: never;
1113
+ patch?: never;
1114
+ trace?: never;
1115
+ };
1116
+ "/course/teacher/course-module/set-pending-tx": {
1117
+ parameters: {
1118
+ query?: never;
1119
+ header?: never;
1120
+ path?: never;
1121
+ cookie?: never;
1122
+ };
1123
+ get?: never;
1124
+ put?: never;
1125
+ /**
1126
+ * Set pending transaction
1127
+ * @description Sets pending tx hash for DRAFT modules
1128
+ */
1129
+ post: {
1130
+ parameters: {
1131
+ query?: never;
1132
+ header?: never;
1133
+ path?: never;
1134
+ cookie?: never;
1135
+ };
1136
+ requestBody: {
1137
+ content: {
1138
+ "application/json": {
1139
+ policy_id: string;
1140
+ module_code: string;
1141
+ pending_tx_hash: string;
1142
+ };
1143
+ };
1144
+ };
1145
+ responses: {
1146
+ /** @description Pending transaction set */
1147
+ 200: {
1148
+ headers: {
1149
+ [name: string]: unknown;
1150
+ };
1151
+ content?: never;
1152
+ };
1153
+ };
1154
+ };
1155
+ delete?: never;
1156
+ options?: never;
1157
+ head?: never;
1158
+ patch?: never;
1159
+ trace?: never;
1160
+ };
1161
+ "/course/teacher/course-module/confirm-tx": {
1162
+ parameters: {
1163
+ query?: never;
1164
+ header?: never;
1165
+ path?: never;
1166
+ cookie?: never;
1167
+ };
1168
+ get?: never;
1169
+ put?: never;
1170
+ /**
1171
+ * Confirm module transaction
1172
+ * @description Confirms on-chain transaction for a module
1173
+ */
1174
+ post: {
1175
+ parameters: {
1176
+ query?: never;
1177
+ header?: never;
1178
+ path?: never;
1179
+ cookie?: never;
1180
+ };
1181
+ requestBody: {
1182
+ content: {
1183
+ "application/json": {
1184
+ policy_id: string;
1185
+ module_code: string;
1186
+ tx_hash: string;
1187
+ };
1188
+ };
1189
+ };
1190
+ responses: {
1191
+ /** @description Transaction confirmed */
1192
+ 200: {
1193
+ headers: {
1194
+ [name: string]: unknown;
1195
+ };
1196
+ content?: never;
1197
+ };
1198
+ };
1199
+ };
1200
+ delete?: never;
1201
+ options?: never;
1202
+ head?: never;
1203
+ patch?: never;
1204
+ trace?: never;
1205
+ };
1206
+ "/course/teacher/course-modules/batch-update-status": {
1207
+ parameters: {
1208
+ query?: never;
1209
+ header?: never;
1210
+ path?: never;
1211
+ cookie?: never;
1212
+ };
1213
+ get?: never;
1214
+ put?: never;
1215
+ /**
1216
+ * Batch update module status
1217
+ * @description Updates status for multiple modules at once (transaction side effect)
1218
+ */
1219
+ post: {
1220
+ parameters: {
1221
+ query?: never;
1222
+ header?: never;
1223
+ path?: never;
1224
+ cookie?: never;
1225
+ };
1226
+ requestBody: {
1227
+ content: {
1228
+ "application/json": components["schemas"]["BatchUpdateModuleStatusRequest"];
1229
+ };
1230
+ };
1231
+ responses: {
1232
+ /** @description Batch update results */
1233
+ 200: {
1234
+ headers: {
1235
+ [name: string]: unknown;
1236
+ };
1237
+ content?: never;
1238
+ };
1239
+ };
1240
+ };
1241
+ delete?: never;
1242
+ options?: never;
1243
+ head?: never;
1244
+ patch?: never;
1245
+ trace?: never;
1246
+ };
1247
+ "/course/teacher/course-modules/batch-confirm": {
1248
+ parameters: {
1249
+ query?: never;
1250
+ header?: never;
1251
+ path?: never;
1252
+ cookie?: never;
1253
+ };
1254
+ get?: never;
1255
+ put?: never;
1256
+ /**
1257
+ * Batch confirm module transactions
1258
+ * @description Confirms blockchain transactions for multiple modules (transaction side effect)
1259
+ */
1260
+ post: {
1261
+ parameters: {
1262
+ query?: never;
1263
+ header?: never;
1264
+ path?: never;
1265
+ cookie?: never;
1266
+ };
1267
+ requestBody: {
1268
+ content: {
1269
+ "application/json": components["schemas"]["BatchConfirmModuleTransactionRequest"];
1270
+ };
1271
+ };
1272
+ responses: {
1273
+ /** @description Batch confirm results */
1274
+ 200: {
1275
+ headers: {
1276
+ [name: string]: unknown;
1277
+ };
1278
+ content?: never;
1279
+ };
1280
+ };
1281
+ };
1282
+ delete?: never;
1283
+ options?: never;
1284
+ head?: never;
1285
+ patch?: never;
1286
+ trace?: never;
1287
+ };
1288
+ "/course/public/slts/list/{policy_id}/{module_code}": {
1289
+ parameters: {
1290
+ query?: never;
1291
+ header?: never;
1292
+ path?: never;
1293
+ cookie?: never;
1294
+ };
1295
+ /**
1296
+ * Get module SLTs
1297
+ * @description Returns all SLTs for a module
1298
+ */
1299
+ get: {
1300
+ parameters: {
1301
+ query?: never;
1302
+ header?: never;
1303
+ path: {
1304
+ policy_id: string;
1305
+ module_code: string;
1306
+ };
1307
+ cookie?: never;
1308
+ };
1309
+ requestBody?: never;
1310
+ responses: {
1311
+ /** @description List of SLTs */
1312
+ 200: {
1313
+ headers: {
1314
+ [name: string]: unknown;
1315
+ };
1316
+ content?: never;
1317
+ };
1318
+ };
1319
+ };
1320
+ put?: never;
1321
+ post?: never;
1322
+ delete?: never;
1323
+ options?: never;
1324
+ head?: never;
1325
+ patch?: never;
1326
+ trace?: never;
1327
+ };
1328
+ "/course/public/slt/get/{policy_id}/{module_code}/{index}": {
1329
+ parameters: {
1330
+ query?: never;
1331
+ header?: never;
1332
+ path?: never;
1333
+ cookie?: never;
1334
+ };
1335
+ /**
1336
+ * Get single SLT
1337
+ * @description Returns a single SLT by module index
1338
+ */
1339
+ get: {
1340
+ parameters: {
1341
+ query?: never;
1342
+ header?: never;
1343
+ path: {
1344
+ policy_id: string;
1345
+ module_code: string;
1346
+ index: number;
1347
+ };
1348
+ cookie?: never;
1349
+ };
1350
+ requestBody?: never;
1351
+ responses: {
1352
+ /** @description SLT details */
1353
+ 200: {
1354
+ headers: {
1355
+ [name: string]: unknown;
1356
+ };
1357
+ content?: never;
1358
+ };
1359
+ };
1360
+ };
1361
+ put?: never;
1362
+ post?: never;
1363
+ delete?: never;
1364
+ options?: never;
1365
+ head?: never;
1366
+ patch?: never;
1367
+ trace?: never;
1368
+ };
1369
+ "/course/teacher/slt/create": {
1370
+ parameters: {
1371
+ query?: never;
1372
+ header?: never;
1373
+ path?: never;
1374
+ cookie?: never;
1375
+ };
1376
+ get?: never;
1377
+ put?: never;
1378
+ /**
1379
+ * Create SLT
1380
+ * @description Creates a new SLT in a module
1381
+ */
1382
+ post: {
1383
+ parameters: {
1384
+ query?: never;
1385
+ header?: never;
1386
+ path?: never;
1387
+ cookie?: never;
1388
+ };
1389
+ requestBody: {
1390
+ content: {
1391
+ "application/json": components["schemas"]["CreateSLTRequest"];
1392
+ };
1393
+ };
1394
+ responses: {
1395
+ /** @description SLT created */
1396
+ 201: {
1397
+ headers: {
1398
+ [name: string]: unknown;
1399
+ };
1400
+ content?: never;
1401
+ };
1402
+ };
1403
+ };
1404
+ delete?: never;
1405
+ options?: never;
1406
+ head?: never;
1407
+ patch?: never;
1408
+ trace?: never;
1409
+ };
1410
+ "/course/teacher/slt/update": {
1411
+ parameters: {
1412
+ query?: never;
1413
+ header?: never;
1414
+ path?: never;
1415
+ cookie?: never;
1416
+ };
1417
+ get?: never;
1418
+ put?: never;
1419
+ /**
1420
+ * Update SLT
1421
+ * @description Updates SLT text
1422
+ */
1423
+ post: {
1424
+ parameters: {
1425
+ query?: never;
1426
+ header?: never;
1427
+ path?: never;
1428
+ cookie?: never;
1429
+ };
1430
+ requestBody: {
1431
+ content: {
1432
+ "application/json": {
1433
+ policy_id: string;
1434
+ module_code: string;
1435
+ module_index: number;
1436
+ slt_text: string;
1437
+ };
1438
+ };
1439
+ };
1440
+ responses: {
1441
+ /** @description SLT updated */
1442
+ 200: {
1443
+ headers: {
1444
+ [name: string]: unknown;
1445
+ };
1446
+ content?: never;
1447
+ };
1448
+ };
1449
+ };
1450
+ delete?: never;
1451
+ options?: never;
1452
+ head?: never;
1453
+ patch?: never;
1454
+ trace?: never;
1455
+ };
1456
+ "/course/teacher/slt/update-index": {
1457
+ parameters: {
1458
+ query?: never;
1459
+ header?: never;
1460
+ path?: never;
1461
+ cookie?: never;
1462
+ };
1463
+ get?: never;
1464
+ put?: never;
1465
+ /**
1466
+ * Update SLT index
1467
+ * @description Updates an SLT's module index (reorder)
1468
+ */
1469
+ post: {
1470
+ parameters: {
1471
+ query?: never;
1472
+ header?: never;
1473
+ path?: never;
1474
+ cookie?: never;
1475
+ };
1476
+ requestBody: {
1477
+ content: {
1478
+ "application/json": {
1479
+ policy_id: string;
1480
+ module_code: string;
1481
+ module_index: number;
1482
+ new_index: number;
1483
+ };
1484
+ };
1485
+ };
1486
+ responses: {
1487
+ /** @description Index updated */
1488
+ 200: {
1489
+ headers: {
1490
+ [name: string]: unknown;
1491
+ };
1492
+ content?: never;
1493
+ };
1494
+ };
1495
+ };
1496
+ delete?: never;
1497
+ options?: never;
1498
+ head?: never;
1499
+ patch?: never;
1500
+ trace?: never;
1501
+ };
1502
+ "/course/teacher/slt/delete": {
1503
+ parameters: {
1504
+ query?: never;
1505
+ header?: never;
1506
+ path?: never;
1507
+ cookie?: never;
1508
+ };
1509
+ get?: never;
1510
+ put?: never;
1511
+ /**
1512
+ * Delete SLT
1513
+ * @description Deletes an SLT
1514
+ */
1515
+ post: {
1516
+ parameters: {
1517
+ query?: never;
1518
+ header?: never;
1519
+ path?: never;
1520
+ cookie?: never;
1521
+ };
1522
+ requestBody: {
1523
+ content: {
1524
+ "application/json": {
1525
+ policy_id: string;
1526
+ module_code: string;
1527
+ module_index: number;
1528
+ };
1529
+ };
1530
+ };
1531
+ responses: {
1532
+ /** @description SLT deleted */
1533
+ 200: {
1534
+ headers: {
1535
+ [name: string]: unknown;
1536
+ };
1537
+ content?: never;
1538
+ };
1539
+ };
1540
+ };
1541
+ delete?: never;
1542
+ options?: never;
1543
+ head?: never;
1544
+ patch?: never;
1545
+ trace?: never;
1546
+ };
1547
+ "/course/teacher/slts/batch-update-indexes": {
1548
+ parameters: {
1549
+ query?: never;
1550
+ header?: never;
1551
+ path?: never;
1552
+ cookie?: never;
1553
+ };
1554
+ get?: never;
1555
+ put?: never;
1556
+ /**
1557
+ * Batch update SLT indexes
1558
+ * @description Updates multiple SLT indexes at once (reorder)
1559
+ */
1560
+ post: {
1561
+ parameters: {
1562
+ query?: never;
1563
+ header?: never;
1564
+ path?: never;
1565
+ cookie?: never;
1566
+ };
1567
+ requestBody: {
1568
+ content: {
1569
+ "application/json": {
1570
+ policy_id: string;
1571
+ module_code: string;
1572
+ slts: {
1573
+ module_index?: number;
1574
+ new_index?: number;
1575
+ }[];
1576
+ };
1577
+ };
1578
+ };
1579
+ responses: {
1580
+ /** @description Indexes updated */
1581
+ 200: {
1582
+ headers: {
1583
+ [name: string]: unknown;
1584
+ };
1585
+ content?: never;
1586
+ };
1587
+ };
1588
+ };
1589
+ delete?: never;
1590
+ options?: never;
1591
+ head?: never;
1592
+ patch?: never;
1593
+ trace?: never;
1594
+ };
1595
+ "/course/public/lessons/list/{policy_id}/{module_code}": {
1596
+ parameters: {
1597
+ query?: never;
1598
+ header?: never;
1599
+ path?: never;
1600
+ cookie?: never;
1601
+ };
1602
+ /**
1603
+ * Get module lessons
1604
+ * @description Returns all lessons for a module
1605
+ */
1606
+ get: {
1607
+ parameters: {
1608
+ query?: never;
1609
+ header?: never;
1610
+ path: {
1611
+ policy_id: string;
1612
+ module_code: string;
1613
+ };
1614
+ cookie?: never;
1615
+ };
1616
+ requestBody?: never;
1617
+ responses: {
1618
+ /** @description List of lessons */
1619
+ 200: {
1620
+ headers: {
1621
+ [name: string]: unknown;
1622
+ };
1623
+ content?: never;
1624
+ };
1625
+ };
1626
+ };
1627
+ put?: never;
1628
+ post?: never;
1629
+ delete?: never;
1630
+ options?: never;
1631
+ head?: never;
1632
+ patch?: never;
1633
+ trace?: never;
1634
+ };
1635
+ "/course/public/lesson/get/{policy_id}/{module_code}/{index}": {
1636
+ parameters: {
1637
+ query?: never;
1638
+ header?: never;
1639
+ path?: never;
1640
+ cookie?: never;
1641
+ };
1642
+ /**
1643
+ * Get lesson
1644
+ * @description Returns lesson content by course/module/SLT index
1645
+ */
1646
+ get: {
1647
+ parameters: {
1648
+ query?: never;
1649
+ header?: never;
1650
+ path: {
1651
+ policy_id: string;
1652
+ module_code: string;
1653
+ index: number;
1654
+ };
1655
+ cookie?: never;
1656
+ };
1657
+ requestBody?: never;
1658
+ responses: {
1659
+ /** @description Lesson content */
1660
+ 200: {
1661
+ headers: {
1662
+ [name: string]: unknown;
1663
+ };
1664
+ content?: never;
1665
+ };
1666
+ };
1667
+ };
1668
+ put?: never;
1669
+ post?: never;
1670
+ delete?: never;
1671
+ options?: never;
1672
+ head?: never;
1673
+ patch?: never;
1674
+ trace?: never;
1675
+ };
1676
+ "/course/teacher/lesson/create": {
1677
+ parameters: {
1678
+ query?: never;
1679
+ header?: never;
1680
+ path?: never;
1681
+ cookie?: never;
1682
+ };
1683
+ get?: never;
1684
+ put?: never;
1685
+ /**
1686
+ * Create lesson
1687
+ * @description Creates a new lesson for an SLT
1688
+ */
1689
+ post: {
1690
+ parameters: {
1691
+ query?: never;
1692
+ header?: never;
1693
+ path?: never;
1694
+ cookie?: never;
1695
+ };
1696
+ requestBody: {
1697
+ content: {
1698
+ "application/json": components["schemas"]["CreateLessonRequest"];
1699
+ };
1700
+ };
1701
+ responses: {
1702
+ /** @description Lesson created */
1703
+ 201: {
1704
+ headers: {
1705
+ [name: string]: unknown;
1706
+ };
1707
+ content?: never;
1708
+ };
1709
+ };
1710
+ };
1711
+ delete?: never;
1712
+ options?: never;
1713
+ head?: never;
1714
+ patch?: never;
1715
+ trace?: never;
1716
+ };
1717
+ "/course/teacher/lesson/update": {
1718
+ parameters: {
1719
+ query?: never;
1720
+ header?: never;
1721
+ path?: never;
1722
+ cookie?: never;
1723
+ };
1724
+ get?: never;
1725
+ put?: never;
1726
+ /**
1727
+ * Update lesson
1728
+ * @description Updates lesson content
1729
+ */
1730
+ post: {
1731
+ parameters: {
1732
+ query?: never;
1733
+ header?: never;
1734
+ path?: never;
1735
+ cookie?: never;
1736
+ };
1737
+ requestBody: {
1738
+ content: {
1739
+ "application/json": {
1740
+ policy_id: string;
1741
+ module_code: string;
1742
+ module_index: number;
1743
+ title?: string;
1744
+ description?: string;
1745
+ content_json?: Record<string, never>;
1746
+ image_url?: string;
1747
+ video_url?: string;
1748
+ };
1749
+ };
1750
+ };
1751
+ responses: {
1752
+ /** @description Lesson updated */
1753
+ 200: {
1754
+ headers: {
1755
+ [name: string]: unknown;
1756
+ };
1757
+ content?: never;
1758
+ };
1759
+ };
1760
+ };
1761
+ delete?: never;
1762
+ options?: never;
1763
+ head?: never;
1764
+ patch?: never;
1765
+ trace?: never;
1766
+ };
1767
+ "/course/teacher/lesson/publish": {
1768
+ parameters: {
1769
+ query?: never;
1770
+ header?: never;
1771
+ path?: never;
1772
+ cookie?: never;
1773
+ };
1774
+ get?: never;
1775
+ put?: never;
1776
+ /**
1777
+ * Toggle lesson publish status
1778
+ * @description Toggles lesson live status
1779
+ */
1780
+ post: {
1781
+ parameters: {
1782
+ query?: never;
1783
+ header?: never;
1784
+ path?: never;
1785
+ cookie?: never;
1786
+ };
1787
+ requestBody: {
1788
+ content: {
1789
+ "application/json": {
1790
+ policy_id: string;
1791
+ module_code: string;
1792
+ module_index: number;
1793
+ };
1794
+ };
1795
+ };
1796
+ responses: {
1797
+ /** @description Live status toggled */
1798
+ 200: {
1799
+ headers: {
1800
+ [name: string]: unknown;
1801
+ };
1802
+ content?: never;
1803
+ };
1804
+ };
1805
+ };
1806
+ delete?: never;
1807
+ options?: never;
1808
+ head?: never;
1809
+ patch?: never;
1810
+ trace?: never;
1811
+ };
1812
+ "/course/teacher/lesson/delete": {
1813
+ parameters: {
1814
+ query?: never;
1815
+ header?: never;
1816
+ path?: never;
1817
+ cookie?: never;
1818
+ };
1819
+ get?: never;
1820
+ put?: never;
1821
+ /**
1822
+ * Delete lesson
1823
+ * @description Deletes a lesson
1824
+ */
1825
+ post: {
1826
+ parameters: {
1827
+ query?: never;
1828
+ header?: never;
1829
+ path?: never;
1830
+ cookie?: never;
1831
+ };
1832
+ requestBody: {
1833
+ content: {
1834
+ "application/json": {
1835
+ policy_id: string;
1836
+ module_code: string;
1837
+ module_index: number;
1838
+ };
1839
+ };
1840
+ };
1841
+ responses: {
1842
+ /** @description Lesson deleted */
1843
+ 200: {
1844
+ headers: {
1845
+ [name: string]: unknown;
1846
+ };
1847
+ content?: never;
1848
+ };
1849
+ };
1850
+ };
1851
+ delete?: never;
1852
+ options?: never;
1853
+ head?: never;
1854
+ patch?: never;
1855
+ trace?: never;
1856
+ };
1857
+ "/course/public/assignment/get/{policy_id}/{module_code}": {
1858
+ parameters: {
1859
+ query?: never;
1860
+ header?: never;
1861
+ path?: never;
1862
+ cookie?: never;
1863
+ };
1864
+ /**
1865
+ * Get assignment
1866
+ * @description Returns assignment with linked SLTs
1867
+ */
1868
+ get: {
1869
+ parameters: {
1870
+ query?: never;
1871
+ header?: never;
1872
+ path: {
1873
+ policy_id: string;
1874
+ module_code: string;
1875
+ };
1876
+ cookie?: never;
1877
+ };
1878
+ requestBody?: never;
1879
+ responses: {
1880
+ /** @description Assignment details */
1881
+ 200: {
1882
+ headers: {
1883
+ [name: string]: unknown;
1884
+ };
1885
+ content?: never;
1886
+ };
1887
+ };
1888
+ };
1889
+ put?: never;
1890
+ post?: never;
1891
+ delete?: never;
1892
+ options?: never;
1893
+ head?: never;
1894
+ patch?: never;
1895
+ trace?: never;
1896
+ };
1897
+ "/course/teacher/assignment/create": {
1898
+ parameters: {
1899
+ query?: never;
1900
+ header?: never;
1901
+ path?: never;
1902
+ cookie?: never;
1903
+ };
1904
+ get?: never;
1905
+ put?: never;
1906
+ /**
1907
+ * Create assignment
1908
+ * @description Creates a new assignment for a module
1909
+ */
1910
+ post: {
1911
+ parameters: {
1912
+ query?: never;
1913
+ header?: never;
1914
+ path?: never;
1915
+ cookie?: never;
1916
+ };
1917
+ requestBody: {
1918
+ content: {
1919
+ "application/json": components["schemas"]["CreateAssignmentRequest"];
1920
+ };
1921
+ };
1922
+ responses: {
1923
+ /** @description Assignment created */
1924
+ 201: {
1925
+ headers: {
1926
+ [name: string]: unknown;
1927
+ };
1928
+ content?: never;
1929
+ };
1930
+ };
1931
+ };
1932
+ delete?: never;
1933
+ options?: never;
1934
+ head?: never;
1935
+ patch?: never;
1936
+ trace?: never;
1937
+ };
1938
+ "/course/teacher/assignment/update": {
1939
+ parameters: {
1940
+ query?: never;
1941
+ header?: never;
1942
+ path?: never;
1943
+ cookie?: never;
1944
+ };
1945
+ get?: never;
1946
+ put?: never;
1947
+ /**
1948
+ * Update assignment
1949
+ * @description Updates assignment content
1950
+ */
1951
+ post: {
1952
+ parameters: {
1953
+ query?: never;
1954
+ header?: never;
1955
+ path?: never;
1956
+ cookie?: never;
1957
+ };
1958
+ requestBody: {
1959
+ content: {
1960
+ "application/json": {
1961
+ policy_id: string;
1962
+ module_code: string;
1963
+ title?: string;
1964
+ description?: string;
1965
+ content_json?: Record<string, never>;
1966
+ image_url?: string;
1967
+ video_url?: string;
1968
+ };
1969
+ };
1970
+ };
1971
+ responses: {
1972
+ /** @description Assignment updated */
1973
+ 200: {
1974
+ headers: {
1975
+ [name: string]: unknown;
1976
+ };
1977
+ content?: never;
1978
+ };
1979
+ };
1980
+ };
1981
+ delete?: never;
1982
+ options?: never;
1983
+ head?: never;
1984
+ patch?: never;
1985
+ trace?: never;
1986
+ };
1987
+ "/course/teacher/assignment/publish": {
1988
+ parameters: {
1989
+ query?: never;
1990
+ header?: never;
1991
+ path?: never;
1992
+ cookie?: never;
1993
+ };
1994
+ get?: never;
1995
+ put?: never;
1996
+ /**
1997
+ * Toggle assignment publish status
1998
+ * @description Toggles assignment live status
1999
+ */
2000
+ post: {
2001
+ parameters: {
2002
+ query?: never;
2003
+ header?: never;
2004
+ path?: never;
2005
+ cookie?: never;
2006
+ };
2007
+ requestBody: {
2008
+ content: {
2009
+ "application/json": {
2010
+ policy_id: string;
2011
+ module_code: string;
2012
+ };
2013
+ };
2014
+ };
2015
+ responses: {
2016
+ /** @description Live status toggled */
2017
+ 200: {
2018
+ headers: {
2019
+ [name: string]: unknown;
2020
+ };
2021
+ content?: never;
2022
+ };
2023
+ };
2024
+ };
2025
+ delete?: never;
2026
+ options?: never;
2027
+ head?: never;
2028
+ patch?: never;
2029
+ trace?: never;
2030
+ };
2031
+ "/course/teacher/assignment/delete": {
2032
+ parameters: {
2033
+ query?: never;
2034
+ header?: never;
2035
+ path?: never;
2036
+ cookie?: never;
2037
+ };
2038
+ get?: never;
2039
+ put?: never;
2040
+ /**
2041
+ * Delete assignment
2042
+ * @description Deletes an assignment
2043
+ */
2044
+ post: {
2045
+ parameters: {
2046
+ query?: never;
2047
+ header?: never;
2048
+ path?: never;
2049
+ cookie?: never;
2050
+ };
2051
+ requestBody: {
2052
+ content: {
2053
+ "application/json": {
2054
+ policy_id: string;
2055
+ module_code: string;
2056
+ };
2057
+ };
2058
+ };
2059
+ responses: {
2060
+ /** @description Assignment deleted */
2061
+ 200: {
2062
+ headers: {
2063
+ [name: string]: unknown;
2064
+ };
2065
+ content?: never;
2066
+ };
2067
+ };
2068
+ };
2069
+ delete?: never;
2070
+ options?: never;
2071
+ head?: never;
2072
+ patch?: never;
2073
+ trace?: never;
2074
+ };
2075
+ "/course/public/introduction/get/{policy_id}/{module_code}": {
2076
+ parameters: {
2077
+ query?: never;
2078
+ header?: never;
2079
+ path?: never;
2080
+ cookie?: never;
2081
+ };
2082
+ /**
2083
+ * Get module introduction
2084
+ * @description Returns the introduction content for a module
2085
+ */
2086
+ get: {
2087
+ parameters: {
2088
+ query?: never;
2089
+ header?: never;
2090
+ path: {
2091
+ policy_id: string;
2092
+ module_code: string;
2093
+ };
2094
+ cookie?: never;
2095
+ };
2096
+ requestBody?: never;
2097
+ responses: {
2098
+ /** @description Introduction content */
2099
+ 200: {
2100
+ headers: {
2101
+ [name: string]: unknown;
2102
+ };
2103
+ content?: never;
2104
+ };
2105
+ };
2106
+ };
2107
+ put?: never;
2108
+ post?: never;
2109
+ delete?: never;
2110
+ options?: never;
2111
+ head?: never;
2112
+ patch?: never;
2113
+ trace?: never;
2114
+ };
2115
+ "/course/teacher/introduction/create": {
2116
+ parameters: {
2117
+ query?: never;
2118
+ header?: never;
2119
+ path?: never;
2120
+ cookie?: never;
2121
+ };
2122
+ get?: never;
2123
+ put?: never;
2124
+ /**
2125
+ * Create introduction
2126
+ * @description Creates a new introduction for a module
2127
+ */
2128
+ post: {
2129
+ parameters: {
2130
+ query?: never;
2131
+ header?: never;
2132
+ path?: never;
2133
+ cookie?: never;
2134
+ };
2135
+ requestBody: {
2136
+ content: {
2137
+ "application/json": components["schemas"]["CreateIntroductionRequest"];
2138
+ };
2139
+ };
2140
+ responses: {
2141
+ /** @description Introduction created */
2142
+ 201: {
2143
+ headers: {
2144
+ [name: string]: unknown;
2145
+ };
2146
+ content?: never;
2147
+ };
2148
+ };
2149
+ };
2150
+ delete?: never;
2151
+ options?: never;
2152
+ head?: never;
2153
+ patch?: never;
2154
+ trace?: never;
2155
+ };
2156
+ "/course/teacher/introduction/update": {
2157
+ parameters: {
2158
+ query?: never;
2159
+ header?: never;
2160
+ path?: never;
2161
+ cookie?: never;
2162
+ };
2163
+ get?: never;
2164
+ put?: never;
2165
+ /**
2166
+ * Update introduction
2167
+ * @description Updates introduction content
2168
+ */
2169
+ post: {
2170
+ parameters: {
2171
+ query?: never;
2172
+ header?: never;
2173
+ path?: never;
2174
+ cookie?: never;
2175
+ };
2176
+ requestBody: {
2177
+ content: {
2178
+ "application/json": {
2179
+ policy_id: string;
2180
+ module_code: string;
2181
+ title?: string;
2182
+ description?: string;
2183
+ content_json?: Record<string, never>;
2184
+ image_url?: string;
2185
+ video_url?: string;
2186
+ };
2187
+ };
2188
+ };
2189
+ responses: {
2190
+ /** @description Introduction updated */
2191
+ 200: {
2192
+ headers: {
2193
+ [name: string]: unknown;
2194
+ };
2195
+ content?: never;
2196
+ };
2197
+ };
2198
+ };
2199
+ delete?: never;
2200
+ options?: never;
2201
+ head?: never;
2202
+ patch?: never;
2203
+ trace?: never;
2204
+ };
2205
+ "/course/teacher/introduction/publish": {
2206
+ parameters: {
2207
+ query?: never;
2208
+ header?: never;
2209
+ path?: never;
2210
+ cookie?: never;
2211
+ };
2212
+ get?: never;
2213
+ put?: never;
2214
+ /**
2215
+ * Toggle introduction publish status
2216
+ * @description Toggles introduction live status
2217
+ */
2218
+ post: {
2219
+ parameters: {
2220
+ query?: never;
2221
+ header?: never;
2222
+ path?: never;
2223
+ cookie?: never;
2224
+ };
2225
+ requestBody: {
2226
+ content: {
2227
+ "application/json": {
2228
+ policy_id: string;
2229
+ module_code: string;
2230
+ };
2231
+ };
2232
+ };
2233
+ responses: {
2234
+ /** @description Live status toggled */
2235
+ 200: {
2236
+ headers: {
2237
+ [name: string]: unknown;
2238
+ };
2239
+ content?: never;
2240
+ };
2241
+ };
2242
+ };
2243
+ delete?: never;
2244
+ options?: never;
2245
+ head?: never;
2246
+ patch?: never;
2247
+ trace?: never;
2248
+ };
2249
+ "/course/teacher/introduction/delete": {
2250
+ parameters: {
2251
+ query?: never;
2252
+ header?: never;
2253
+ path?: never;
2254
+ cookie?: never;
2255
+ };
2256
+ get?: never;
2257
+ put?: never;
2258
+ /**
2259
+ * Delete introduction
2260
+ * @description Deletes a module introduction
2261
+ */
2262
+ post: {
2263
+ parameters: {
2264
+ query?: never;
2265
+ header?: never;
2266
+ path?: never;
2267
+ cookie?: never;
2268
+ };
2269
+ requestBody: {
2270
+ content: {
2271
+ "application/json": {
2272
+ policy_id: string;
2273
+ module_code: string;
2274
+ };
2275
+ };
2276
+ };
2277
+ responses: {
2278
+ /** @description Introduction deleted */
2279
+ 200: {
2280
+ headers: {
2281
+ [name: string]: unknown;
2282
+ };
2283
+ content?: never;
2284
+ };
2285
+ };
2286
+ };
2287
+ delete?: never;
2288
+ options?: never;
2289
+ head?: never;
2290
+ patch?: never;
2291
+ trace?: never;
2292
+ };
2293
+ "/course/public/assignment-commitment/has-commitments/{policy_id}/{module_code}": {
2294
+ parameters: {
2295
+ query?: never;
2296
+ header?: never;
2297
+ path?: never;
2298
+ cookie?: never;
2299
+ };
2300
+ /**
2301
+ * Check if assignment has commitments
2302
+ * @description Returns whether an assignment has any learner commitments
2303
+ */
2304
+ get: {
2305
+ parameters: {
2306
+ query?: never;
2307
+ header?: never;
2308
+ path: {
2309
+ policy_id: string;
2310
+ module_code: string;
2311
+ };
2312
+ cookie?: never;
2313
+ };
2314
+ requestBody?: never;
2315
+ responses: {
2316
+ /** @description Returns has_commitments boolean */
2317
+ 200: {
2318
+ headers: {
2319
+ [name: string]: unknown;
2320
+ };
2321
+ content?: never;
2322
+ };
2323
+ };
2324
+ };
2325
+ put?: never;
2326
+ post?: never;
2327
+ delete?: never;
2328
+ options?: never;
2329
+ head?: never;
2330
+ patch?: never;
2331
+ trace?: never;
2332
+ };
2333
+ "/course/teacher/assignment-commitments/list-by-course": {
2334
+ parameters: {
2335
+ query?: never;
2336
+ header?: never;
2337
+ path?: never;
2338
+ cookie?: never;
2339
+ };
2340
+ get?: never;
2341
+ put?: never;
2342
+ /**
2343
+ * Get all commitments for course
2344
+ * @description Returns all assignment commitments for a course (teacher view)
2345
+ */
2346
+ post: {
2347
+ parameters: {
2348
+ query?: never;
2349
+ header?: never;
2350
+ path?: never;
2351
+ cookie?: never;
2352
+ };
2353
+ requestBody: {
2354
+ content: {
2355
+ "application/json": {
2356
+ policy_id: string;
2357
+ };
2358
+ };
2359
+ };
2360
+ responses: {
2361
+ /** @description List of commitments */
2362
+ 200: {
2363
+ headers: {
2364
+ [name: string]: unknown;
2365
+ };
2366
+ content?: never;
2367
+ };
2368
+ };
2369
+ };
2370
+ delete?: never;
2371
+ options?: never;
2372
+ head?: never;
2373
+ patch?: never;
2374
+ trace?: never;
2375
+ };
2376
+ "/course/teacher/assignment-commitment/review": {
2377
+ parameters: {
2378
+ query?: never;
2379
+ header?: never;
2380
+ path?: never;
2381
+ cookie?: never;
2382
+ };
2383
+ get?: never;
2384
+ put?: never;
2385
+ /**
2386
+ * Review assignment submission
2387
+ * @description Allows a teacher (Creator) to approve or reject a learner's assignment submission
2388
+ */
2389
+ post: {
2390
+ parameters: {
2391
+ query?: never;
2392
+ header?: never;
2393
+ path?: never;
2394
+ cookie?: never;
2395
+ };
2396
+ requestBody: {
2397
+ content: {
2398
+ "application/json": components["schemas"]["ReviewAssignmentCommitmentRequest"];
2399
+ };
2400
+ };
2401
+ responses: {
2402
+ /** @description Review processed */
2403
+ 200: {
2404
+ headers: {
2405
+ [name: string]: unknown;
2406
+ };
2407
+ content?: never;
2408
+ };
2409
+ };
2410
+ };
2411
+ delete?: never;
2412
+ options?: never;
2413
+ head?: never;
2414
+ patch?: never;
2415
+ trace?: never;
2416
+ };
2417
+ "/course/student/assignment-commitments/list-by-course": {
2418
+ parameters: {
2419
+ query?: never;
2420
+ header?: never;
2421
+ path?: never;
2422
+ cookie?: never;
2423
+ };
2424
+ get?: never;
2425
+ put?: never;
2426
+ /**
2427
+ * Get learner's commitments for course
2428
+ * @description Returns current learner's commitments for a course
2429
+ */
2430
+ post: {
2431
+ parameters: {
2432
+ query?: never;
2433
+ header?: never;
2434
+ path?: never;
2435
+ cookie?: never;
2436
+ };
2437
+ requestBody: {
2438
+ content: {
2439
+ "application/json": {
2440
+ policy_id: string;
2441
+ };
2442
+ };
2443
+ };
2444
+ responses: {
2445
+ /** @description List of learner's commitments */
2446
+ 200: {
2447
+ headers: {
2448
+ [name: string]: unknown;
2449
+ };
2450
+ content?: never;
2451
+ };
2452
+ };
2453
+ };
2454
+ delete?: never;
2455
+ options?: never;
2456
+ head?: never;
2457
+ patch?: never;
2458
+ trace?: never;
2459
+ };
2460
+ "/course/student/assignment-commitment/create": {
2461
+ parameters: {
2462
+ query?: never;
2463
+ header?: never;
2464
+ path?: never;
2465
+ cookie?: never;
2466
+ };
2467
+ get?: never;
2468
+ put?: never;
2469
+ /**
2470
+ * Create assignment commitment
2471
+ * @description Creates a new assignment commitment (learner starts an assignment)
2472
+ */
2473
+ post: {
2474
+ parameters: {
2475
+ query?: never;
2476
+ header?: never;
2477
+ path?: never;
2478
+ cookie?: never;
2479
+ };
2480
+ requestBody: {
2481
+ content: {
2482
+ "application/json": components["schemas"]["CreateAssignmentCommitmentRequest"];
2483
+ };
2484
+ };
2485
+ responses: {
2486
+ /** @description Commitment created */
2487
+ 201: {
2488
+ headers: {
2489
+ [name: string]: unknown;
2490
+ };
2491
+ content?: never;
2492
+ };
2493
+ };
2494
+ };
2495
+ delete?: never;
2496
+ options?: never;
2497
+ head?: never;
2498
+ patch?: never;
2499
+ trace?: never;
2500
+ };
2501
+ "/course/student/assignment-commitment/update-evidence": {
2502
+ parameters: {
2503
+ query?: never;
2504
+ header?: never;
2505
+ path?: never;
2506
+ cookie?: never;
2507
+ };
2508
+ get?: never;
2509
+ put?: never;
2510
+ /**
2511
+ * Update commitment evidence
2512
+ * @description Updates the evidence for an assignment commitment
2513
+ */
2514
+ post: {
2515
+ parameters: {
2516
+ query?: never;
2517
+ header?: never;
2518
+ path?: never;
2519
+ cookie?: never;
2520
+ };
2521
+ requestBody: {
2522
+ content: {
2523
+ "application/json": {
2524
+ policy_id: string;
2525
+ module_code: string;
2526
+ evidence: Record<string, never>;
2527
+ };
2528
+ };
2529
+ };
2530
+ responses: {
2531
+ /** @description Evidence updated */
2532
+ 200: {
2533
+ headers: {
2534
+ [name: string]: unknown;
2535
+ };
2536
+ content?: never;
2537
+ };
2538
+ };
2539
+ };
2540
+ delete?: never;
2541
+ options?: never;
2542
+ head?: never;
2543
+ patch?: never;
2544
+ trace?: never;
2545
+ };
2546
+ "/course/student/assignment-commitment/delete": {
2547
+ parameters: {
2548
+ query?: never;
2549
+ header?: never;
2550
+ path?: never;
2551
+ cookie?: never;
2552
+ };
2553
+ get?: never;
2554
+ put?: never;
2555
+ /**
2556
+ * Delete commitment
2557
+ * @description Deletes an assignment commitment
2558
+ */
2559
+ post: {
2560
+ parameters: {
2561
+ query?: never;
2562
+ header?: never;
2563
+ path?: never;
2564
+ cookie?: never;
2565
+ };
2566
+ requestBody: {
2567
+ content: {
2568
+ "application/json": {
2569
+ policy_id: string;
2570
+ module_code: string;
2571
+ };
2572
+ };
2573
+ };
2574
+ responses: {
2575
+ /** @description Commitment deleted */
2576
+ 200: {
2577
+ headers: {
2578
+ [name: string]: unknown;
2579
+ };
2580
+ content?: never;
2581
+ };
2582
+ };
2583
+ };
2584
+ delete?: never;
2585
+ options?: never;
2586
+ head?: never;
2587
+ patch?: never;
2588
+ trace?: never;
2589
+ };
2590
+ "/course/shared/assignment-commitment/get": {
2591
+ parameters: {
2592
+ query?: never;
2593
+ header?: never;
2594
+ path?: never;
2595
+ cookie?: never;
2596
+ };
2597
+ get?: never;
2598
+ put?: never;
2599
+ /**
2600
+ * Get commitment by natural keys
2601
+ * @description Returns a single commitment by course/module/learner alias
2602
+ */
2603
+ post: {
2604
+ parameters: {
2605
+ query?: never;
2606
+ header?: never;
2607
+ path?: never;
2608
+ cookie?: never;
2609
+ };
2610
+ requestBody: {
2611
+ content: {
2612
+ "application/json": {
2613
+ policy_id: string;
2614
+ module_code: string;
2615
+ access_token_alias: string;
2616
+ };
2617
+ };
2618
+ };
2619
+ responses: {
2620
+ /** @description Commitment details */
2621
+ 200: {
2622
+ headers: {
2623
+ [name: string]: unknown;
2624
+ };
2625
+ content?: never;
2626
+ };
2627
+ };
2628
+ };
2629
+ delete?: never;
2630
+ options?: never;
2631
+ head?: never;
2632
+ patch?: never;
2633
+ trace?: never;
2634
+ };
2635
+ "/course/shared/assignment-commitment/update-status": {
2636
+ parameters: {
2637
+ query?: never;
2638
+ header?: never;
2639
+ path?: never;
2640
+ cookie?: never;
2641
+ };
2642
+ get?: never;
2643
+ put?: never;
2644
+ /**
2645
+ * Update commitment status
2646
+ * @description Updates the network status for an assignment commitment
2647
+ */
2648
+ post: {
2649
+ parameters: {
2650
+ query?: never;
2651
+ header?: never;
2652
+ path?: never;
2653
+ cookie?: never;
2654
+ };
2655
+ requestBody: {
2656
+ content: {
2657
+ "application/json": {
2658
+ policy_id: string;
2659
+ module_code: string;
2660
+ access_token_alias: string;
2661
+ status: string;
2662
+ pending_tx_hash?: string;
2663
+ };
2664
+ };
2665
+ };
2666
+ responses: {
2667
+ /** @description Status updated */
2668
+ 200: {
2669
+ headers: {
2670
+ [name: string]: unknown;
2671
+ };
2672
+ content?: never;
2673
+ };
2674
+ };
2675
+ };
2676
+ delete?: never;
2677
+ options?: never;
2678
+ head?: never;
2679
+ patch?: never;
2680
+ trace?: never;
2681
+ };
2682
+ "/course/shared/assignment-commitment/confirm-transaction": {
2683
+ parameters: {
2684
+ query?: never;
2685
+ header?: never;
2686
+ path?: never;
2687
+ cookie?: never;
2688
+ };
2689
+ get?: never;
2690
+ put?: never;
2691
+ /**
2692
+ * Confirm commitment transaction
2693
+ * @description Confirms an on-chain transaction for a commitment
2694
+ */
2695
+ post: {
2696
+ parameters: {
2697
+ query?: never;
2698
+ header?: never;
2699
+ path?: never;
2700
+ cookie?: never;
2701
+ };
2702
+ requestBody: {
2703
+ content: {
2704
+ "application/json": {
2705
+ policy_id: string;
2706
+ module_code: string;
2707
+ access_token_alias: string;
2708
+ tx_hash: string;
2709
+ };
2710
+ };
2711
+ };
2712
+ responses: {
2713
+ /** @description Transaction confirmed */
2714
+ 200: {
2715
+ headers: {
2716
+ [name: string]: unknown;
2717
+ };
2718
+ content?: never;
2719
+ };
2720
+ };
2721
+ };
2722
+ delete?: never;
2723
+ options?: never;
2724
+ head?: never;
2725
+ patch?: never;
2726
+ trace?: never;
2727
+ };
2728
+ "/course/student/courses": {
2729
+ parameters: {
2730
+ query?: never;
2731
+ header?: never;
2732
+ path?: never;
2733
+ cookie?: never;
2734
+ };
2735
+ get?: never;
2736
+ put?: never;
2737
+ /**
2738
+ * Get my learning
2739
+ * @description Returns courses the learner is enrolled in (from on-chain data via AndamioScan)
2740
+ */
2741
+ post: {
2742
+ parameters: {
2743
+ query?: never;
2744
+ header?: never;
2745
+ path?: never;
2746
+ cookie?: never;
2747
+ };
2748
+ requestBody?: never;
2749
+ responses: {
2750
+ /** @description List of enrolled courses with progress */
2751
+ 200: {
2752
+ headers: {
2753
+ [name: string]: unknown;
2754
+ };
2755
+ content?: never;
2756
+ };
2757
+ };
2758
+ };
2759
+ delete?: never;
2760
+ options?: never;
2761
+ head?: never;
2762
+ patch?: never;
2763
+ trace?: never;
2764
+ };
2765
+ "/course/student/course-status": {
2766
+ parameters: {
2767
+ query?: never;
2768
+ header?: never;
2769
+ path?: never;
2770
+ cookie?: never;
2771
+ };
2772
+ get?: never;
2773
+ put?: never;
2774
+ /**
2775
+ * Get course status
2776
+ * @description Returns comprehensive course status for the learner (enrollment, progress, etc.)
2777
+ */
2778
+ post: {
2779
+ parameters: {
2780
+ query?: never;
2781
+ header?: never;
2782
+ path?: never;
2783
+ cookie?: never;
2784
+ };
2785
+ requestBody: {
2786
+ content: {
2787
+ "application/json": {
2788
+ policy_id: string;
2789
+ };
2790
+ };
2791
+ };
2792
+ responses: {
2793
+ /** @description User course status */
2794
+ 200: {
2795
+ headers: {
2796
+ [name: string]: unknown;
2797
+ };
2798
+ content?: never;
2799
+ };
2800
+ };
2801
+ };
2802
+ delete?: never;
2803
+ options?: never;
2804
+ head?: never;
2805
+ patch?: never;
2806
+ trace?: never;
2807
+ };
2808
+ "/project/public/treasury/list": {
2809
+ parameters: {
2810
+ query?: never;
2811
+ header?: never;
2812
+ path?: never;
2813
+ cookie?: never;
2814
+ };
2815
+ get?: never;
2816
+ put?: never;
2817
+ /**
2818
+ * List published projects
2819
+ * @description Returns all published treasury projects
2820
+ */
2821
+ post: {
2822
+ parameters: {
2823
+ query?: never;
2824
+ header?: never;
2825
+ path?: never;
2826
+ cookie?: never;
2827
+ };
2828
+ requestBody?: {
2829
+ content: {
2830
+ "application/json": {
2831
+ treasury_nft_policy_id?: string;
2832
+ };
2833
+ };
2834
+ };
2835
+ responses: {
2836
+ /** @description List of projects */
2837
+ 200: {
2838
+ headers: {
2839
+ [name: string]: unknown;
2840
+ };
2841
+ content: {
2842
+ "application/json": components["schemas"]["TreasuryListResponse"];
2843
+ };
2844
+ };
2845
+ };
2846
+ };
2847
+ delete?: never;
2848
+ options?: never;
2849
+ head?: never;
2850
+ patch?: never;
2851
+ trace?: never;
2852
+ };
2853
+ "/project/owner/treasury/list-owned": {
2854
+ parameters: {
2855
+ query?: never;
2856
+ header?: never;
2857
+ path?: never;
2858
+ cookie?: never;
2859
+ };
2860
+ get?: never;
2861
+ put?: never;
2862
+ /**
2863
+ * List owned projects
2864
+ * @description Returns projects owned by the authenticated treasury owner
2865
+ */
2866
+ post: {
2867
+ parameters: {
2868
+ query?: never;
2869
+ header?: never;
2870
+ path?: never;
2871
+ cookie?: never;
2872
+ };
2873
+ requestBody?: never;
2874
+ responses: {
2875
+ /** @description List of owned projects */
2876
+ 200: {
2877
+ headers: {
2878
+ [name: string]: unknown;
2879
+ };
2880
+ content?: never;
2881
+ };
2882
+ };
2883
+ };
2884
+ delete?: never;
2885
+ options?: never;
2886
+ head?: never;
2887
+ patch?: never;
2888
+ trace?: never;
2889
+ };
2890
+ "/project/owner/treasury/update": {
2891
+ parameters: {
2892
+ query?: never;
2893
+ header?: never;
2894
+ path?: never;
2895
+ cookie?: never;
2896
+ };
2897
+ get?: never;
2898
+ put?: never;
2899
+ /**
2900
+ * Update project
2901
+ * @description Updates project metadata (title, description, images)
2902
+ */
2903
+ post: {
2904
+ parameters: {
2905
+ query?: never;
2906
+ header?: never;
2907
+ path?: never;
2908
+ cookie?: never;
2909
+ };
2910
+ requestBody: {
2911
+ content: {
2912
+ "application/json": components["schemas"]["UpdateProjectRequest"];
2913
+ };
2914
+ };
2915
+ responses: {
2916
+ /** @description Project updated */
2917
+ 200: {
2918
+ headers: {
2919
+ [name: string]: unknown;
2920
+ };
2921
+ content?: never;
2922
+ };
2923
+ };
2924
+ };
2925
+ delete?: never;
2926
+ options?: never;
2927
+ head?: never;
2928
+ patch?: never;
2929
+ trace?: never;
2930
+ };
2931
+ "/project/owner/treasury/mint": {
2932
+ parameters: {
2933
+ query?: never;
2934
+ header?: never;
2935
+ path?: never;
2936
+ cookie?: never;
2937
+ };
2938
+ get?: never;
2939
+ put?: never;
2940
+ /**
2941
+ * Create project on minting tx
2942
+ * @description Creates a new project in database when minting transaction is submitted
2943
+ */
2944
+ post: {
2945
+ parameters: {
2946
+ query?: never;
2947
+ header?: never;
2948
+ path?: never;
2949
+ cookie?: never;
2950
+ };
2951
+ requestBody: {
2952
+ content: {
2953
+ "application/json": {
2954
+ /** @description Project NFT policy ID (56 char hex) */
2955
+ treasury_nft_policy_id: string;
2956
+ /** @description Project title */
2957
+ title: string;
2958
+ };
2959
+ };
2960
+ };
2961
+ responses: {
2962
+ /** @description Project created */
2963
+ 201: {
2964
+ headers: {
2965
+ [name: string]: unknown;
2966
+ };
2967
+ content?: never;
2968
+ };
2969
+ /** @description Project already exists */
2970
+ 409: {
2971
+ headers: {
2972
+ [name: string]: unknown;
2973
+ };
2974
+ content?: never;
2975
+ };
2976
+ };
2977
+ };
2978
+ delete?: never;
2979
+ options?: never;
2980
+ head?: never;
2981
+ patch?: never;
2982
+ trace?: never;
2983
+ };
2984
+ "/project/owner/treasury/confirm-mint": {
2985
+ parameters: {
2986
+ query?: never;
2987
+ header?: never;
2988
+ path?: never;
2989
+ cookie?: never;
2990
+ };
2991
+ get?: never;
2992
+ put?: never;
2993
+ /**
2994
+ * Confirm project minting tx
2995
+ * @description Confirms project creation after blockchain confirmation (sets live=true)
2996
+ */
2997
+ post: {
2998
+ parameters: {
2999
+ query?: never;
3000
+ header?: never;
3001
+ path?: never;
3002
+ cookie?: never;
3003
+ };
3004
+ requestBody: {
3005
+ content: {
3006
+ "application/json": {
3007
+ treasury_nft_policy_id: string;
3008
+ tx_hash?: string;
3009
+ };
3010
+ };
3011
+ };
3012
+ responses: {
3013
+ /** @description Project confirmed */
3014
+ 200: {
3015
+ headers: {
3016
+ [name: string]: unknown;
3017
+ };
3018
+ content?: never;
3019
+ };
3020
+ };
3021
+ };
3022
+ delete?: never;
3023
+ options?: never;
3024
+ head?: never;
3025
+ patch?: never;
3026
+ trace?: never;
3027
+ };
3028
+ "/project/public/task/list/{treasury_nft_policy_id}": {
3029
+ parameters: {
3030
+ query?: never;
3031
+ header?: never;
3032
+ path?: never;
3033
+ cookie?: never;
3034
+ };
3035
+ /**
3036
+ * List tasks
3037
+ * @description Returns all tasks for a treasury/project
3038
+ */
3039
+ get: {
3040
+ parameters: {
3041
+ query?: never;
3042
+ header?: never;
3043
+ path: {
3044
+ treasury_nft_policy_id: string;
3045
+ };
3046
+ cookie?: never;
3047
+ };
3048
+ requestBody?: never;
3049
+ responses: {
3050
+ /** @description List of tasks */
3051
+ 200: {
3052
+ headers: {
3053
+ [name: string]: unknown;
3054
+ };
3055
+ content: {
3056
+ "application/json": components["schemas"]["TaskListResponse"];
3057
+ };
3058
+ };
3059
+ };
3060
+ };
3061
+ put?: never;
3062
+ post?: never;
3063
+ delete?: never;
3064
+ options?: never;
3065
+ head?: never;
3066
+ patch?: never;
3067
+ trace?: never;
3068
+ };
3069
+ "/project/public/prerequisite/list": {
3070
+ parameters: {
3071
+ query?: never;
3072
+ header?: never;
3073
+ path?: never;
3074
+ cookie?: never;
3075
+ };
3076
+ /**
3077
+ * List on-chain prerequisites
3078
+ * @description Returns all contributor prerequisites with ON_CHAIN status
3079
+ */
3080
+ get: {
3081
+ parameters: {
3082
+ query?: never;
3083
+ header?: never;
3084
+ path?: never;
3085
+ cookie?: never;
3086
+ };
3087
+ requestBody?: never;
3088
+ responses: {
3089
+ /** @description List of prerequisites */
3090
+ 200: {
3091
+ headers: {
3092
+ [name: string]: unknown;
3093
+ };
3094
+ content?: never;
3095
+ };
3096
+ };
3097
+ };
3098
+ put?: never;
3099
+ post?: never;
3100
+ delete?: never;
3101
+ options?: never;
3102
+ head?: never;
3103
+ patch?: never;
3104
+ trace?: never;
3105
+ };
3106
+ "/project/manager/task/create": {
3107
+ parameters: {
3108
+ query?: never;
3109
+ header?: never;
3110
+ path?: never;
3111
+ cookie?: never;
3112
+ };
3113
+ get?: never;
3114
+ put?: never;
3115
+ /**
3116
+ * Create task
3117
+ * @description Creates a new task (requires Project Manager role via AndamioScan API)
3118
+ */
3119
+ post: {
3120
+ parameters: {
3121
+ query?: never;
3122
+ header?: never;
3123
+ path?: never;
3124
+ cookie?: never;
3125
+ };
3126
+ requestBody: {
3127
+ content: {
3128
+ "application/json": components["schemas"]["CreateTaskRequest"];
3129
+ };
3130
+ };
3131
+ responses: {
3132
+ /** @description Task created */
3133
+ 200: {
3134
+ headers: {
3135
+ [name: string]: unknown;
3136
+ };
3137
+ content?: never;
3138
+ };
3139
+ };
3140
+ };
3141
+ delete?: never;
3142
+ options?: never;
3143
+ head?: never;
3144
+ patch?: never;
3145
+ trace?: never;
3146
+ };
3147
+ "/project/manager/task/update": {
3148
+ parameters: {
3149
+ query?: never;
3150
+ header?: never;
3151
+ path?: never;
3152
+ cookie?: never;
3153
+ };
3154
+ get?: never;
3155
+ put?: never;
3156
+ /**
3157
+ * Update task
3158
+ * @description Updates a DRAFT task (requires Project Manager role)
3159
+ */
3160
+ post: {
3161
+ parameters: {
3162
+ query?: never;
3163
+ header?: never;
3164
+ path?: never;
3165
+ cookie?: never;
3166
+ };
3167
+ requestBody: {
3168
+ content: {
3169
+ "application/json": components["schemas"]["UpdateTaskRequest"];
3170
+ };
3171
+ };
3172
+ responses: {
3173
+ /** @description Task updated */
3174
+ 200: {
3175
+ headers: {
3176
+ [name: string]: unknown;
3177
+ };
3178
+ content?: never;
3179
+ };
3180
+ };
3181
+ };
3182
+ delete?: never;
3183
+ options?: never;
3184
+ head?: never;
3185
+ patch?: never;
3186
+ trace?: never;
3187
+ };
3188
+ "/project/manager/task/delete": {
3189
+ parameters: {
3190
+ query?: never;
3191
+ header?: never;
3192
+ path?: never;
3193
+ cookie?: never;
3194
+ };
3195
+ get?: never;
3196
+ put?: never;
3197
+ /**
3198
+ * Delete task
3199
+ * @description Deletes a DRAFT task (requires Project Manager role)
3200
+ */
3201
+ post: {
3202
+ parameters: {
3203
+ query?: never;
3204
+ header?: never;
3205
+ path?: never;
3206
+ cookie?: never;
3207
+ };
3208
+ requestBody: {
3209
+ content: {
3210
+ "application/json": {
3211
+ treasury_nft_policy_id: string;
3212
+ task_index: number;
3213
+ };
3214
+ };
3215
+ };
3216
+ responses: {
3217
+ /** @description Task deleted */
3218
+ 200: {
3219
+ headers: {
3220
+ [name: string]: unknown;
3221
+ };
3222
+ content?: never;
3223
+ };
3224
+ };
3225
+ };
3226
+ delete?: never;
3227
+ options?: never;
3228
+ head?: never;
3229
+ patch?: never;
3230
+ trace?: never;
3231
+ };
3232
+ "/project/manager/task/batch-update-status": {
3233
+ parameters: {
3234
+ query?: never;
3235
+ header?: never;
3236
+ path?: never;
3237
+ cookie?: never;
3238
+ };
3239
+ get?: never;
3240
+ put?: never;
3241
+ /**
3242
+ * Batch update task status
3243
+ * @description Updates status for multiple tasks (transaction side effect)
3244
+ */
3245
+ post: {
3246
+ parameters: {
3247
+ query?: never;
3248
+ header?: never;
3249
+ path?: never;
3250
+ cookie?: never;
3251
+ };
3252
+ requestBody: {
3253
+ content: {
3254
+ "application/json": {
3255
+ treasury_nft_policy_id: string;
3256
+ tasks: {
3257
+ arbitrary_hash?: string;
3258
+ status?: string;
3259
+ pending_tx_hash?: string;
3260
+ }[];
3261
+ };
3262
+ };
3263
+ };
3264
+ responses: {
3265
+ /** @description Tasks updated */
3266
+ 200: {
3267
+ headers: {
3268
+ [name: string]: unknown;
3269
+ };
3270
+ content?: never;
3271
+ };
3272
+ };
3273
+ };
3274
+ delete?: never;
3275
+ options?: never;
3276
+ head?: never;
3277
+ patch?: never;
3278
+ trace?: never;
3279
+ };
3280
+ "/project/manager/task/batch-confirm": {
3281
+ parameters: {
3282
+ query?: never;
3283
+ header?: never;
3284
+ path?: never;
3285
+ cookie?: never;
3286
+ };
3287
+ get?: never;
3288
+ put?: never;
3289
+ /**
3290
+ * Batch confirm tasks
3291
+ * @description Confirms multiple tasks after blockchain confirmation (transaction side effect)
3292
+ */
3293
+ post: {
3294
+ parameters: {
3295
+ query?: never;
3296
+ header?: never;
3297
+ path?: never;
3298
+ cookie?: never;
3299
+ };
3300
+ requestBody: {
3301
+ content: {
3302
+ "application/json": {
3303
+ treasury_nft_policy_id: string;
3304
+ tx_hash: string;
3305
+ tasks: {
3306
+ arbitrary_hash?: string;
3307
+ task_hash?: string;
3308
+ }[];
3309
+ };
3310
+ };
3311
+ };
3312
+ responses: {
3313
+ /** @description Tasks confirmed */
3314
+ 200: {
3315
+ headers: {
3316
+ [name: string]: unknown;
3317
+ };
3318
+ content?: never;
3319
+ };
3320
+ };
3321
+ };
3322
+ delete?: never;
3323
+ options?: never;
3324
+ head?: never;
3325
+ patch?: never;
3326
+ trace?: never;
3327
+ };
3328
+ "/project/manager/commitment/update-status": {
3329
+ parameters: {
3330
+ query?: never;
3331
+ header?: never;
3332
+ path?: never;
3333
+ cookie?: never;
3334
+ };
3335
+ get?: never;
3336
+ put?: never;
3337
+ /**
3338
+ * Update commitment status (manager)
3339
+ * @description Manager updates a task commitment status
3340
+ */
3341
+ post: {
3342
+ parameters: {
3343
+ query?: never;
3344
+ header?: never;
3345
+ path?: never;
3346
+ cookie?: never;
3347
+ };
3348
+ requestBody: {
3349
+ content: {
3350
+ "application/json": {
3351
+ treasury_nft_policy_id: string;
3352
+ task_hash: string;
3353
+ contributor_alias: string;
3354
+ status: string;
3355
+ pending_tx_hash?: string;
3356
+ };
3357
+ };
3358
+ };
3359
+ responses: {
3360
+ /** @description Status updated */
3361
+ 200: {
3362
+ headers: {
3363
+ [name: string]: unknown;
3364
+ };
3365
+ content?: never;
3366
+ };
3367
+ };
3368
+ };
3369
+ delete?: never;
3370
+ options?: never;
3371
+ head?: never;
3372
+ patch?: never;
3373
+ trace?: never;
3374
+ };
3375
+ "/project/manager/commitment/confirm-transaction": {
3376
+ parameters: {
3377
+ query?: never;
3378
+ header?: never;
3379
+ path?: never;
3380
+ cookie?: never;
3381
+ };
3382
+ get?: never;
3383
+ put?: never;
3384
+ /**
3385
+ * Confirm commitment transaction (manager)
3386
+ * @description Confirms a task commitment transaction after blockchain confirmation
3387
+ */
3388
+ post: {
3389
+ parameters: {
3390
+ query?: never;
3391
+ header?: never;
3392
+ path?: never;
3393
+ cookie?: never;
3394
+ };
3395
+ requestBody: {
3396
+ content: {
3397
+ "application/json": {
3398
+ task_hash: string;
3399
+ tx_hash: string;
3400
+ };
3401
+ };
3402
+ };
3403
+ responses: {
3404
+ /** @description Transaction confirmed */
3405
+ 200: {
3406
+ headers: {
3407
+ [name: string]: unknown;
3408
+ };
3409
+ content?: never;
3410
+ };
3411
+ };
3412
+ };
3413
+ delete?: never;
3414
+ options?: never;
3415
+ head?: never;
3416
+ patch?: never;
3417
+ trace?: never;
3418
+ };
3419
+ "/project/shared/contributor/create": {
3420
+ parameters: {
3421
+ query?: never;
3422
+ header?: never;
3423
+ path?: never;
3424
+ cookie?: never;
3425
+ };
3426
+ get?: never;
3427
+ put?: never;
3428
+ /**
3429
+ * Create contributor role
3430
+ * @description Creates contributor role for the authenticated user
3431
+ */
3432
+ post: {
3433
+ parameters: {
3434
+ query?: never;
3435
+ header?: never;
3436
+ path?: never;
3437
+ cookie?: never;
3438
+ };
3439
+ requestBody?: never;
3440
+ responses: {
3441
+ /** @description Contributor created */
3442
+ 200: {
3443
+ headers: {
3444
+ [name: string]: unknown;
3445
+ };
3446
+ content?: never;
3447
+ };
3448
+ };
3449
+ };
3450
+ delete?: never;
3451
+ options?: never;
3452
+ head?: never;
3453
+ patch?: never;
3454
+ trace?: never;
3455
+ };
3456
+ "/project/contributor/commitment/get": {
3457
+ parameters: {
3458
+ query?: never;
3459
+ header?: never;
3460
+ path?: never;
3461
+ cookie?: never;
3462
+ };
3463
+ get?: never;
3464
+ put?: never;
3465
+ /**
3466
+ * Get task commitment
3467
+ * @description Gets a specific task commitment by task_hash
3468
+ */
3469
+ post: {
3470
+ parameters: {
3471
+ query?: never;
3472
+ header?: never;
3473
+ path?: never;
3474
+ cookie?: never;
3475
+ };
3476
+ requestBody: {
3477
+ content: {
3478
+ "application/json": {
3479
+ task_hash: string;
3480
+ };
3481
+ };
3482
+ };
3483
+ responses: {
3484
+ /** @description Task commitment details */
3485
+ 200: {
3486
+ headers: {
3487
+ [name: string]: unknown;
3488
+ };
3489
+ content?: never;
3490
+ };
3491
+ };
3492
+ };
3493
+ delete?: never;
3494
+ options?: never;
3495
+ head?: never;
3496
+ patch?: never;
3497
+ trace?: never;
3498
+ };
3499
+ "/project/contributor/commitment/create": {
3500
+ parameters: {
3501
+ query?: never;
3502
+ header?: never;
3503
+ path?: never;
3504
+ cookie?: never;
3505
+ };
3506
+ get?: never;
3507
+ put?: never;
3508
+ /**
3509
+ * Create task commitment
3510
+ * @description Creates a new task commitment (contributor commits to a task)
3511
+ */
3512
+ post: {
3513
+ parameters: {
3514
+ query?: never;
3515
+ header?: never;
3516
+ path?: never;
3517
+ cookie?: never;
3518
+ };
3519
+ requestBody: {
3520
+ content: {
3521
+ "application/json": components["schemas"]["CreateTaskCommitmentRequest"];
3522
+ };
3523
+ };
3524
+ responses: {
3525
+ /** @description Task commitment created */
3526
+ 200: {
3527
+ headers: {
3528
+ [name: string]: unknown;
3529
+ };
3530
+ content?: never;
3531
+ };
3532
+ };
3533
+ };
3534
+ delete?: never;
3535
+ options?: never;
3536
+ head?: never;
3537
+ patch?: never;
3538
+ trace?: never;
3539
+ };
3540
+ "/project/contributor/commitment/update-evidence": {
3541
+ parameters: {
3542
+ query?: never;
3543
+ header?: never;
3544
+ path?: never;
3545
+ cookie?: never;
3546
+ };
3547
+ get?: never;
3548
+ put?: never;
3549
+ /**
3550
+ * Update task commitment evidence
3551
+ * @description Updates the evidence for a task commitment
3552
+ */
3553
+ post: {
3554
+ parameters: {
3555
+ query?: never;
3556
+ header?: never;
3557
+ path?: never;
3558
+ cookie?: never;
3559
+ };
3560
+ requestBody: {
3561
+ content: {
3562
+ "application/json": {
3563
+ task_hash: string;
3564
+ evidence: Record<string, never>;
3565
+ };
3566
+ };
3567
+ };
3568
+ responses: {
3569
+ /** @description Evidence updated */
3570
+ 200: {
3571
+ headers: {
3572
+ [name: string]: unknown;
3573
+ };
3574
+ content?: never;
3575
+ };
3576
+ };
3577
+ };
3578
+ delete?: never;
3579
+ options?: never;
3580
+ head?: never;
3581
+ patch?: never;
3582
+ trace?: never;
3583
+ };
3584
+ "/project/contributor/commitment/update-status": {
3585
+ parameters: {
3586
+ query?: never;
3587
+ header?: never;
3588
+ path?: never;
3589
+ cookie?: never;
3590
+ };
3591
+ get?: never;
3592
+ put?: never;
3593
+ /**
3594
+ * Update task commitment status
3595
+ * @description Updates the status for a task commitment (contributor role)
3596
+ */
3597
+ post: {
3598
+ parameters: {
3599
+ query?: never;
3600
+ header?: never;
3601
+ path?: never;
3602
+ cookie?: never;
3603
+ };
3604
+ requestBody: {
3605
+ content: {
3606
+ "application/json": {
3607
+ task_hash: string;
3608
+ status: string;
3609
+ pending_tx_hash?: string;
3610
+ };
3611
+ };
3612
+ };
3613
+ responses: {
3614
+ /** @description Status updated */
3615
+ 200: {
3616
+ headers: {
3617
+ [name: string]: unknown;
3618
+ };
3619
+ content?: never;
3620
+ };
3621
+ };
3622
+ };
3623
+ delete?: never;
3624
+ options?: never;
3625
+ head?: never;
3626
+ patch?: never;
3627
+ trace?: never;
3628
+ };
3629
+ "/project/contributor/commitment/delete": {
3630
+ parameters: {
3631
+ query?: never;
3632
+ header?: never;
3633
+ path?: never;
3634
+ cookie?: never;
3635
+ };
3636
+ get?: never;
3637
+ put?: never;
3638
+ /**
3639
+ * Delete task commitment
3640
+ * @description Deletes a task commitment
3641
+ */
3642
+ post: {
3643
+ parameters: {
3644
+ query?: never;
3645
+ header?: never;
3646
+ path?: never;
3647
+ cookie?: never;
3648
+ };
3649
+ requestBody: {
3650
+ content: {
3651
+ "application/json": {
3652
+ task_hash: string;
3653
+ };
3654
+ };
3655
+ };
3656
+ responses: {
3657
+ /** @description Task commitment deleted */
3658
+ 200: {
3659
+ headers: {
3660
+ [name: string]: unknown;
3661
+ };
3662
+ content?: never;
3663
+ };
3664
+ };
3665
+ };
3666
+ delete?: never;
3667
+ options?: never;
3668
+ head?: never;
3669
+ patch?: never;
3670
+ trace?: never;
3671
+ };
3672
+ "/project/contributor/commitment/confirm-transaction": {
3673
+ parameters: {
3674
+ query?: never;
3675
+ header?: never;
3676
+ path?: never;
3677
+ cookie?: never;
3678
+ };
3679
+ get?: never;
3680
+ put?: never;
3681
+ /**
3682
+ * Confirm task commitment transaction
3683
+ * @description Confirms a blockchain transaction for a task commitment
3684
+ */
3685
+ post: {
3686
+ parameters: {
3687
+ query?: never;
3688
+ header?: never;
3689
+ path?: never;
3690
+ cookie?: never;
3691
+ };
3692
+ requestBody: {
3693
+ content: {
3694
+ "application/json": {
3695
+ task_hash: string;
3696
+ tx_hash: string;
3697
+ };
3698
+ };
3699
+ };
3700
+ responses: {
3701
+ /** @description Transaction confirmed */
3702
+ 200: {
3703
+ headers: {
3704
+ [name: string]: unknown;
3705
+ };
3706
+ content?: never;
3707
+ };
3708
+ };
3709
+ };
3710
+ delete?: never;
3711
+ options?: never;
3712
+ head?: never;
3713
+ patch?: never;
3714
+ trace?: never;
3715
+ };
3716
+ }
3717
+ export type webhooks = Record<string, never>;
3718
+ export interface components {
3719
+ schemas: {
3720
+ HealthResponse: {
3721
+ /** @example ok */
3722
+ status?: string;
3723
+ /** @example 1.0.0 */
3724
+ version?: string;
3725
+ build_time?: string;
3726
+ /** @example 2h30m15s */
3727
+ uptime?: string;
3728
+ /** @example connected */
3729
+ database?: string;
3730
+ /** @example false */
3731
+ read_only?: boolean;
3732
+ /** @example go1.21.0 */
3733
+ go_version?: string;
3734
+ };
3735
+ LoginSessionResponse: {
3736
+ id?: string;
3737
+ nonce?: string;
3738
+ /** Format: date-time */
3739
+ expires_at?: string;
3740
+ };
3741
+ ValidateSignatureRequest: {
3742
+ /** @description Session ID from login/session */
3743
+ id: string;
3744
+ signature: {
3745
+ /** @description CIP-30 COSE_Sign1 signature */
3746
+ signature?: string;
3747
+ /** @description CIP-30 COSE_Key */
3748
+ key?: string;
3749
+ };
3750
+ /** @description Cardano address (hex or bech32) */
3751
+ address: string;
3752
+ andamio_access_token_unit?: string;
3753
+ /** @default false */
3754
+ convert_utf8: boolean;
3755
+ wallet_preference?: string;
3756
+ };
3757
+ ValidateSignatureResponse: {
3758
+ /** @description JWT token */
3759
+ jwt?: string;
3760
+ user?: {
3761
+ id?: string;
3762
+ cardano_bech32_addr?: string;
3763
+ access_token_alias?: string;
3764
+ };
3765
+ };
3766
+ CreateCourseRequest: {
3767
+ course_code: string;
3768
+ title: string;
3769
+ description?: string;
3770
+ image_url?: string;
3771
+ video_url?: string;
3772
+ };
3773
+ UpdateCourseRequest: {
3774
+ course_code: string;
3775
+ title?: string;
3776
+ description?: string;
3777
+ image_url?: string;
3778
+ video_url?: string;
3779
+ };
3780
+ CreateModuleRequest: {
3781
+ policy_id: string;
3782
+ module_code: string;
3783
+ title: string;
3784
+ description?: string;
3785
+ };
3786
+ BatchUpdateModuleStatusRequest: {
3787
+ policy_id: string;
3788
+ course_modules: {
3789
+ module_code: string;
3790
+ /** @enum {string} */
3791
+ status: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
3792
+ module_hash?: string;
3793
+ pending_tx_hash?: string;
3794
+ }[];
3795
+ };
3796
+ BatchConfirmModuleTransactionRequest: {
3797
+ policy_id: string;
3798
+ tx_hash: string;
3799
+ course_modules: {
3800
+ module_code: string;
3801
+ module_hash?: string;
3802
+ }[];
3803
+ };
3804
+ CreateSLTRequest: {
3805
+ policy_id: string;
3806
+ module_code: string;
3807
+ module_index: number;
3808
+ slt_text: string;
3809
+ };
3810
+ CreateLessonRequest: {
3811
+ policy_id: string;
3812
+ module_code: string;
3813
+ module_index: number;
3814
+ title?: string;
3815
+ description?: string;
3816
+ content_json?: Record<string, never>;
3817
+ image_url?: string;
3818
+ video_url?: string;
3819
+ };
3820
+ CreateAssignmentRequest: {
3821
+ policy_id: string;
3822
+ module_code: string;
3823
+ assignment_code: string;
3824
+ title: string;
3825
+ description?: string;
3826
+ content_json?: Record<string, never>;
3827
+ image_url?: string;
3828
+ video_url?: string;
3829
+ slt_ids?: string[];
3830
+ };
3831
+ CreateAssignmentCommitmentRequest: {
3832
+ policy_id: string;
3833
+ module_code: string;
3834
+ pending_tx_hash?: string;
3835
+ status?: string;
3836
+ };
3837
+ ReviewAssignmentCommitmentRequest: {
3838
+ policy_id: string;
3839
+ module_code: string;
3840
+ access_token_alias: string;
3841
+ /** @enum {string} */
3842
+ decision: "approve" | "reject";
3843
+ pending_tx_hash: string;
3844
+ };
3845
+ CreateIntroductionRequest: {
3846
+ policy_id: string;
3847
+ module_code: string;
3848
+ title: string;
3849
+ description?: string;
3850
+ content_json?: Record<string, never>;
3851
+ image_url?: string;
3852
+ video_url?: string;
3853
+ };
3854
+ UpdateProjectRequest: {
3855
+ treasury_nft_policy_id: string;
3856
+ data?: {
3857
+ title?: string;
3858
+ description?: string;
3859
+ image_url?: string;
3860
+ video_url?: string;
3861
+ };
3862
+ };
3863
+ CreateTaskCommitmentRequest: {
3864
+ task_hash: string;
3865
+ pending_tx_hash: string;
3866
+ status?: string;
3867
+ evidence?: Record<string, never>;
3868
+ };
3869
+ CreateTaskRequest: {
3870
+ treasury_nft_policy_id: string;
3871
+ title: string;
3872
+ description: string;
3873
+ content_json?: Record<string, never>;
3874
+ acceptance_criteria?: string[];
3875
+ lovelace: string;
3876
+ expiration_time: string;
3877
+ num_allowed_commitments?: number;
3878
+ tokens?: {
3879
+ policy_id?: string;
3880
+ asset_name?: string;
3881
+ quantity?: number;
3882
+ }[];
3883
+ };
3884
+ UpdateTaskRequest: {
3885
+ treasury_nft_policy_id: string;
3886
+ task_index: number;
3887
+ data?: {
3888
+ title?: string;
3889
+ description?: string;
3890
+ content_json?: Record<string, never>;
3891
+ acceptance_criteria?: string[];
3892
+ lovelace?: string;
3893
+ expiration_time?: string;
3894
+ num_allowed_commitments?: number;
3895
+ tokens?: Record<string, never>[];
3896
+ };
3897
+ };
3898
+ Error: {
3899
+ code?: string;
3900
+ message?: string;
3901
+ };
3902
+ CourseResponse: {
3903
+ course_code?: string;
3904
+ course_nft_policy_id?: string | null;
3905
+ title?: string;
3906
+ description?: string | null;
3907
+ image_url?: string | null;
3908
+ video_url?: string | null;
3909
+ };
3910
+ CourseListResponse: components["schemas"]["CourseResponse"][];
3911
+ CourseModuleResponse: {
3912
+ module_code?: string;
3913
+ title?: string;
3914
+ description?: string | null;
3915
+ /** @enum {string} */
3916
+ status?: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
3917
+ module_hash?: string | null;
3918
+ pending_tx_hash?: string | null;
3919
+ slts?: components["schemas"]["SLTSummary"][];
3920
+ };
3921
+ CourseModuleListResponse: components["schemas"]["CourseModuleResponse"][];
3922
+ SLTSummary: {
3923
+ module_index?: number;
3924
+ slt_text?: string;
3925
+ };
3926
+ SLTResponse: {
3927
+ module_index?: number;
3928
+ slt_text?: string;
3929
+ module_code?: string;
3930
+ policy_id?: string;
3931
+ };
3932
+ SLTListResponse: components["schemas"]["SLTResponse"][];
3933
+ LessonResponse: {
3934
+ module_index?: number;
3935
+ title?: string;
3936
+ description?: string | null;
3937
+ content_json?: Record<string, never> | null;
3938
+ image_url?: string | null;
3939
+ video_url?: string | null;
3940
+ live?: boolean;
3941
+ slt_text?: string | null;
3942
+ };
3943
+ LessonListResponse: components["schemas"]["LessonResponse"][];
3944
+ AssignmentResponse: {
3945
+ assignment_code?: string;
3946
+ module_code?: string;
3947
+ title?: string;
3948
+ description?: string | null;
3949
+ content_json?: Record<string, never> | null;
3950
+ image_url?: string | null;
3951
+ video_url?: string | null;
3952
+ live?: boolean;
3953
+ slts?: components["schemas"]["SLTSummary"][];
3954
+ };
3955
+ IntroductionResponse: {
3956
+ title?: string;
3957
+ description?: string | null;
3958
+ content_json?: Record<string, never> | null;
3959
+ image_url?: string | null;
3960
+ video_url?: string | null;
3961
+ live?: boolean;
3962
+ };
3963
+ AssignmentCommitmentResponse: {
3964
+ policy_id?: string;
3965
+ module_code?: string;
3966
+ access_token_alias?: string;
3967
+ evidence?: Record<string, never> | null;
3968
+ /** @enum {string} */
3969
+ status?: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
3970
+ pending_tx_hash?: string | null;
3971
+ tx_hash?: string | null;
3972
+ assignment_title?: string | null;
3973
+ };
3974
+ AssignmentCommitmentListResponse: components["schemas"]["AssignmentCommitmentResponse"][];
3975
+ TreasuryResponse: {
3976
+ treasury_nft_policy_id?: string | null;
3977
+ title?: string;
3978
+ andamio_alias?: string | null;
3979
+ description?: string | null;
3980
+ image_url?: string | null;
3981
+ video_url?: string | null;
3982
+ live?: boolean;
3983
+ owner_alias?: string | null;
3984
+ };
3985
+ TreasuryListResponse: components["schemas"]["TreasuryResponse"][];
3986
+ TaskResponse: {
3987
+ task_index?: number;
3988
+ task_hash?: string | null;
3989
+ arbitrary_hash?: string | null;
3990
+ title?: string;
3991
+ description?: string | null;
3992
+ content_json?: Record<string, never> | null;
3993
+ acceptance_criteria?: string[];
3994
+ lovelace?: string;
3995
+ expiration_time?: string;
3996
+ /** @enum {string} */
3997
+ status?: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
3998
+ pending_tx_hash?: string | null;
3999
+ num_allowed_commitments?: number;
4000
+ tokens?: {
4001
+ policy_id?: string;
4002
+ asset_name?: string;
4003
+ quantity?: number;
4004
+ }[];
4005
+ };
4006
+ TaskListResponse: components["schemas"]["TaskResponse"][];
4007
+ TaskCommitmentResponse: {
4008
+ task_hash?: string;
4009
+ contributor_alias?: string;
4010
+ evidence?: Record<string, never> | null;
4011
+ /** @enum {string} */
4012
+ status?: "DRAFT" | "PENDING_TX" | "ON_CHAIN";
4013
+ pending_tx_hash?: string | null;
4014
+ tx_hash?: string | null;
4015
+ };
4016
+ ContributorResponse: {
4017
+ access_token_alias?: string;
4018
+ status?: string;
4019
+ };
4020
+ ContributorPrerequisiteResponse: {
4021
+ policy_id?: string;
4022
+ title?: string;
4023
+ description?: string | null;
4024
+ status?: string;
4025
+ };
4026
+ ContributorPrerequisiteListResponse: components["schemas"]["ContributorPrerequisiteResponse"][];
4027
+ UserCourseStatusResponse: {
4028
+ is_enrolled?: boolean;
4029
+ policy_id?: string;
4030
+ course?: components["schemas"]["CourseResponse"];
4031
+ modules_completed?: number;
4032
+ total_modules?: number;
4033
+ commitments?: components["schemas"]["AssignmentCommitmentListResponse"];
4034
+ };
4035
+ PendingTransactionResponse: {
4036
+ type?: string;
4037
+ tx_hash?: string;
4038
+ resource_id?: string;
4039
+ /** Format: date-time */
4040
+ created_at?: string;
4041
+ };
4042
+ PendingTransactionListResponse: components["schemas"]["PendingTransactionResponse"][];
4043
+ BatchResultResponse: {
4044
+ success?: boolean;
4045
+ updated_count?: number;
4046
+ errors?: string[];
4047
+ };
4048
+ };
4049
+ responses: never;
4050
+ parameters: never;
4051
+ requestBodies: never;
4052
+ headers: never;
4053
+ pathItems: never;
4054
+ }
4055
+ export type $defs = Record<string, never>;
4056
+ export type operations = Record<string, never>;
4057
+ //# sourceMappingURL=api.d.ts.map