@examplary/sdk 2.3.0 → 2.4.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/index.d.mts +1566 -1320
- package/dist/index.d.ts +1566 -1320
- package/dist/index.js +162 -140
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +162 -140
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -381,7 +381,7 @@ interface paths {
|
|
|
381
381
|
patch?: never;
|
|
382
382
|
trace?: never;
|
|
383
383
|
};
|
|
384
|
-
"/
|
|
384
|
+
"/exams/{id}/sessions": {
|
|
385
385
|
parameters: {
|
|
386
386
|
query?: never;
|
|
387
387
|
header?: never;
|
|
@@ -389,121 +389,127 @@ interface paths {
|
|
|
389
389
|
cookie?: never;
|
|
390
390
|
};
|
|
391
391
|
/**
|
|
392
|
-
*
|
|
393
|
-
* @description Get
|
|
392
|
+
* List exam sessions
|
|
393
|
+
* @description Get a list of all student sessions for an exam, representing a set of answers from a student.
|
|
394
394
|
*/
|
|
395
|
-
get: operations["
|
|
395
|
+
get: operations["exams.sessions.list"];
|
|
396
396
|
put?: never;
|
|
397
|
-
|
|
397
|
+
/**
|
|
398
|
+
* Create session
|
|
399
|
+
* @description Manually create a session, possibly from uploaded data.
|
|
400
|
+
*/
|
|
401
|
+
post: operations["exams.sessions.import"];
|
|
398
402
|
delete?: never;
|
|
399
403
|
options?: never;
|
|
400
404
|
head?: never;
|
|
401
|
-
|
|
402
|
-
* Update me
|
|
403
|
-
* @description Update the current user's account details.
|
|
404
|
-
*/
|
|
405
|
-
patch: operations["me.update"];
|
|
405
|
+
patch?: never;
|
|
406
406
|
trace?: never;
|
|
407
407
|
};
|
|
408
|
-
"/
|
|
408
|
+
"/exams/{id}/sessions/scan": {
|
|
409
409
|
parameters: {
|
|
410
410
|
query?: never;
|
|
411
411
|
header?: never;
|
|
412
412
|
path?: never;
|
|
413
413
|
cookie?: never;
|
|
414
414
|
};
|
|
415
|
+
get?: never;
|
|
416
|
+
put?: never;
|
|
415
417
|
/**
|
|
416
|
-
* Get
|
|
417
|
-
* @description
|
|
418
|
+
* Get answers from scan
|
|
419
|
+
* @description Scan student answers from a document.
|
|
418
420
|
*/
|
|
419
|
-
|
|
420
|
-
put?: never;
|
|
421
|
-
post?: never;
|
|
421
|
+
post: operations["exams.sessions.scan"];
|
|
422
422
|
delete?: never;
|
|
423
423
|
options?: never;
|
|
424
424
|
head?: never;
|
|
425
425
|
patch?: never;
|
|
426
426
|
trace?: never;
|
|
427
427
|
};
|
|
428
|
-
"/
|
|
428
|
+
"/exams/{id}/sessions/scan-document": {
|
|
429
429
|
parameters: {
|
|
430
430
|
query?: never;
|
|
431
431
|
header?: never;
|
|
432
432
|
path?: never;
|
|
433
433
|
cookie?: never;
|
|
434
434
|
};
|
|
435
|
-
|
|
436
|
-
get: operations["org.get"];
|
|
435
|
+
get?: never;
|
|
437
436
|
put?: never;
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
437
|
+
/**
|
|
438
|
+
* Scan document for student answers
|
|
439
|
+
* @description Start a background task to extract student answers from an uploaded PDF document.
|
|
440
|
+
*/
|
|
441
|
+
post: operations["exams.sessions.scanDocument"];
|
|
442
|
+
delete?: never;
|
|
441
443
|
options?: never;
|
|
442
444
|
head?: never;
|
|
443
|
-
|
|
444
|
-
patch: operations["org.update"];
|
|
445
|
+
patch?: never;
|
|
445
446
|
trace?: never;
|
|
446
447
|
};
|
|
447
|
-
"/
|
|
448
|
+
"/exams/{id}/sessions/{sessionId}": {
|
|
448
449
|
parameters: {
|
|
449
450
|
query?: never;
|
|
450
451
|
header?: never;
|
|
451
452
|
path?: never;
|
|
452
453
|
cookie?: never;
|
|
453
454
|
};
|
|
454
|
-
/**
|
|
455
|
-
|
|
455
|
+
/**
|
|
456
|
+
* Get exam session
|
|
457
|
+
* @description Get a single exam session by its ID, representing a set of answers from a student.
|
|
458
|
+
*/
|
|
459
|
+
get: operations["exams.sessions.get"];
|
|
456
460
|
put?: never;
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
461
|
+
post?: never;
|
|
462
|
+
/**
|
|
463
|
+
* Delete exam session
|
|
464
|
+
* @description Remove an exam session.
|
|
465
|
+
*/
|
|
466
|
+
delete: operations["exams.sessions.delete"];
|
|
460
467
|
options?: never;
|
|
461
468
|
head?: never;
|
|
462
469
|
patch?: never;
|
|
463
470
|
trace?: never;
|
|
464
471
|
};
|
|
465
|
-
"/
|
|
472
|
+
"/exams/{id}/sessions/{sessionId}/feedback": {
|
|
466
473
|
parameters: {
|
|
467
474
|
query?: never;
|
|
468
475
|
header?: never;
|
|
469
476
|
path?: never;
|
|
470
477
|
cookie?: never;
|
|
471
478
|
};
|
|
472
|
-
|
|
473
|
-
get: operations["orgs.list"];
|
|
479
|
+
get?: never;
|
|
474
480
|
put?: never;
|
|
475
481
|
/**
|
|
476
|
-
*
|
|
477
|
-
* @description
|
|
482
|
+
* Provide feedback
|
|
483
|
+
* @description Set teacher feedback and/or a grade for a specific question in an exam session.
|
|
478
484
|
*/
|
|
479
|
-
post: operations["
|
|
485
|
+
post: operations["exams.sessions.saveFeedback"];
|
|
480
486
|
delete?: never;
|
|
481
487
|
options?: never;
|
|
482
488
|
head?: never;
|
|
483
489
|
patch?: never;
|
|
484
490
|
trace?: never;
|
|
485
491
|
};
|
|
486
|
-
"/
|
|
492
|
+
"/exams/{id}/sessions/{sessionId}/overall-feedback": {
|
|
487
493
|
parameters: {
|
|
488
494
|
query?: never;
|
|
489
495
|
header?: never;
|
|
490
496
|
path?: never;
|
|
491
497
|
cookie?: never;
|
|
492
498
|
};
|
|
499
|
+
get?: never;
|
|
500
|
+
put?: never;
|
|
493
501
|
/**
|
|
494
|
-
*
|
|
495
|
-
* @description
|
|
502
|
+
* Provide overall feedback
|
|
503
|
+
* @description Set teacher feedback for the test as a whole in an exam session.
|
|
496
504
|
*/
|
|
497
|
-
|
|
498
|
-
put?: never;
|
|
499
|
-
post?: never;
|
|
505
|
+
post: operations["exams.sessions.saveOverallFeedback"];
|
|
500
506
|
delete?: never;
|
|
501
507
|
options?: never;
|
|
502
508
|
head?: never;
|
|
503
509
|
patch?: never;
|
|
504
510
|
trace?: never;
|
|
505
511
|
};
|
|
506
|
-
"/
|
|
512
|
+
"/exams/{id}/sessions/{sessionId}/generate-overall-feedback": {
|
|
507
513
|
parameters: {
|
|
508
514
|
query?: never;
|
|
509
515
|
header?: never;
|
|
@@ -513,41 +519,37 @@ interface paths {
|
|
|
513
519
|
get?: never;
|
|
514
520
|
put?: never;
|
|
515
521
|
/**
|
|
516
|
-
*
|
|
517
|
-
* @description
|
|
522
|
+
* Generate overall feedback
|
|
523
|
+
* @description Generate feedback for the test as a whole in an exam session.
|
|
518
524
|
*/
|
|
519
|
-
post: operations["
|
|
525
|
+
post: operations["exams.sessions.generateOverallFeedback"];
|
|
520
526
|
delete?: never;
|
|
521
527
|
options?: never;
|
|
522
528
|
head?: never;
|
|
523
529
|
patch?: never;
|
|
524
530
|
trace?: never;
|
|
525
531
|
};
|
|
526
|
-
"/
|
|
532
|
+
"/exams/{id}/sessions/{sessionId}/suggestions/accept-all": {
|
|
527
533
|
parameters: {
|
|
528
534
|
query?: never;
|
|
529
535
|
header?: never;
|
|
530
536
|
path?: never;
|
|
531
537
|
cookie?: never;
|
|
532
538
|
};
|
|
533
|
-
|
|
534
|
-
* List attributes
|
|
535
|
-
* @description Get all custom attributes configured for the current workspace.
|
|
536
|
-
*/
|
|
537
|
-
get: operations["attributes.list"];
|
|
539
|
+
get?: never;
|
|
538
540
|
put?: never;
|
|
539
541
|
/**
|
|
540
|
-
*
|
|
541
|
-
* @description
|
|
542
|
+
* Accept AI grading suggestions
|
|
543
|
+
* @description Accept all AI-generated grading suggestions for the exam session.
|
|
542
544
|
*/
|
|
543
|
-
post: operations["
|
|
545
|
+
post: operations["exams.sessions.acceptAllSuggestions"];
|
|
544
546
|
delete?: never;
|
|
545
547
|
options?: never;
|
|
546
548
|
head?: never;
|
|
547
549
|
patch?: never;
|
|
548
550
|
trace?: never;
|
|
549
551
|
};
|
|
550
|
-
"/
|
|
552
|
+
"/exams/{id}/sessions/{sessionId}/suggestions/{questionId}/accept": {
|
|
551
553
|
parameters: {
|
|
552
554
|
query?: never;
|
|
553
555
|
header?: never;
|
|
@@ -557,17 +559,17 @@ interface paths {
|
|
|
557
559
|
get?: never;
|
|
558
560
|
put?: never;
|
|
559
561
|
/**
|
|
560
|
-
*
|
|
561
|
-
* @description
|
|
562
|
+
* Accept single AI grading suggestion
|
|
563
|
+
* @description Accept a single AI-generated grading suggestion for the exam session.
|
|
562
564
|
*/
|
|
563
|
-
post: operations["
|
|
565
|
+
post: operations["exams.sessions.acceptSuggestion"];
|
|
564
566
|
delete?: never;
|
|
565
567
|
options?: never;
|
|
566
568
|
head?: never;
|
|
567
569
|
patch?: never;
|
|
568
570
|
trace?: never;
|
|
569
571
|
};
|
|
570
|
-
"/
|
|
572
|
+
"/exams/{id}/sessions/{sessionId}/answers/{questionId}": {
|
|
571
573
|
parameters: {
|
|
572
574
|
query?: never;
|
|
573
575
|
header?: never;
|
|
@@ -576,22 +578,18 @@ interface paths {
|
|
|
576
578
|
};
|
|
577
579
|
get?: never;
|
|
578
580
|
put?: never;
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
* @description Update an existing attribute in the current workspace.
|
|
582
|
-
*/
|
|
583
|
-
post: operations["attributes.update"];
|
|
584
|
-
/**
|
|
585
|
-
* Delete attribute
|
|
586
|
-
* @description Delete a custom attribute from the current workspace. Default attributes cannot be deleted.
|
|
587
|
-
*/
|
|
588
|
-
delete: operations["attributes.delete"];
|
|
581
|
+
post?: never;
|
|
582
|
+
delete?: never;
|
|
589
583
|
options?: never;
|
|
590
584
|
head?: never;
|
|
591
|
-
|
|
585
|
+
/**
|
|
586
|
+
* Edit answer
|
|
587
|
+
* @description Edit a single answer in an exam session.
|
|
588
|
+
*/
|
|
589
|
+
patch: operations["exams.sessions.editAnswer"];
|
|
592
590
|
trace?: never;
|
|
593
591
|
};
|
|
594
|
-
"/
|
|
592
|
+
"/exams/{id}/sessions/{sessionId}/comments": {
|
|
595
593
|
parameters: {
|
|
596
594
|
query?: never;
|
|
597
595
|
header?: never;
|
|
@@ -599,23 +597,23 @@ interface paths {
|
|
|
599
597
|
cookie?: never;
|
|
600
598
|
};
|
|
601
599
|
/**
|
|
602
|
-
*
|
|
603
|
-
* @description Get a list
|
|
600
|
+
* List session comments
|
|
601
|
+
* @description Get a list of all comments left on a student's assessment session.
|
|
604
602
|
*/
|
|
605
|
-
get: operations["
|
|
603
|
+
get: operations["exams.sessions.comments.list"];
|
|
606
604
|
put?: never;
|
|
607
605
|
/**
|
|
608
|
-
* Create
|
|
609
|
-
* @description
|
|
606
|
+
* Create session comment
|
|
607
|
+
* @description Add a new comment to a question in a student's assessment session.
|
|
610
608
|
*/
|
|
611
|
-
post: operations["
|
|
609
|
+
post: operations["exams.sessions.comments.create"];
|
|
612
610
|
delete?: never;
|
|
613
611
|
options?: never;
|
|
614
612
|
head?: never;
|
|
615
613
|
patch?: never;
|
|
616
614
|
trace?: never;
|
|
617
615
|
};
|
|
618
|
-
"/
|
|
616
|
+
"/exams/{id}/sessions/{sessionId}/comments/{commentId}": {
|
|
619
617
|
parameters: {
|
|
620
618
|
query?: never;
|
|
621
619
|
header?: never;
|
|
@@ -624,66 +622,62 @@ interface paths {
|
|
|
624
622
|
};
|
|
625
623
|
get?: never;
|
|
626
624
|
put?: never;
|
|
625
|
+
post?: never;
|
|
627
626
|
/**
|
|
628
|
-
*
|
|
629
|
-
* @description
|
|
630
|
-
*/
|
|
631
|
-
post: operations["taxonomies.update"];
|
|
632
|
-
/**
|
|
633
|
-
* Delete taxonomy
|
|
634
|
-
* @description Delete a taxonomy from the current workspace. This fails if there are any exams associated with the taxonomy.
|
|
627
|
+
* Delete session comment
|
|
628
|
+
* @description Remove a comment from a session.
|
|
635
629
|
*/
|
|
636
|
-
delete: operations["
|
|
630
|
+
delete: operations["exams.sessions.comments.delete"];
|
|
637
631
|
options?: never;
|
|
638
632
|
head?: never;
|
|
639
|
-
|
|
633
|
+
/**
|
|
634
|
+
* Update session comment
|
|
635
|
+
* @description Edit the body of an existing session comment.
|
|
636
|
+
*/
|
|
637
|
+
patch: operations["exams.sessions.comments.update"];
|
|
640
638
|
trace?: never;
|
|
641
639
|
};
|
|
642
|
-
"/
|
|
640
|
+
"/exams/{id}/questions/import": {
|
|
643
641
|
parameters: {
|
|
644
642
|
query?: never;
|
|
645
643
|
header?: never;
|
|
646
644
|
path?: never;
|
|
647
645
|
cookie?: never;
|
|
648
646
|
};
|
|
647
|
+
get?: never;
|
|
648
|
+
put?: never;
|
|
649
649
|
/**
|
|
650
|
-
*
|
|
651
|
-
* @description
|
|
650
|
+
* Import questions
|
|
651
|
+
* @description Import questions into an exam from a file. Support Word, PDF, Moodle quiz XML and plain text files.
|
|
652
652
|
*/
|
|
653
|
-
|
|
654
|
-
put?: never;
|
|
655
|
-
post?: never;
|
|
653
|
+
post: operations["exams.questions.import"];
|
|
656
654
|
delete?: never;
|
|
657
655
|
options?: never;
|
|
658
656
|
head?: never;
|
|
659
657
|
patch?: never;
|
|
660
658
|
trace?: never;
|
|
661
659
|
};
|
|
662
|
-
"/
|
|
660
|
+
"/exams/{id}/questions/generate": {
|
|
663
661
|
parameters: {
|
|
664
662
|
query?: never;
|
|
665
663
|
header?: never;
|
|
666
664
|
path?: never;
|
|
667
665
|
cookie?: never;
|
|
668
666
|
};
|
|
669
|
-
|
|
670
|
-
* Get sharing permissions
|
|
671
|
-
* @description Get a list of users, groups and orgs that have access to a specific resource.
|
|
672
|
-
*/
|
|
673
|
-
get: operations["permissions.list"];
|
|
667
|
+
get?: never;
|
|
674
668
|
put?: never;
|
|
675
669
|
/**
|
|
676
|
-
*
|
|
677
|
-
* @description
|
|
670
|
+
* Generate question
|
|
671
|
+
* @description Generate a new question for the exam using an AI prompt.
|
|
678
672
|
*/
|
|
679
|
-
post: operations["
|
|
673
|
+
post: operations["exams.questions.generate"];
|
|
680
674
|
delete?: never;
|
|
681
675
|
options?: never;
|
|
682
676
|
head?: never;
|
|
683
677
|
patch?: never;
|
|
684
678
|
trace?: never;
|
|
685
679
|
};
|
|
686
|
-
"/
|
|
680
|
+
"/exams/{id}/questions/{questionId}": {
|
|
687
681
|
parameters: {
|
|
688
682
|
query?: never;
|
|
689
683
|
header?: never;
|
|
@@ -691,67 +685,59 @@ interface paths {
|
|
|
691
685
|
cookie?: never;
|
|
692
686
|
};
|
|
693
687
|
/**
|
|
694
|
-
* Get
|
|
695
|
-
* @description
|
|
688
|
+
* Get question
|
|
689
|
+
* @description Retrieve a question by its ID.
|
|
696
690
|
*/
|
|
697
|
-
get: operations["
|
|
691
|
+
get: operations["exams.questions.get"];
|
|
698
692
|
put?: never;
|
|
699
693
|
post?: never;
|
|
700
|
-
|
|
701
|
-
* Remove permission
|
|
702
|
-
* @description Remove a permission for a specific actor on a specific resource.
|
|
703
|
-
*/
|
|
704
|
-
delete: operations["permissions.delete"];
|
|
694
|
+
delete?: never;
|
|
705
695
|
options?: never;
|
|
706
696
|
head?: never;
|
|
707
697
|
patch?: never;
|
|
708
698
|
trace?: never;
|
|
709
699
|
};
|
|
710
|
-
"/
|
|
700
|
+
"/exams/{id}/questions/{questionId}/generate": {
|
|
711
701
|
parameters: {
|
|
712
702
|
query?: never;
|
|
713
703
|
header?: never;
|
|
714
704
|
path?: never;
|
|
715
705
|
cookie?: never;
|
|
716
706
|
};
|
|
707
|
+
get?: never;
|
|
708
|
+
put?: never;
|
|
717
709
|
/**
|
|
718
|
-
*
|
|
719
|
-
* @description
|
|
710
|
+
* Regenerate question
|
|
711
|
+
* @description Update a question using an AI prompt.
|
|
720
712
|
*/
|
|
721
|
-
|
|
722
|
-
put?: never;
|
|
723
|
-
post?: never;
|
|
713
|
+
post: operations["exams.questions.regenerate"];
|
|
724
714
|
delete?: never;
|
|
725
715
|
options?: never;
|
|
726
716
|
head?: never;
|
|
727
717
|
patch?: never;
|
|
728
718
|
trace?: never;
|
|
729
719
|
};
|
|
730
|
-
"/
|
|
720
|
+
"/exams/{id}/export/qti3-zip": {
|
|
731
721
|
parameters: {
|
|
732
722
|
query?: never;
|
|
733
723
|
header?: never;
|
|
734
724
|
path?: never;
|
|
735
725
|
cookie?: never;
|
|
736
726
|
};
|
|
737
|
-
|
|
738
|
-
* List users
|
|
739
|
-
* @description Get a list of all users in the workspace.
|
|
740
|
-
*/
|
|
741
|
-
get: operations["users.list"];
|
|
727
|
+
get?: never;
|
|
742
728
|
put?: never;
|
|
743
729
|
/**
|
|
744
|
-
*
|
|
745
|
-
* @description
|
|
730
|
+
* Export QTI 3 package
|
|
731
|
+
* @description Export an exam as a QTI 3 ZIP package.
|
|
746
732
|
*/
|
|
747
|
-
post: operations["
|
|
733
|
+
post: operations["exams.export.qti3Zip"];
|
|
748
734
|
delete?: never;
|
|
749
735
|
options?: never;
|
|
750
736
|
head?: never;
|
|
751
737
|
patch?: never;
|
|
752
738
|
trace?: never;
|
|
753
739
|
};
|
|
754
|
-
"/
|
|
740
|
+
"/exams/{id}/export/qti21-zip": {
|
|
755
741
|
parameters: {
|
|
756
742
|
query?: never;
|
|
757
743
|
header?: never;
|
|
@@ -760,22 +746,18 @@ interface paths {
|
|
|
760
746
|
};
|
|
761
747
|
get?: never;
|
|
762
748
|
put?: never;
|
|
763
|
-
post?: never;
|
|
764
749
|
/**
|
|
765
|
-
*
|
|
766
|
-
* @description
|
|
750
|
+
* Export QTI 2.1 package
|
|
751
|
+
* @description Export an exam as a QTI 2.1 ZIP package.
|
|
767
752
|
*/
|
|
768
|
-
|
|
753
|
+
post: operations["exams.export.qti21Zip"];
|
|
754
|
+
delete?: never;
|
|
769
755
|
options?: never;
|
|
770
756
|
head?: never;
|
|
771
|
-
|
|
772
|
-
* Update user role
|
|
773
|
-
* @description Update a user's role within the workspace.
|
|
774
|
-
*/
|
|
775
|
-
patch: operations["users.update"];
|
|
757
|
+
patch?: never;
|
|
776
758
|
trace?: never;
|
|
777
759
|
};
|
|
778
|
-
"/exams
|
|
760
|
+
"/exams": {
|
|
779
761
|
parameters: {
|
|
780
762
|
query?: never;
|
|
781
763
|
header?: never;
|
|
@@ -783,23 +765,23 @@ interface paths {
|
|
|
783
765
|
cookie?: never;
|
|
784
766
|
};
|
|
785
767
|
/**
|
|
786
|
-
* List
|
|
787
|
-
* @description Get a list of all
|
|
768
|
+
* List exams
|
|
769
|
+
* @description Get a list of all exams within your workspace.
|
|
788
770
|
*/
|
|
789
|
-
get: operations["exams.
|
|
771
|
+
get: operations["exams.list"];
|
|
790
772
|
put?: never;
|
|
791
773
|
/**
|
|
792
|
-
* Create
|
|
793
|
-
* @description
|
|
774
|
+
* Create exam
|
|
775
|
+
* @description Create a new exam within your workspace.
|
|
794
776
|
*/
|
|
795
|
-
post: operations["exams.
|
|
777
|
+
post: operations["exams.create"];
|
|
796
778
|
delete?: never;
|
|
797
779
|
options?: never;
|
|
798
780
|
head?: never;
|
|
799
781
|
patch?: never;
|
|
800
782
|
trace?: never;
|
|
801
783
|
};
|
|
802
|
-
"/exams/
|
|
784
|
+
"/exams/import": {
|
|
803
785
|
parameters: {
|
|
804
786
|
query?: never;
|
|
805
787
|
header?: never;
|
|
@@ -809,61 +791,45 @@ interface paths {
|
|
|
809
791
|
get?: never;
|
|
810
792
|
put?: never;
|
|
811
793
|
/**
|
|
812
|
-
*
|
|
813
|
-
* @description
|
|
794
|
+
* Import exam
|
|
795
|
+
* @description Create an exam by importing one or more source materials (e.g. an existing exam).
|
|
814
796
|
*/
|
|
815
|
-
post: operations["exams.
|
|
797
|
+
post: operations["exams.import"];
|
|
816
798
|
delete?: never;
|
|
817
799
|
options?: never;
|
|
818
800
|
head?: never;
|
|
819
801
|
patch?: never;
|
|
820
802
|
trace?: never;
|
|
821
803
|
};
|
|
822
|
-
"/exams/{id}
|
|
804
|
+
"/exams/{id}": {
|
|
823
805
|
parameters: {
|
|
824
806
|
query?: never;
|
|
825
807
|
header?: never;
|
|
826
808
|
path?: never;
|
|
827
809
|
cookie?: never;
|
|
828
810
|
};
|
|
829
|
-
get?: never;
|
|
830
|
-
put?: never;
|
|
831
811
|
/**
|
|
832
|
-
*
|
|
833
|
-
* @description
|
|
812
|
+
* Get exam
|
|
813
|
+
* @description Get a single exam by its ID.
|
|
834
814
|
*/
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
options?: never;
|
|
838
|
-
head?: never;
|
|
839
|
-
patch?: never;
|
|
840
|
-
trace?: never;
|
|
841
|
-
};
|
|
842
|
-
"/exams/{id}/sessions/{sessionId}": {
|
|
843
|
-
parameters: {
|
|
844
|
-
query?: never;
|
|
845
|
-
header?: never;
|
|
846
|
-
path?: never;
|
|
847
|
-
cookie?: never;
|
|
848
|
-
};
|
|
815
|
+
get: operations["exams.get"];
|
|
816
|
+
put?: never;
|
|
849
817
|
/**
|
|
850
|
-
*
|
|
851
|
-
* @description
|
|
818
|
+
* Update exam
|
|
819
|
+
* @description Update an existing exam.
|
|
852
820
|
*/
|
|
853
|
-
|
|
854
|
-
put?: never;
|
|
855
|
-
post?: never;
|
|
821
|
+
post: operations["exams.update"];
|
|
856
822
|
/**
|
|
857
|
-
* Delete exam
|
|
858
|
-
* @description
|
|
823
|
+
* Delete exam
|
|
824
|
+
* @description Delete the exam.
|
|
859
825
|
*/
|
|
860
|
-
delete: operations["exams.
|
|
826
|
+
delete: operations["exams.delete"];
|
|
861
827
|
options?: never;
|
|
862
828
|
head?: never;
|
|
863
829
|
patch?: never;
|
|
864
830
|
trace?: never;
|
|
865
831
|
};
|
|
866
|
-
"/exams/{id}/
|
|
832
|
+
"/exams/{id}/duplicate": {
|
|
867
833
|
parameters: {
|
|
868
834
|
query?: never;
|
|
869
835
|
header?: never;
|
|
@@ -873,17 +839,17 @@ interface paths {
|
|
|
873
839
|
get?: never;
|
|
874
840
|
put?: never;
|
|
875
841
|
/**
|
|
876
|
-
*
|
|
877
|
-
* @description
|
|
842
|
+
* Duplicate exam
|
|
843
|
+
* @description Duplicate the exam's questions and settings to a new exam.
|
|
878
844
|
*/
|
|
879
|
-
post: operations["exams.
|
|
845
|
+
post: operations["exams.duplicate"];
|
|
880
846
|
delete?: never;
|
|
881
847
|
options?: never;
|
|
882
848
|
head?: never;
|
|
883
849
|
patch?: never;
|
|
884
850
|
trace?: never;
|
|
885
851
|
};
|
|
886
|
-
"/exams/{id}/
|
|
852
|
+
"/exams/{id}/print": {
|
|
887
853
|
parameters: {
|
|
888
854
|
query?: never;
|
|
889
855
|
header?: never;
|
|
@@ -893,17 +859,17 @@ interface paths {
|
|
|
893
859
|
get?: never;
|
|
894
860
|
put?: never;
|
|
895
861
|
/**
|
|
896
|
-
*
|
|
897
|
-
* @description
|
|
862
|
+
* Print exam
|
|
863
|
+
* @description Export an exam to a PDF file or Word document.
|
|
898
864
|
*/
|
|
899
|
-
post: operations["exams.
|
|
865
|
+
post: operations["exams.print"];
|
|
900
866
|
delete?: never;
|
|
901
867
|
options?: never;
|
|
902
868
|
head?: never;
|
|
903
869
|
patch?: never;
|
|
904
870
|
trace?: never;
|
|
905
871
|
};
|
|
906
|
-
"/exams/{id}/
|
|
872
|
+
"/exams/{id}/generate": {
|
|
907
873
|
parameters: {
|
|
908
874
|
query?: never;
|
|
909
875
|
header?: never;
|
|
@@ -913,17 +879,17 @@ interface paths {
|
|
|
913
879
|
get?: never;
|
|
914
880
|
put?: never;
|
|
915
881
|
/**
|
|
916
|
-
* Generate
|
|
917
|
-
* @description
|
|
882
|
+
* Generate exam
|
|
883
|
+
* @description Initiate a job to generate new questions for the exam using AI, based on the source materials and metadata specified.
|
|
918
884
|
*/
|
|
919
|
-
post: operations["exams.
|
|
885
|
+
post: operations["exams.startGeneration"];
|
|
920
886
|
delete?: never;
|
|
921
887
|
options?: never;
|
|
922
888
|
head?: never;
|
|
923
889
|
patch?: never;
|
|
924
890
|
trace?: never;
|
|
925
891
|
};
|
|
926
|
-
"/exams/{id}/
|
|
892
|
+
"/exams/{id}/generate/cancel": {
|
|
927
893
|
parameters: {
|
|
928
894
|
query?: never;
|
|
929
895
|
header?: never;
|
|
@@ -933,157 +899,159 @@ interface paths {
|
|
|
933
899
|
get?: never;
|
|
934
900
|
put?: never;
|
|
935
901
|
/**
|
|
936
|
-
*
|
|
937
|
-
* @description
|
|
902
|
+
* Cancel exam generation
|
|
903
|
+
* @description Cancel an ongoing job to generate new questions for the exam using AI.
|
|
938
904
|
*/
|
|
939
|
-
post: operations["exams.
|
|
905
|
+
post: operations["exams.cancelGeneration"];
|
|
940
906
|
delete?: never;
|
|
941
907
|
options?: never;
|
|
942
908
|
head?: never;
|
|
943
909
|
patch?: never;
|
|
944
910
|
trace?: never;
|
|
945
911
|
};
|
|
946
|
-
"/exams/{id}/
|
|
912
|
+
"/exams/{id}/context-suggestions": {
|
|
947
913
|
parameters: {
|
|
948
914
|
query?: never;
|
|
949
915
|
header?: never;
|
|
950
916
|
path?: never;
|
|
951
917
|
cookie?: never;
|
|
952
918
|
};
|
|
953
|
-
get?: never;
|
|
954
|
-
put?: never;
|
|
955
919
|
/**
|
|
956
|
-
*
|
|
957
|
-
* @description
|
|
920
|
+
* Get exam context suggestions
|
|
921
|
+
* @description Get AI-generated suggestions for context/instructions to include in the exam generation prompt, based on the source materials linked to the exam.
|
|
958
922
|
*/
|
|
959
|
-
|
|
923
|
+
get: operations["exams.getContextSuggestions"];
|
|
924
|
+
put?: never;
|
|
925
|
+
post?: never;
|
|
960
926
|
delete?: never;
|
|
961
927
|
options?: never;
|
|
962
928
|
head?: never;
|
|
963
929
|
patch?: never;
|
|
964
930
|
trace?: never;
|
|
965
931
|
};
|
|
966
|
-
"/
|
|
932
|
+
"/me": {
|
|
967
933
|
parameters: {
|
|
968
934
|
query?: never;
|
|
969
935
|
header?: never;
|
|
970
936
|
path?: never;
|
|
971
937
|
cookie?: never;
|
|
972
938
|
};
|
|
973
|
-
|
|
939
|
+
/**
|
|
940
|
+
* Get me
|
|
941
|
+
* @description Get the current user's account details.
|
|
942
|
+
*/
|
|
943
|
+
get: operations["me.get"];
|
|
974
944
|
put?: never;
|
|
975
945
|
post?: never;
|
|
976
946
|
delete?: never;
|
|
977
947
|
options?: never;
|
|
978
948
|
head?: never;
|
|
979
949
|
/**
|
|
980
|
-
*
|
|
981
|
-
* @description
|
|
950
|
+
* Update me
|
|
951
|
+
* @description Update the current user's account details.
|
|
982
952
|
*/
|
|
983
|
-
patch: operations["
|
|
953
|
+
patch: operations["me.update"];
|
|
984
954
|
trace?: never;
|
|
985
955
|
};
|
|
986
|
-
"/
|
|
956
|
+
"/media/upload": {
|
|
987
957
|
parameters: {
|
|
988
958
|
query?: never;
|
|
989
959
|
header?: never;
|
|
990
960
|
path?: never;
|
|
991
961
|
cookie?: never;
|
|
992
962
|
};
|
|
993
|
-
get?: never;
|
|
994
|
-
put?: never;
|
|
995
963
|
/**
|
|
996
|
-
*
|
|
997
|
-
* @description
|
|
964
|
+
* Get file upload URL
|
|
965
|
+
* @description Returns a signed URL for uploading a file, and a public URL for accessing it afterwards.
|
|
998
966
|
*/
|
|
999
|
-
|
|
967
|
+
get: operations["media.upload"];
|
|
968
|
+
put?: never;
|
|
969
|
+
post?: never;
|
|
1000
970
|
delete?: never;
|
|
1001
971
|
options?: never;
|
|
1002
972
|
head?: never;
|
|
1003
973
|
patch?: never;
|
|
1004
974
|
trace?: never;
|
|
1005
975
|
};
|
|
1006
|
-
"/
|
|
976
|
+
"/org": {
|
|
1007
977
|
parameters: {
|
|
1008
978
|
query?: never;
|
|
1009
979
|
header?: never;
|
|
1010
980
|
path?: never;
|
|
1011
981
|
cookie?: never;
|
|
1012
982
|
};
|
|
1013
|
-
|
|
983
|
+
/** Get organization */
|
|
984
|
+
get: operations["org.get"];
|
|
1014
985
|
put?: never;
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
*/
|
|
1019
|
-
post: operations["exams.questions.generate"];
|
|
1020
|
-
delete?: never;
|
|
986
|
+
post?: never;
|
|
987
|
+
/** Delete organization */
|
|
988
|
+
delete: operations["org.delete"];
|
|
1021
989
|
options?: never;
|
|
1022
990
|
head?: never;
|
|
1023
|
-
|
|
991
|
+
/** Update organization */
|
|
992
|
+
patch: operations["org.update"];
|
|
1024
993
|
trace?: never;
|
|
1025
994
|
};
|
|
1026
|
-
"/
|
|
995
|
+
"/org/custom-domain": {
|
|
1027
996
|
parameters: {
|
|
1028
997
|
query?: never;
|
|
1029
998
|
header?: never;
|
|
1030
999
|
path?: never;
|
|
1031
1000
|
cookie?: never;
|
|
1032
1001
|
};
|
|
1033
|
-
/**
|
|
1034
|
-
|
|
1035
|
-
* @description Retrieve a question by its ID.
|
|
1036
|
-
*/
|
|
1037
|
-
get: operations["exams.questions.get"];
|
|
1002
|
+
/** Get custom domain configuration */
|
|
1003
|
+
get: operations["org.customDomain.get"];
|
|
1038
1004
|
put?: never;
|
|
1039
|
-
|
|
1005
|
+
/** Update custom domain configuration */
|
|
1006
|
+
post: operations["org.customDomain.update"];
|
|
1040
1007
|
delete?: never;
|
|
1041
1008
|
options?: never;
|
|
1042
1009
|
head?: never;
|
|
1043
1010
|
patch?: never;
|
|
1044
1011
|
trace?: never;
|
|
1045
1012
|
};
|
|
1046
|
-
"/
|
|
1013
|
+
"/orgs": {
|
|
1047
1014
|
parameters: {
|
|
1048
1015
|
query?: never;
|
|
1049
1016
|
header?: never;
|
|
1050
1017
|
path?: never;
|
|
1051
1018
|
cookie?: never;
|
|
1052
1019
|
};
|
|
1053
|
-
|
|
1020
|
+
/** List all organizations */
|
|
1021
|
+
get: operations["orgs.list"];
|
|
1054
1022
|
put?: never;
|
|
1055
1023
|
/**
|
|
1056
|
-
*
|
|
1057
|
-
* @description
|
|
1024
|
+
* Create a new organization
|
|
1025
|
+
* @description Create a new workspace to collaborate with others on exams.
|
|
1058
1026
|
*/
|
|
1059
|
-
post: operations["
|
|
1027
|
+
post: operations["orgs.create"];
|
|
1060
1028
|
delete?: never;
|
|
1061
1029
|
options?: never;
|
|
1062
1030
|
head?: never;
|
|
1063
1031
|
patch?: never;
|
|
1064
1032
|
trace?: never;
|
|
1065
1033
|
};
|
|
1066
|
-
"/
|
|
1034
|
+
"/api-keys": {
|
|
1067
1035
|
parameters: {
|
|
1068
1036
|
query?: never;
|
|
1069
1037
|
header?: never;
|
|
1070
1038
|
path?: never;
|
|
1071
1039
|
cookie?: never;
|
|
1072
1040
|
};
|
|
1073
|
-
get?: never;
|
|
1074
|
-
put?: never;
|
|
1075
1041
|
/**
|
|
1076
|
-
*
|
|
1077
|
-
* @description
|
|
1042
|
+
* Get API key
|
|
1043
|
+
* @description Get the API key for the current org/user combination. Creates one if none exists.
|
|
1078
1044
|
*/
|
|
1079
|
-
|
|
1045
|
+
get: operations["apiKeys.get"];
|
|
1046
|
+
put?: never;
|
|
1047
|
+
post?: never;
|
|
1080
1048
|
delete?: never;
|
|
1081
1049
|
options?: never;
|
|
1082
1050
|
head?: never;
|
|
1083
1051
|
patch?: never;
|
|
1084
1052
|
trace?: never;
|
|
1085
1053
|
};
|
|
1086
|
-
"/
|
|
1054
|
+
"/api-keys/reset": {
|
|
1087
1055
|
parameters: {
|
|
1088
1056
|
query?: never;
|
|
1089
1057
|
header?: never;
|
|
@@ -1093,17 +1061,17 @@ interface paths {
|
|
|
1093
1061
|
get?: never;
|
|
1094
1062
|
put?: never;
|
|
1095
1063
|
/**
|
|
1096
|
-
*
|
|
1097
|
-
* @description
|
|
1064
|
+
* Reset API key
|
|
1065
|
+
* @description Invalidate old API keys for this org/user and create a new one.
|
|
1098
1066
|
*/
|
|
1099
|
-
post: operations["
|
|
1067
|
+
post: operations["apiKeys.reset"];
|
|
1100
1068
|
delete?: never;
|
|
1101
1069
|
options?: never;
|
|
1102
1070
|
head?: never;
|
|
1103
1071
|
patch?: never;
|
|
1104
1072
|
trace?: never;
|
|
1105
1073
|
};
|
|
1106
|
-
"/
|
|
1074
|
+
"/attributes": {
|
|
1107
1075
|
parameters: {
|
|
1108
1076
|
query?: never;
|
|
1109
1077
|
header?: never;
|
|
@@ -1111,23 +1079,23 @@ interface paths {
|
|
|
1111
1079
|
cookie?: never;
|
|
1112
1080
|
};
|
|
1113
1081
|
/**
|
|
1114
|
-
* List
|
|
1115
|
-
* @description Get
|
|
1082
|
+
* List attributes
|
|
1083
|
+
* @description Get all custom attributes configured for the current workspace.
|
|
1116
1084
|
*/
|
|
1117
|
-
get: operations["
|
|
1085
|
+
get: operations["attributes.list"];
|
|
1118
1086
|
put?: never;
|
|
1119
1087
|
/**
|
|
1120
|
-
* Create
|
|
1121
|
-
* @description Create a new
|
|
1088
|
+
* Create attribute
|
|
1089
|
+
* @description Create a new custom attribute in the current workspace.
|
|
1122
1090
|
*/
|
|
1123
|
-
post: operations["
|
|
1091
|
+
post: operations["attributes.create"];
|
|
1124
1092
|
delete?: never;
|
|
1125
1093
|
options?: never;
|
|
1126
1094
|
head?: never;
|
|
1127
1095
|
patch?: never;
|
|
1128
1096
|
trace?: never;
|
|
1129
1097
|
};
|
|
1130
|
-
"/
|
|
1098
|
+
"/attributes/reorder": {
|
|
1131
1099
|
parameters: {
|
|
1132
1100
|
query?: never;
|
|
1133
1101
|
header?: never;
|
|
@@ -1137,65 +1105,65 @@ interface paths {
|
|
|
1137
1105
|
get?: never;
|
|
1138
1106
|
put?: never;
|
|
1139
1107
|
/**
|
|
1140
|
-
*
|
|
1141
|
-
* @description
|
|
1108
|
+
* Reorder attributes
|
|
1109
|
+
* @description Update the position of multiple attributes at once.
|
|
1142
1110
|
*/
|
|
1143
|
-
post: operations["
|
|
1111
|
+
post: operations["attributes.reorder"];
|
|
1144
1112
|
delete?: never;
|
|
1145
1113
|
options?: never;
|
|
1146
1114
|
head?: never;
|
|
1147
1115
|
patch?: never;
|
|
1148
1116
|
trace?: never;
|
|
1149
1117
|
};
|
|
1150
|
-
"/
|
|
1118
|
+
"/attributes/{id}": {
|
|
1151
1119
|
parameters: {
|
|
1152
1120
|
query?: never;
|
|
1153
1121
|
header?: never;
|
|
1154
1122
|
path?: never;
|
|
1155
1123
|
cookie?: never;
|
|
1156
1124
|
};
|
|
1157
|
-
|
|
1158
|
-
* Get exam
|
|
1159
|
-
* @description Get a single exam by its ID.
|
|
1160
|
-
*/
|
|
1161
|
-
get: operations["exams.get"];
|
|
1125
|
+
get?: never;
|
|
1162
1126
|
put?: never;
|
|
1163
1127
|
/**
|
|
1164
|
-
* Update
|
|
1165
|
-
* @description Update an existing
|
|
1128
|
+
* Update attribute
|
|
1129
|
+
* @description Update an existing attribute in the current workspace.
|
|
1166
1130
|
*/
|
|
1167
|
-
post: operations["
|
|
1131
|
+
post: operations["attributes.update"];
|
|
1168
1132
|
/**
|
|
1169
|
-
* Delete
|
|
1170
|
-
* @description Delete the
|
|
1133
|
+
* Delete attribute
|
|
1134
|
+
* @description Delete a custom attribute from the current workspace. Default attributes cannot be deleted.
|
|
1171
1135
|
*/
|
|
1172
|
-
delete: operations["
|
|
1136
|
+
delete: operations["attributes.delete"];
|
|
1173
1137
|
options?: never;
|
|
1174
1138
|
head?: never;
|
|
1175
1139
|
patch?: never;
|
|
1176
1140
|
trace?: never;
|
|
1177
1141
|
};
|
|
1178
|
-
"/
|
|
1142
|
+
"/taxonomies": {
|
|
1179
1143
|
parameters: {
|
|
1180
1144
|
query?: never;
|
|
1181
1145
|
header?: never;
|
|
1182
1146
|
path?: never;
|
|
1183
1147
|
cookie?: never;
|
|
1184
1148
|
};
|
|
1185
|
-
|
|
1149
|
+
/**
|
|
1150
|
+
* Get taxonomies
|
|
1151
|
+
* @description Get a list available taxonomies, including defaults and taxonomies created in the current workspace.
|
|
1152
|
+
*/
|
|
1153
|
+
get: operations["taxonomies.list"];
|
|
1186
1154
|
put?: never;
|
|
1187
1155
|
/**
|
|
1188
|
-
*
|
|
1189
|
-
* @description
|
|
1156
|
+
* Create taxonomy
|
|
1157
|
+
* @description Save a new taxonomy in the current workspace.
|
|
1190
1158
|
*/
|
|
1191
|
-
post: operations["
|
|
1159
|
+
post: operations["taxonomies.create"];
|
|
1192
1160
|
delete?: never;
|
|
1193
1161
|
options?: never;
|
|
1194
1162
|
head?: never;
|
|
1195
1163
|
patch?: never;
|
|
1196
1164
|
trace?: never;
|
|
1197
1165
|
};
|
|
1198
|
-
"/
|
|
1166
|
+
"/taxonomies/{id}": {
|
|
1199
1167
|
parameters: {
|
|
1200
1168
|
query?: never;
|
|
1201
1169
|
header?: never;
|
|
@@ -1205,57 +1173,65 @@ interface paths {
|
|
|
1205
1173
|
get?: never;
|
|
1206
1174
|
put?: never;
|
|
1207
1175
|
/**
|
|
1208
|
-
*
|
|
1209
|
-
* @description
|
|
1176
|
+
* Update taxonomy
|
|
1177
|
+
* @description Update an existing taxonomy in the current workspace.
|
|
1210
1178
|
*/
|
|
1211
|
-
post: operations["
|
|
1212
|
-
|
|
1179
|
+
post: operations["taxonomies.update"];
|
|
1180
|
+
/**
|
|
1181
|
+
* Delete taxonomy
|
|
1182
|
+
* @description Delete a taxonomy from the current workspace. This fails if there are any exams associated with the taxonomy.
|
|
1183
|
+
*/
|
|
1184
|
+
delete: operations["taxonomies.delete"];
|
|
1213
1185
|
options?: never;
|
|
1214
1186
|
head?: never;
|
|
1215
1187
|
patch?: never;
|
|
1216
1188
|
trace?: never;
|
|
1217
1189
|
};
|
|
1218
|
-
"/
|
|
1190
|
+
"/permissions/autocomplete": {
|
|
1219
1191
|
parameters: {
|
|
1220
1192
|
query?: never;
|
|
1221
1193
|
header?: never;
|
|
1222
1194
|
path?: never;
|
|
1223
1195
|
cookie?: never;
|
|
1224
1196
|
};
|
|
1225
|
-
get?: never;
|
|
1226
|
-
put?: never;
|
|
1227
1197
|
/**
|
|
1228
|
-
*
|
|
1229
|
-
* @description
|
|
1198
|
+
* Autocomplete users and groups
|
|
1199
|
+
* @description Search for users and groups to share with. Returns matches by name or email. Respects restricted group visibility.
|
|
1230
1200
|
*/
|
|
1231
|
-
|
|
1232
|
-
|
|
1201
|
+
get: operations["permissions.autocomplete"];
|
|
1202
|
+
put?: never;
|
|
1203
|
+
post?: never;
|
|
1204
|
+
delete?: never;
|
|
1233
1205
|
options?: never;
|
|
1234
1206
|
head?: never;
|
|
1235
1207
|
patch?: never;
|
|
1236
1208
|
trace?: never;
|
|
1237
1209
|
};
|
|
1238
|
-
"/
|
|
1210
|
+
"/permissions/{resource}": {
|
|
1239
1211
|
parameters: {
|
|
1240
1212
|
query?: never;
|
|
1241
1213
|
header?: never;
|
|
1242
1214
|
path?: never;
|
|
1243
1215
|
cookie?: never;
|
|
1244
1216
|
};
|
|
1245
|
-
|
|
1217
|
+
/**
|
|
1218
|
+
* Get sharing permissions
|
|
1219
|
+
* @description Get a list of users, groups and orgs that have access to a specific resource.
|
|
1220
|
+
*/
|
|
1221
|
+
get: operations["permissions.list"];
|
|
1246
1222
|
put?: never;
|
|
1247
1223
|
/**
|
|
1248
|
-
*
|
|
1249
|
-
* @description
|
|
1224
|
+
* Create permission
|
|
1225
|
+
* @description Create a new permission for a specific resource, or update the role of an existing actor.
|
|
1250
1226
|
*/
|
|
1251
|
-
post: operations["
|
|
1227
|
+
post: operations["permissions.assign"];
|
|
1252
1228
|
delete?: never;
|
|
1253
1229
|
options?: never;
|
|
1254
1230
|
head?: never;
|
|
1255
1231
|
patch?: never;
|
|
1256
1232
|
trace?: never;
|
|
1257
1233
|
};
|
|
1258
|
-
"/
|
|
1234
|
+
"/permissions/{resource}/{actor}": {
|
|
1259
1235
|
parameters: {
|
|
1260
1236
|
query?: never;
|
|
1261
1237
|
header?: never;
|
|
@@ -1263,10 +1239,34 @@ interface paths {
|
|
|
1263
1239
|
cookie?: never;
|
|
1264
1240
|
};
|
|
1265
1241
|
/**
|
|
1266
|
-
* Get
|
|
1267
|
-
* @description Get
|
|
1242
|
+
* Get actor role
|
|
1243
|
+
* @description Get the role of a specific actor for a specific resource.
|
|
1268
1244
|
*/
|
|
1269
|
-
get: operations["
|
|
1245
|
+
get: operations["permissions.getActorRole"];
|
|
1246
|
+
put?: never;
|
|
1247
|
+
post?: never;
|
|
1248
|
+
/**
|
|
1249
|
+
* Remove permission
|
|
1250
|
+
* @description Remove a permission for a specific actor on a specific resource.
|
|
1251
|
+
*/
|
|
1252
|
+
delete: operations["permissions.delete"];
|
|
1253
|
+
options?: never;
|
|
1254
|
+
head?: never;
|
|
1255
|
+
patch?: never;
|
|
1256
|
+
trace?: never;
|
|
1257
|
+
};
|
|
1258
|
+
"/student-levels": {
|
|
1259
|
+
parameters: {
|
|
1260
|
+
query?: never;
|
|
1261
|
+
header?: never;
|
|
1262
|
+
path?: never;
|
|
1263
|
+
cookie?: never;
|
|
1264
|
+
};
|
|
1265
|
+
/**
|
|
1266
|
+
* List available student levels
|
|
1267
|
+
* @description Get a list of available default student levels.
|
|
1268
|
+
*/
|
|
1269
|
+
get: operations["studentLevels.list"];
|
|
1270
1270
|
put?: never;
|
|
1271
1271
|
post?: never;
|
|
1272
1272
|
delete?: never;
|
|
@@ -1275,6 +1275,54 @@ interface paths {
|
|
|
1275
1275
|
patch?: never;
|
|
1276
1276
|
trace?: never;
|
|
1277
1277
|
};
|
|
1278
|
+
"/users": {
|
|
1279
|
+
parameters: {
|
|
1280
|
+
query?: never;
|
|
1281
|
+
header?: never;
|
|
1282
|
+
path?: never;
|
|
1283
|
+
cookie?: never;
|
|
1284
|
+
};
|
|
1285
|
+
/**
|
|
1286
|
+
* List users
|
|
1287
|
+
* @description Get a list of all users in the workspace.
|
|
1288
|
+
*/
|
|
1289
|
+
get: operations["users.list"];
|
|
1290
|
+
put?: never;
|
|
1291
|
+
/**
|
|
1292
|
+
* Create user
|
|
1293
|
+
* @description Create a new user in the workspace.
|
|
1294
|
+
*/
|
|
1295
|
+
post: operations["users.create"];
|
|
1296
|
+
delete?: never;
|
|
1297
|
+
options?: never;
|
|
1298
|
+
head?: never;
|
|
1299
|
+
patch?: never;
|
|
1300
|
+
trace?: never;
|
|
1301
|
+
};
|
|
1302
|
+
"/users/{id}": {
|
|
1303
|
+
parameters: {
|
|
1304
|
+
query?: never;
|
|
1305
|
+
header?: never;
|
|
1306
|
+
path?: never;
|
|
1307
|
+
cookie?: never;
|
|
1308
|
+
};
|
|
1309
|
+
get?: never;
|
|
1310
|
+
put?: never;
|
|
1311
|
+
post?: never;
|
|
1312
|
+
/**
|
|
1313
|
+
* Delete user
|
|
1314
|
+
* @description Delete a user from the workspace.
|
|
1315
|
+
*/
|
|
1316
|
+
delete: operations["users.delete"];
|
|
1317
|
+
options?: never;
|
|
1318
|
+
head?: never;
|
|
1319
|
+
/**
|
|
1320
|
+
* Update user role
|
|
1321
|
+
* @description Update a user's role within the workspace.
|
|
1322
|
+
*/
|
|
1323
|
+
patch: operations["users.update"];
|
|
1324
|
+
trace?: never;
|
|
1325
|
+
};
|
|
1278
1326
|
"/practice-spaces": {
|
|
1279
1327
|
parameters: {
|
|
1280
1328
|
query?: never;
|
|
@@ -2149,7 +2197,30 @@ interface operations {
|
|
|
2149
2197
|
*/
|
|
2150
2198
|
type: "AssociateInteraction" | "ChoiceInteraction" | "DrawingInteraction" | "EndAttemptInteraction" | "ExtendedTextInteraction" | "GapMatchInteraction" | "GraphicAssociateInteraction" | "GraphicGapMatchInteraction" | "GraphicOrderInteraction" | "HotspotInteraction" | "HottextInteraction" | "InlineChoiceInteraction" | "MatchInteraction" | "MediaInteraction" | "OrderInteraction" | "PortableCustomInteraction" | "PositionObjectInteraction" | "SelectPointInteraction" | "SliderInteraction" | "TextEntryInteraction" | "UploadInteraction";
|
|
2151
2199
|
options?: {
|
|
2152
|
-
[key: string]: string | number | boolean | unknown[] |
|
|
2200
|
+
[key: string]: string | number | boolean | unknown[] | {
|
|
2201
|
+
[key: string]: unknown;
|
|
2202
|
+
};
|
|
2203
|
+
};
|
|
2204
|
+
};
|
|
2205
|
+
};
|
|
2206
|
+
};
|
|
2207
|
+
/** @description Import configuration for various formats */
|
|
2208
|
+
import?: {
|
|
2209
|
+
/** @description QTI 3.0 import configuration for mapping incoming QTI items to this question type */
|
|
2210
|
+
qti3?: {
|
|
2211
|
+
interaction: {
|
|
2212
|
+
/**
|
|
2213
|
+
* @description The QTI interaction type this question type handles on import
|
|
2214
|
+
* @enum {string}
|
|
2215
|
+
*/
|
|
2216
|
+
type: "AssociateInteraction" | "ChoiceInteraction" | "DrawingInteraction" | "EndAttemptInteraction" | "ExtendedTextInteraction" | "GapMatchInteraction" | "GraphicAssociateInteraction" | "GraphicGapMatchInteraction" | "GraphicOrderInteraction" | "HotspotInteraction" | "HottextInteraction" | "InlineChoiceInteraction" | "MatchInteraction" | "MediaInteraction" | "OrderInteraction" | "PortableCustomInteraction" | "PositionObjectInteraction" | "SelectPointInteraction" | "SliderInteraction" | "TextEntryInteraction" | "UploadInteraction";
|
|
2217
|
+
};
|
|
2218
|
+
/** @description Optional JSONata expression (starting with =) that must evaluate to true for this mapping to be used. Evaluated against the same context as settings: { interaction, correctResponse, points }. Useful when multiple question types handle the same interaction type (e.g. single vs multiple choice). */
|
|
2219
|
+
condition?: string;
|
|
2220
|
+
/** @description JSONata expressions mapping QTI interaction properties to question settings */
|
|
2221
|
+
settings?: {
|
|
2222
|
+
[key: string]: string | number | boolean | unknown[] | {
|
|
2223
|
+
[key: string]: unknown;
|
|
2153
2224
|
};
|
|
2154
2225
|
};
|
|
2155
2226
|
};
|
|
@@ -2639,6 +2710,38 @@ interface operations {
|
|
|
2639
2710
|
presets: {
|
|
2640
2711
|
examId: string;
|
|
2641
2712
|
};
|
|
2713
|
+
} | {
|
|
2714
|
+
/** @description The user ID for whom the embed session is created */
|
|
2715
|
+
actor: string;
|
|
2716
|
+
/** @description UI options for the embed session */
|
|
2717
|
+
theme: {
|
|
2718
|
+
/** @description CSS hex color code for primary UI elements, either #RRGGBB or #RGB */
|
|
2719
|
+
primaryColor?: string;
|
|
2720
|
+
/** @description CSS hex color code for background, either #RRGGBB or #RGB */
|
|
2721
|
+
backgroundColor?: string;
|
|
2722
|
+
/** @description Locale code for UI language. Currently supported: 'en', 'nl' - other values accepted, but will default to English */
|
|
2723
|
+
locale?: string;
|
|
2724
|
+
};
|
|
2725
|
+
/** @description Additional key-value metadata */
|
|
2726
|
+
metadata?: {
|
|
2727
|
+
[key: string]: string | number | boolean | null;
|
|
2728
|
+
};
|
|
2729
|
+
/**
|
|
2730
|
+
* Format: uri
|
|
2731
|
+
* @description Optional redirect URL after completion
|
|
2732
|
+
*/
|
|
2733
|
+
returnUrl?: string;
|
|
2734
|
+
/**
|
|
2735
|
+
* Format: uri
|
|
2736
|
+
* @description Optional allowed origin for postMessage events
|
|
2737
|
+
*/
|
|
2738
|
+
allowedOrigin?: string;
|
|
2739
|
+
/** @enum {string} */
|
|
2740
|
+
flow: "take-exam";
|
|
2741
|
+
/** @description Preset values for the take-exam flow */
|
|
2742
|
+
presets: {
|
|
2743
|
+
examId: string;
|
|
2744
|
+
};
|
|
2642
2745
|
} | {
|
|
2643
2746
|
/** @description The user ID for whom the embed session is created */
|
|
2644
2747
|
actor: string;
|
|
@@ -2687,7 +2790,7 @@ interface operations {
|
|
|
2687
2790
|
/** Format: uri */
|
|
2688
2791
|
embedUrl: string;
|
|
2689
2792
|
/** @enum {string} */
|
|
2690
|
-
flow: "generate-exam" | "generate-question" | "edit-exam" | "edit-rubric" | "mark-answer" | "practice-space-student";
|
|
2793
|
+
flow: "generate-exam" | "generate-question" | "edit-exam" | "take-exam" | "edit-rubric" | "mark-answer" | "practice-space-student";
|
|
2691
2794
|
actor: string;
|
|
2692
2795
|
enabledResponseModes: ("return_url" | "post_message")[];
|
|
2693
2796
|
/** Format: date-time */
|
|
@@ -2738,7 +2841,7 @@ interface operations {
|
|
|
2738
2841
|
/** Format: uri */
|
|
2739
2842
|
embedUrl: string;
|
|
2740
2843
|
/** @enum {string} */
|
|
2741
|
-
flow: "generate-exam" | "generate-question" | "edit-exam" | "edit-rubric" | "mark-answer" | "practice-space-student";
|
|
2844
|
+
flow: "generate-exam" | "generate-question" | "edit-exam" | "take-exam" | "edit-rubric" | "mark-answer" | "practice-space-student";
|
|
2742
2845
|
actor: string;
|
|
2743
2846
|
enabledResponseModes: ("return_url" | "post_message")[];
|
|
2744
2847
|
/** Format: date-time */
|
|
@@ -2778,240 +2881,341 @@ interface operations {
|
|
|
2778
2881
|
requestBody?: never;
|
|
2779
2882
|
responses: never;
|
|
2780
2883
|
};
|
|
2781
|
-
"
|
|
2884
|
+
"exams.sessions.list": {
|
|
2782
2885
|
parameters: {
|
|
2783
2886
|
query?: never;
|
|
2784
2887
|
header?: never;
|
|
2785
|
-
path
|
|
2888
|
+
path: {
|
|
2889
|
+
id: string;
|
|
2890
|
+
};
|
|
2786
2891
|
cookie?: never;
|
|
2787
2892
|
};
|
|
2788
2893
|
requestBody?: never;
|
|
2789
2894
|
responses: never;
|
|
2790
2895
|
};
|
|
2791
|
-
"
|
|
2896
|
+
"exams.sessions.import": {
|
|
2792
2897
|
parameters: {
|
|
2793
2898
|
query?: never;
|
|
2794
2899
|
header?: never;
|
|
2795
|
-
path
|
|
2900
|
+
path: {
|
|
2901
|
+
id: string;
|
|
2902
|
+
};
|
|
2796
2903
|
cookie?: never;
|
|
2797
2904
|
};
|
|
2798
2905
|
requestBody?: {
|
|
2799
2906
|
content: {
|
|
2800
2907
|
"application/json": {
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2908
|
+
studentName: string;
|
|
2909
|
+
/**
|
|
2910
|
+
* @default manual
|
|
2911
|
+
* @enum {string}
|
|
2912
|
+
*/
|
|
2913
|
+
source?: "online-assessment" | "document-scanner" | "answer-bot" | "manual";
|
|
2914
|
+
answers?: {
|
|
2915
|
+
question: string;
|
|
2916
|
+
value?: (string | (string | null)[]) | null;
|
|
2917
|
+
completed?: boolean | null;
|
|
2918
|
+
context?: unknown | null;
|
|
2919
|
+
pointsAwarded?: number | null;
|
|
2920
|
+
pointsToEarn?: number | null;
|
|
2921
|
+
feedback?: string | null;
|
|
2922
|
+
scoringCriteria?: unknown | null;
|
|
2923
|
+
/** Format: date-time */
|
|
2924
|
+
savedAt?: string;
|
|
2925
|
+
gradedAt?: string | null;
|
|
2926
|
+
gradedBy?: string | null;
|
|
2927
|
+
gradingStatus?: ("graded" | "auto-graded") | null;
|
|
2928
|
+
originalValue?: (string | (string | null)[]) | null;
|
|
2929
|
+
editedBy?: string | null;
|
|
2930
|
+
editedAt?: string | null;
|
|
2931
|
+
masteryTopicId?: string | null;
|
|
2932
|
+
traceIds?: string[] | null;
|
|
2933
|
+
}[];
|
|
2807
2934
|
};
|
|
2808
2935
|
};
|
|
2809
2936
|
};
|
|
2810
2937
|
responses: never;
|
|
2811
2938
|
};
|
|
2812
|
-
"
|
|
2939
|
+
"exams.sessions.scan": {
|
|
2813
2940
|
parameters: {
|
|
2814
|
-
query?:
|
|
2815
|
-
/** @description Original attachment filename */
|
|
2816
|
-
filename?: string;
|
|
2817
|
-
/** @description Category of file, used for grouping */
|
|
2818
|
-
type?: string;
|
|
2819
|
-
/** @description MIME type of the attachment */
|
|
2820
|
-
contentType?: string;
|
|
2821
|
-
};
|
|
2941
|
+
query?: never;
|
|
2822
2942
|
header?: never;
|
|
2823
|
-
path
|
|
2943
|
+
path: {
|
|
2944
|
+
id: string;
|
|
2945
|
+
};
|
|
2824
2946
|
cookie?: never;
|
|
2825
2947
|
};
|
|
2826
2948
|
requestBody?: never;
|
|
2827
|
-
responses:
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2949
|
+
responses: never;
|
|
2950
|
+
};
|
|
2951
|
+
"exams.sessions.scanDocument": {
|
|
2952
|
+
parameters: {
|
|
2953
|
+
query?: never;
|
|
2954
|
+
header?: never;
|
|
2955
|
+
path: {
|
|
2956
|
+
id: string;
|
|
2957
|
+
};
|
|
2958
|
+
cookie?: never;
|
|
2959
|
+
};
|
|
2960
|
+
requestBody?: {
|
|
2961
|
+
content: {
|
|
2962
|
+
"application/json": {
|
|
2963
|
+
/** Format: uri */
|
|
2964
|
+
documentUrl: string;
|
|
2839
2965
|
};
|
|
2840
2966
|
};
|
|
2841
2967
|
};
|
|
2968
|
+
responses: never;
|
|
2842
2969
|
};
|
|
2843
|
-
"
|
|
2970
|
+
"exams.sessions.get": {
|
|
2844
2971
|
parameters: {
|
|
2845
2972
|
query?: never;
|
|
2846
2973
|
header?: never;
|
|
2847
|
-
path
|
|
2974
|
+
path: {
|
|
2975
|
+
id: string;
|
|
2976
|
+
sessionId: string;
|
|
2977
|
+
};
|
|
2848
2978
|
cookie?: never;
|
|
2849
2979
|
};
|
|
2850
2980
|
requestBody?: never;
|
|
2851
2981
|
responses: never;
|
|
2852
2982
|
};
|
|
2853
|
-
"
|
|
2983
|
+
"exams.sessions.delete": {
|
|
2854
2984
|
parameters: {
|
|
2855
2985
|
query?: never;
|
|
2856
2986
|
header?: never;
|
|
2857
|
-
path
|
|
2987
|
+
path: {
|
|
2988
|
+
id: string;
|
|
2989
|
+
sessionId: string;
|
|
2990
|
+
};
|
|
2858
2991
|
cookie?: never;
|
|
2859
2992
|
};
|
|
2860
2993
|
requestBody?: never;
|
|
2861
2994
|
responses: never;
|
|
2862
2995
|
};
|
|
2863
|
-
"
|
|
2996
|
+
"exams.sessions.saveFeedback": {
|
|
2864
2997
|
parameters: {
|
|
2865
2998
|
query?: never;
|
|
2866
2999
|
header?: never;
|
|
2867
|
-
path
|
|
3000
|
+
path: {
|
|
3001
|
+
id: string;
|
|
3002
|
+
sessionId: string;
|
|
3003
|
+
};
|
|
2868
3004
|
cookie?: never;
|
|
2869
3005
|
};
|
|
2870
3006
|
requestBody?: {
|
|
2871
3007
|
content: {
|
|
2872
3008
|
"application/json": {
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
settings?: {
|
|
2880
|
-
/** @description Whether users can only see other users in the same groups as them. */
|
|
2881
|
-
restrictGroupVisibility?: boolean;
|
|
2882
|
-
/** @description Whether the organization blocks public link sharing. */
|
|
2883
|
-
sharingBlockPublic?: boolean;
|
|
2884
|
-
};
|
|
3009
|
+
/** @description Question ID to provide feedback for */
|
|
3010
|
+
question: string;
|
|
3011
|
+
/** @description Points to award for the answer */
|
|
3012
|
+
pointsAwarded?: number;
|
|
3013
|
+
/** @description Optional teacher feedback for the answer */
|
|
3014
|
+
feedback?: string;
|
|
2885
3015
|
};
|
|
2886
3016
|
};
|
|
2887
3017
|
};
|
|
2888
3018
|
responses: never;
|
|
2889
3019
|
};
|
|
2890
|
-
"
|
|
3020
|
+
"exams.sessions.saveOverallFeedback": {
|
|
2891
3021
|
parameters: {
|
|
2892
3022
|
query?: never;
|
|
2893
3023
|
header?: never;
|
|
2894
|
-
path
|
|
3024
|
+
path: {
|
|
3025
|
+
id: string;
|
|
3026
|
+
sessionId: string;
|
|
3027
|
+
};
|
|
2895
3028
|
cookie?: never;
|
|
2896
3029
|
};
|
|
2897
|
-
requestBody?:
|
|
3030
|
+
requestBody?: {
|
|
3031
|
+
content: {
|
|
3032
|
+
"application/json": {
|
|
3033
|
+
/** @description Teacher feedback for the test as a whole */
|
|
3034
|
+
feedback?: string | null;
|
|
3035
|
+
};
|
|
3036
|
+
};
|
|
3037
|
+
};
|
|
2898
3038
|
responses: never;
|
|
2899
3039
|
};
|
|
2900
|
-
"
|
|
3040
|
+
"exams.sessions.generateOverallFeedback": {
|
|
2901
3041
|
parameters: {
|
|
2902
3042
|
query?: never;
|
|
2903
3043
|
header?: never;
|
|
2904
|
-
path
|
|
3044
|
+
path: {
|
|
3045
|
+
id: string;
|
|
3046
|
+
sessionId: string;
|
|
3047
|
+
};
|
|
2905
3048
|
cookie?: never;
|
|
2906
3049
|
};
|
|
2907
|
-
requestBody?:
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
3050
|
+
requestBody?: never;
|
|
3051
|
+
responses: never;
|
|
3052
|
+
};
|
|
3053
|
+
"exams.sessions.acceptAllSuggestions": {
|
|
3054
|
+
parameters: {
|
|
3055
|
+
query?: never;
|
|
3056
|
+
header?: never;
|
|
3057
|
+
path: {
|
|
3058
|
+
id: string;
|
|
3059
|
+
sessionId: string;
|
|
2912
3060
|
};
|
|
3061
|
+
cookie?: never;
|
|
2913
3062
|
};
|
|
3063
|
+
requestBody?: never;
|
|
2914
3064
|
responses: never;
|
|
2915
3065
|
};
|
|
2916
|
-
"
|
|
3066
|
+
"exams.sessions.acceptSuggestion": {
|
|
2917
3067
|
parameters: {
|
|
2918
3068
|
query?: never;
|
|
2919
3069
|
header?: never;
|
|
2920
|
-
path
|
|
3070
|
+
path: {
|
|
3071
|
+
id: string;
|
|
3072
|
+
sessionId: string;
|
|
3073
|
+
questionId: string;
|
|
3074
|
+
};
|
|
2921
3075
|
cookie?: never;
|
|
2922
3076
|
};
|
|
2923
3077
|
requestBody?: never;
|
|
2924
3078
|
responses: never;
|
|
2925
3079
|
};
|
|
2926
|
-
"
|
|
3080
|
+
"exams.sessions.editAnswer": {
|
|
2927
3081
|
parameters: {
|
|
2928
3082
|
query?: never;
|
|
2929
3083
|
header?: never;
|
|
2930
|
-
path
|
|
3084
|
+
path: {
|
|
3085
|
+
id: string;
|
|
3086
|
+
sessionId: string;
|
|
3087
|
+
questionId: string;
|
|
3088
|
+
};
|
|
2931
3089
|
cookie?: never;
|
|
2932
3090
|
};
|
|
2933
3091
|
requestBody?: {
|
|
2934
3092
|
content: {
|
|
2935
3093
|
"application/json": {
|
|
2936
|
-
|
|
3094
|
+
answer: {
|
|
3095
|
+
question: string;
|
|
3096
|
+
value?: (string | (string | null)[]) | null;
|
|
3097
|
+
completed?: boolean | null;
|
|
3098
|
+
context?: unknown | null;
|
|
3099
|
+
};
|
|
3100
|
+
/** @description Whether to automatically grade the answer after editing */
|
|
3101
|
+
autoGrade?: boolean;
|
|
2937
3102
|
};
|
|
2938
3103
|
};
|
|
2939
3104
|
};
|
|
2940
3105
|
responses: never;
|
|
2941
3106
|
};
|
|
2942
|
-
"
|
|
3107
|
+
"exams.sessions.comments.list": {
|
|
2943
3108
|
parameters: {
|
|
2944
3109
|
query?: never;
|
|
2945
3110
|
header?: never;
|
|
2946
|
-
path
|
|
3111
|
+
path: {
|
|
3112
|
+
id: string;
|
|
3113
|
+
sessionId: string;
|
|
3114
|
+
};
|
|
2947
3115
|
cookie?: never;
|
|
2948
3116
|
};
|
|
2949
3117
|
requestBody?: never;
|
|
2950
3118
|
responses: never;
|
|
2951
3119
|
};
|
|
2952
|
-
"
|
|
3120
|
+
"exams.sessions.comments.create": {
|
|
2953
3121
|
parameters: {
|
|
2954
3122
|
query?: never;
|
|
2955
3123
|
header?: never;
|
|
2956
|
-
path
|
|
3124
|
+
path: {
|
|
3125
|
+
id: string;
|
|
3126
|
+
sessionId: string;
|
|
3127
|
+
};
|
|
2957
3128
|
cookie?: never;
|
|
2958
3129
|
};
|
|
2959
|
-
requestBody?:
|
|
3130
|
+
requestBody?: {
|
|
3131
|
+
content: {
|
|
3132
|
+
"application/json": {
|
|
3133
|
+
value?: string;
|
|
3134
|
+
range?: [
|
|
3135
|
+
number,
|
|
3136
|
+
number
|
|
3137
|
+
];
|
|
3138
|
+
quotation?: string;
|
|
3139
|
+
inReplyTo?: string;
|
|
3140
|
+
/** @enum {string} */
|
|
3141
|
+
status?: "open" | "resolved";
|
|
3142
|
+
/** @description Question ID the comment is attached to */
|
|
3143
|
+
question: string;
|
|
3144
|
+
};
|
|
3145
|
+
};
|
|
3146
|
+
};
|
|
2960
3147
|
responses: never;
|
|
2961
3148
|
};
|
|
2962
|
-
"
|
|
3149
|
+
"exams.sessions.comments.delete": {
|
|
2963
3150
|
parameters: {
|
|
2964
3151
|
query?: never;
|
|
2965
3152
|
header?: never;
|
|
2966
|
-
path
|
|
3153
|
+
path: {
|
|
3154
|
+
id: string;
|
|
3155
|
+
sessionId: string;
|
|
3156
|
+
commentId: string;
|
|
3157
|
+
};
|
|
2967
3158
|
cookie?: never;
|
|
2968
3159
|
};
|
|
2969
3160
|
requestBody?: never;
|
|
2970
3161
|
responses: never;
|
|
2971
3162
|
};
|
|
2972
|
-
"
|
|
3163
|
+
"exams.sessions.comments.update": {
|
|
2973
3164
|
parameters: {
|
|
2974
3165
|
query?: never;
|
|
2975
3166
|
header?: never;
|
|
2976
|
-
path
|
|
3167
|
+
path: {
|
|
3168
|
+
id: string;
|
|
3169
|
+
sessionId: string;
|
|
3170
|
+
commentId: string;
|
|
3171
|
+
};
|
|
2977
3172
|
cookie?: never;
|
|
2978
3173
|
};
|
|
2979
3174
|
requestBody?: {
|
|
2980
3175
|
content: {
|
|
2981
3176
|
"application/json": {
|
|
2982
|
-
|
|
3177
|
+
value?: string;
|
|
3178
|
+
range?: [
|
|
3179
|
+
number,
|
|
3180
|
+
number
|
|
3181
|
+
];
|
|
3182
|
+
quotation?: string;
|
|
3183
|
+
inReplyTo?: string;
|
|
2983
3184
|
/** @enum {string} */
|
|
2984
|
-
|
|
2985
|
-
options?: string[];
|
|
2986
|
-
showInStudentDashboard?: boolean;
|
|
2987
|
-
showAsStudentPreference?: boolean;
|
|
2988
|
-
position?: number;
|
|
2989
|
-
appearanceColor?: (string) | null;
|
|
3185
|
+
status?: "open" | "resolved";
|
|
2990
3186
|
};
|
|
2991
3187
|
};
|
|
2992
3188
|
};
|
|
2993
3189
|
responses: never;
|
|
2994
3190
|
};
|
|
2995
|
-
"
|
|
3191
|
+
"exams.questions.import": {
|
|
2996
3192
|
parameters: {
|
|
2997
3193
|
query?: never;
|
|
2998
3194
|
header?: never;
|
|
2999
|
-
path
|
|
3195
|
+
path: {
|
|
3196
|
+
id: string;
|
|
3197
|
+
};
|
|
3000
3198
|
cookie?: never;
|
|
3001
3199
|
};
|
|
3002
3200
|
requestBody?: {
|
|
3003
3201
|
content: {
|
|
3004
3202
|
"application/json": {
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3203
|
+
/** @description File name */
|
|
3204
|
+
name?: string;
|
|
3205
|
+
/** @description MIME type of the file, e.g. application/pdf */
|
|
3206
|
+
type?: string;
|
|
3207
|
+
/** @description URL of the file, required if no content is specified. */
|
|
3208
|
+
url?: string;
|
|
3209
|
+
/** @description Content of the file as a string, as an alternative to URL. Only supported for exports from other systems (e.g. Moodle XML). */
|
|
3210
|
+
content?: string;
|
|
3211
|
+
/** @description Whether to keep existing exam settings when importing questions via AI. */
|
|
3212
|
+
keepExistingSettings?: boolean;
|
|
3009
3213
|
};
|
|
3010
3214
|
};
|
|
3011
3215
|
};
|
|
3012
3216
|
responses: never;
|
|
3013
3217
|
};
|
|
3014
|
-
"
|
|
3218
|
+
"exams.questions.generate": {
|
|
3015
3219
|
parameters: {
|
|
3016
3220
|
query?: never;
|
|
3017
3221
|
header?: never;
|
|
@@ -3023,90 +3227,53 @@ interface operations {
|
|
|
3023
3227
|
requestBody?: {
|
|
3024
3228
|
content: {
|
|
3025
3229
|
"application/json": {
|
|
3026
|
-
|
|
3230
|
+
message: string;
|
|
3231
|
+
questionType?: string;
|
|
3027
3232
|
/** @enum {string} */
|
|
3028
|
-
|
|
3029
|
-
options?: string[];
|
|
3030
|
-
showInStudentDashboard?: boolean;
|
|
3031
|
-
showAsStudentPreference?: boolean;
|
|
3032
|
-
position?: number;
|
|
3033
|
-
appearanceColor?: (string) | null;
|
|
3233
|
+
format?: "examplary_json" | "qti_v3p0" | "qti_v2p1";
|
|
3034
3234
|
};
|
|
3035
3235
|
};
|
|
3036
3236
|
};
|
|
3037
3237
|
responses: never;
|
|
3038
3238
|
};
|
|
3039
|
-
"
|
|
3239
|
+
"exams.questions.get": {
|
|
3040
3240
|
parameters: {
|
|
3041
|
-
query?:
|
|
3241
|
+
query?: {
|
|
3242
|
+
/** @description The format to return the question in. `examplary_json` returns the question in the Examplary JSON format, while `qti_v3p0` and `qti_v2p1` return the question in QTI format version 3 and 2.1 respectively. */
|
|
3243
|
+
format?: "examplary_json" | "qti_v3p0" | "qti_v2p1";
|
|
3244
|
+
};
|
|
3042
3245
|
header?: never;
|
|
3043
3246
|
path: {
|
|
3247
|
+
/** @description Exam ID, e.g. `exam_1234`. */
|
|
3044
3248
|
id: string;
|
|
3249
|
+
/** @description Question ID, e.g. `question_1234`, or `first` to get the first question. */
|
|
3250
|
+
questionId: string;
|
|
3045
3251
|
};
|
|
3046
3252
|
cookie?: never;
|
|
3047
3253
|
};
|
|
3048
3254
|
requestBody?: never;
|
|
3049
3255
|
responses: never;
|
|
3050
3256
|
};
|
|
3051
|
-
"
|
|
3052
|
-
parameters: {
|
|
3053
|
-
query?: never;
|
|
3054
|
-
header?: never;
|
|
3055
|
-
path?: never;
|
|
3056
|
-
cookie?: never;
|
|
3057
|
-
};
|
|
3058
|
-
requestBody?: never;
|
|
3059
|
-
responses: never;
|
|
3060
|
-
};
|
|
3061
|
-
"taxonomies.create": {
|
|
3062
|
-
parameters: {
|
|
3063
|
-
query?: never;
|
|
3064
|
-
header?: never;
|
|
3065
|
-
path?: never;
|
|
3066
|
-
cookie?: never;
|
|
3067
|
-
};
|
|
3068
|
-
requestBody?: {
|
|
3069
|
-
content: {
|
|
3070
|
-
"application/json": {
|
|
3071
|
-
name: string;
|
|
3072
|
-
description?: string;
|
|
3073
|
-
instructions?: string;
|
|
3074
|
-
levels: {
|
|
3075
|
-
name?: string;
|
|
3076
|
-
instructions?: string;
|
|
3077
|
-
}[];
|
|
3078
|
-
};
|
|
3079
|
-
};
|
|
3080
|
-
};
|
|
3081
|
-
responses: never;
|
|
3082
|
-
};
|
|
3083
|
-
"taxonomies.update": {
|
|
3257
|
+
"exams.questions.regenerate": {
|
|
3084
3258
|
parameters: {
|
|
3085
3259
|
query?: never;
|
|
3086
3260
|
header?: never;
|
|
3087
3261
|
path: {
|
|
3088
3262
|
id: string;
|
|
3263
|
+
questionId: string;
|
|
3089
3264
|
};
|
|
3090
3265
|
cookie?: never;
|
|
3091
3266
|
};
|
|
3092
3267
|
requestBody?: {
|
|
3093
3268
|
content: {
|
|
3094
3269
|
"application/json": {
|
|
3095
|
-
|
|
3096
|
-
description?: string;
|
|
3097
|
-
instructions?: string;
|
|
3098
|
-
levels: {
|
|
3099
|
-
name?: string;
|
|
3100
|
-
instructions?: string;
|
|
3101
|
-
}[];
|
|
3102
|
-
} & {
|
|
3103
|
-
[key: string]: unknown;
|
|
3270
|
+
message: string;
|
|
3104
3271
|
};
|
|
3105
3272
|
};
|
|
3106
3273
|
};
|
|
3107
3274
|
responses: never;
|
|
3108
3275
|
};
|
|
3109
|
-
"
|
|
3276
|
+
"exams.export.qti3Zip": {
|
|
3110
3277
|
parameters: {
|
|
3111
3278
|
query?: never;
|
|
3112
3279
|
header?: never;
|
|
@@ -3116,290 +3283,243 @@ interface operations {
|
|
|
3116
3283
|
cookie?: never;
|
|
3117
3284
|
};
|
|
3118
3285
|
requestBody?: never;
|
|
3119
|
-
responses: never;
|
|
3120
|
-
};
|
|
3121
|
-
"permissions.autocomplete": {
|
|
3122
|
-
parameters: {
|
|
3123
|
-
query: {
|
|
3124
|
-
/** @description Search query (min 3 characters) */
|
|
3125
|
-
q: string;
|
|
3126
|
-
/** @description Type of entity to search */
|
|
3127
|
-
type?: "user" | "group";
|
|
3128
|
-
};
|
|
3129
|
-
header?: never;
|
|
3130
|
-
path?: never;
|
|
3131
|
-
cookie?: never;
|
|
3132
|
-
};
|
|
3133
|
-
requestBody?: never;
|
|
3134
3286
|
responses: {
|
|
3135
|
-
/** @description
|
|
3287
|
+
/** @description URL to download the exported QTI ZIP package. */
|
|
3136
3288
|
200: {
|
|
3137
3289
|
headers: {
|
|
3138
3290
|
[name: string]: unknown;
|
|
3139
3291
|
};
|
|
3140
|
-
content
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3292
|
+
content: {
|
|
3293
|
+
"application/json": {
|
|
3294
|
+
/**
|
|
3295
|
+
* Format: uri
|
|
3296
|
+
* @description URL to download the exported QTI ZIP package.
|
|
3297
|
+
*/
|
|
3298
|
+
url: string;
|
|
3299
|
+
};
|
|
3146
3300
|
};
|
|
3147
|
-
content?: never;
|
|
3148
3301
|
};
|
|
3149
3302
|
};
|
|
3150
3303
|
};
|
|
3151
|
-
"
|
|
3304
|
+
"exams.export.qti21Zip": {
|
|
3152
3305
|
parameters: {
|
|
3153
3306
|
query?: never;
|
|
3154
3307
|
header?: never;
|
|
3155
3308
|
path: {
|
|
3156
|
-
|
|
3157
|
-
resource: string;
|
|
3309
|
+
id: string;
|
|
3158
3310
|
};
|
|
3159
3311
|
cookie?: never;
|
|
3160
3312
|
};
|
|
3161
3313
|
requestBody?: never;
|
|
3162
3314
|
responses: {
|
|
3163
|
-
/** @description
|
|
3315
|
+
/** @description URL to download the exported QTI ZIP package. */
|
|
3164
3316
|
200: {
|
|
3165
3317
|
headers: {
|
|
3166
3318
|
[name: string]: unknown;
|
|
3167
3319
|
};
|
|
3168
3320
|
content: {
|
|
3169
3321
|
"application/json": {
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
type: "user" | "group" | "org";
|
|
3177
|
-
/** @enum {string} */
|
|
3178
|
-
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
3179
|
-
};
|
|
3180
|
-
/** @enum {string} */
|
|
3181
|
-
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3182
|
-
/** Format: date-time */
|
|
3183
|
-
createdAt: string;
|
|
3184
|
-
/** Format: date-time */
|
|
3185
|
-
updatedAt: string;
|
|
3186
|
-
createdBy: string;
|
|
3187
|
-
}[];
|
|
3322
|
+
/**
|
|
3323
|
+
* Format: uri
|
|
3324
|
+
* @description URL to download the exported QTI ZIP package.
|
|
3325
|
+
*/
|
|
3326
|
+
url: string;
|
|
3327
|
+
};
|
|
3188
3328
|
};
|
|
3189
3329
|
};
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3330
|
+
};
|
|
3331
|
+
};
|
|
3332
|
+
"exams.list": {
|
|
3333
|
+
parameters: {
|
|
3334
|
+
query?: {
|
|
3335
|
+
/** @description Optional filter by folder ID, e.g. `folder_1234`. */
|
|
3336
|
+
folder?: string;
|
|
3337
|
+
/** @description Optional filter by permission role. */
|
|
3338
|
+
role?: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3196
3339
|
};
|
|
3340
|
+
header?: never;
|
|
3341
|
+
path?: never;
|
|
3342
|
+
cookie?: never;
|
|
3197
3343
|
};
|
|
3344
|
+
requestBody?: never;
|
|
3345
|
+
responses: never;
|
|
3198
3346
|
};
|
|
3199
|
-
"
|
|
3347
|
+
"exams.create": {
|
|
3200
3348
|
parameters: {
|
|
3201
3349
|
query?: never;
|
|
3202
3350
|
header?: never;
|
|
3203
|
-
path
|
|
3204
|
-
/** @description The ID of the resource to assign the permission on, e.g. `exam_1234`. */
|
|
3205
|
-
resource: string;
|
|
3206
|
-
};
|
|
3351
|
+
path?: never;
|
|
3207
3352
|
cookie?: never;
|
|
3208
3353
|
};
|
|
3209
3354
|
requestBody?: {
|
|
3210
3355
|
content: {
|
|
3211
3356
|
"application/json": {
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
[name: string]: unknown;
|
|
3237
|
-
};
|
|
3238
|
-
content: {
|
|
3239
|
-
"application/json": {
|
|
3240
|
-
actor: {
|
|
3241
|
-
id: string;
|
|
3242
|
-
name?: string;
|
|
3243
|
-
/** Format: uri */
|
|
3244
|
-
avatar?: string;
|
|
3245
|
-
/** @enum {string} */
|
|
3246
|
-
type: "user" | "group" | "org";
|
|
3247
|
-
/** @enum {string} */
|
|
3248
|
-
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
3357
|
+
name: string;
|
|
3358
|
+
sourceMaterialIds?: string[] | null;
|
|
3359
|
+
context?: string | null;
|
|
3360
|
+
studentLevel?: string | null;
|
|
3361
|
+
subject?: string | null;
|
|
3362
|
+
language?: string | null;
|
|
3363
|
+
taxonomyId?: string | null;
|
|
3364
|
+
intendedDuration?: unknown | null;
|
|
3365
|
+
allowedGenerationQuestionTypes?: string[] | null;
|
|
3366
|
+
metadata?: {
|
|
3367
|
+
[key: string]: string | number | boolean | null;
|
|
3368
|
+
} | null;
|
|
3369
|
+
questions?: ({
|
|
3370
|
+
/** @description Question ID */
|
|
3371
|
+
id?: string;
|
|
3372
|
+
/** @description ID of the question type */
|
|
3373
|
+
type?: string;
|
|
3374
|
+
/** @description Title for the question (stem) */
|
|
3375
|
+
title?: string | null;
|
|
3376
|
+
/** @description Optional description for the question */
|
|
3377
|
+
description?: string | null;
|
|
3378
|
+
/** @description Settings for the question, often specific to the question type */
|
|
3379
|
+
settings?: {
|
|
3380
|
+
[key: string]: unknown;
|
|
3249
3381
|
};
|
|
3382
|
+
/** @description Scoring configuration for the question */
|
|
3383
|
+
scoring?: {
|
|
3384
|
+
/** @description The type of rubric. Different rubric types have different shapes. */
|
|
3385
|
+
rubricType?: ("simple" | "analytical" | "holistic" | "exact-values") | null;
|
|
3386
|
+
/** @description The criteria for scoring the question. For 'simple' rubric type, criteria have no levels, and their points stack (total = sum of points for all criteria that apply). For 'analytical' rubric type, there should be at least one criteria, with levels. For each criteria, a matching level is picked. For 'holistic' rubric type, there should be multiple criteria, without levels (score = single selected criteria). For 'exact-values' rubric type, each criteria represents a specific value that must be matched exactly. */
|
|
3387
|
+
criteria?: {
|
|
3388
|
+
id: string;
|
|
3389
|
+
/** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
|
|
3390
|
+
title?: string | null;
|
|
3391
|
+
/** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
|
|
3392
|
+
description?: string | null;
|
|
3393
|
+
/** @description The default amount of points to assign if this criterion or level is selected. */
|
|
3394
|
+
points?: number | null;
|
|
3395
|
+
/** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
|
|
3396
|
+
minPoints?: number | null;
|
|
3397
|
+
/** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
|
|
3398
|
+
maxPoints?: number | null;
|
|
3399
|
+
/** @description The levels of a analytical rubric criterion. Each level represents a different point value and description for the same criterion. */
|
|
3400
|
+
levels?: {
|
|
3401
|
+
id: string;
|
|
3402
|
+
/** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
|
|
3403
|
+
title?: string | null;
|
|
3404
|
+
/** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
|
|
3405
|
+
description?: string | null;
|
|
3406
|
+
/** @description The default amount of points to assign if this criterion or level is selected. */
|
|
3407
|
+
points?: number | null;
|
|
3408
|
+
/** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
|
|
3409
|
+
minPoints?: number | null;
|
|
3410
|
+
/** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
|
|
3411
|
+
maxPoints?: number | null;
|
|
3412
|
+
}[] | null;
|
|
3413
|
+
}[] | null;
|
|
3414
|
+
/** @description Whether exact values matching should be case insensitive. Only applicable for 'exact-values' rubric type. */
|
|
3415
|
+
exactValuesCaseInsensitive?: boolean | null;
|
|
3416
|
+
/** @description Optional additional grading guidance text. */
|
|
3417
|
+
guidance?: string | null;
|
|
3418
|
+
/** @description Optional example model answer text to show to graders. */
|
|
3419
|
+
modelAnswer?: string | null;
|
|
3420
|
+
/** @description The ID of the scoring template applied, if any. */
|
|
3421
|
+
templateId?: string | null;
|
|
3422
|
+
} | null;
|
|
3423
|
+
/** @description Tags associated with the question for categorization and search */
|
|
3424
|
+
tags?: string[] | null;
|
|
3425
|
+
/** @description Optional external ID for the question, used to link to external systems */
|
|
3426
|
+
externalId?: string | null;
|
|
3427
|
+
/** @description Metadata for the question */
|
|
3428
|
+
metadata?: {
|
|
3429
|
+
[key: string]: string | number | boolean | null;
|
|
3430
|
+
} | null;
|
|
3431
|
+
/** @description Version number, incremented when question is edited */
|
|
3432
|
+
v?: number | null;
|
|
3433
|
+
/** @description ID of the question in the question bank */
|
|
3434
|
+
questionBankItemId?: string | null;
|
|
3435
|
+
/** @description Trace IDs for internal tracking of AI generation processes */
|
|
3436
|
+
traceIds?: string[] | null;
|
|
3437
|
+
} & {
|
|
3438
|
+
[key: string]: unknown;
|
|
3439
|
+
})[] | null;
|
|
3440
|
+
permissions?: {
|
|
3441
|
+
actor: string;
|
|
3250
3442
|
/** @enum {string} */
|
|
3251
3443
|
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3252
|
-
|
|
3253
|
-
createdAt: string;
|
|
3254
|
-
/** Format: date-time */
|
|
3255
|
-
updatedAt: string;
|
|
3256
|
-
createdBy: string;
|
|
3257
|
-
};
|
|
3258
|
-
};
|
|
3259
|
-
};
|
|
3260
|
-
/** @description No access to manage this resource. */
|
|
3261
|
-
403: {
|
|
3262
|
-
headers: {
|
|
3263
|
-
[name: string]: unknown;
|
|
3444
|
+
}[] | null;
|
|
3264
3445
|
};
|
|
3265
|
-
content?: never;
|
|
3266
3446
|
};
|
|
3267
3447
|
};
|
|
3448
|
+
responses: never;
|
|
3268
3449
|
};
|
|
3269
|
-
"
|
|
3450
|
+
"exams.import": {
|
|
3270
3451
|
parameters: {
|
|
3271
3452
|
query?: never;
|
|
3272
3453
|
header?: never;
|
|
3273
|
-
path
|
|
3274
|
-
/** @description The ID of the actor to check role for, e.g. `user_abcd`. */
|
|
3275
|
-
actor: ((string) | "me") | string;
|
|
3276
|
-
/** @description The ID of the resource to check role for, e.g. `exam_1234`. */
|
|
3277
|
-
resource: string;
|
|
3278
|
-
};
|
|
3454
|
+
path?: never;
|
|
3279
3455
|
cookie?: never;
|
|
3280
3456
|
};
|
|
3281
|
-
requestBody?:
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
[name: string]: unknown;
|
|
3287
|
-
};
|
|
3288
|
-
content: {
|
|
3289
|
-
"application/json": {
|
|
3290
|
-
actor: {
|
|
3291
|
-
id: string;
|
|
3292
|
-
name?: string;
|
|
3293
|
-
/** Format: uri */
|
|
3294
|
-
avatar?: string;
|
|
3295
|
-
/** @enum {string} */
|
|
3296
|
-
type: "user" | "group" | "org";
|
|
3297
|
-
/** @enum {string} */
|
|
3298
|
-
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
3299
|
-
};
|
|
3300
|
-
/** @enum {string} */
|
|
3301
|
-
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3302
|
-
/** Format: date-time */
|
|
3303
|
-
createdAt: string;
|
|
3304
|
-
/** Format: date-time */
|
|
3305
|
-
updatedAt: string;
|
|
3306
|
-
createdBy: string;
|
|
3307
|
-
};
|
|
3308
|
-
};
|
|
3309
|
-
};
|
|
3310
|
-
/** @description No access to this resource. */
|
|
3311
|
-
403: {
|
|
3312
|
-
headers: {
|
|
3313
|
-
[name: string]: unknown;
|
|
3314
|
-
};
|
|
3315
|
-
content?: never;
|
|
3316
|
-
};
|
|
3317
|
-
/** @description The specified actor has no access to the specified resource. */
|
|
3318
|
-
404: {
|
|
3319
|
-
headers: {
|
|
3320
|
-
[name: string]: unknown;
|
|
3457
|
+
requestBody?: {
|
|
3458
|
+
content: {
|
|
3459
|
+
"application/json": {
|
|
3460
|
+
name: string;
|
|
3461
|
+
sourceMaterialIds?: string[];
|
|
3321
3462
|
};
|
|
3322
|
-
content?: never;
|
|
3323
3463
|
};
|
|
3324
3464
|
};
|
|
3465
|
+
responses: never;
|
|
3325
3466
|
};
|
|
3326
|
-
"
|
|
3467
|
+
"exams.get": {
|
|
3327
3468
|
parameters: {
|
|
3328
3469
|
query?: never;
|
|
3329
3470
|
header?: never;
|
|
3330
3471
|
path: {
|
|
3331
|
-
|
|
3332
|
-
actor: (string) | string;
|
|
3472
|
+
id: string;
|
|
3333
3473
|
};
|
|
3334
3474
|
cookie?: never;
|
|
3335
3475
|
};
|
|
3336
3476
|
requestBody?: never;
|
|
3337
|
-
responses:
|
|
3338
|
-
/** @description Permission successfully removed. */
|
|
3339
|
-
200: {
|
|
3340
|
-
headers: {
|
|
3341
|
-
[name: string]: unknown;
|
|
3342
|
-
};
|
|
3343
|
-
content?: never;
|
|
3344
|
-
};
|
|
3345
|
-
/** @description No access to manage this resource. */
|
|
3346
|
-
403: {
|
|
3347
|
-
headers: {
|
|
3348
|
-
[name: string]: unknown;
|
|
3349
|
-
};
|
|
3350
|
-
content?: never;
|
|
3351
|
-
};
|
|
3352
|
-
};
|
|
3477
|
+
responses: never;
|
|
3353
3478
|
};
|
|
3354
|
-
"
|
|
3479
|
+
"exams.update": {
|
|
3355
3480
|
parameters: {
|
|
3356
3481
|
query?: never;
|
|
3357
3482
|
header?: never;
|
|
3358
|
-
path
|
|
3483
|
+
path: {
|
|
3484
|
+
id: string;
|
|
3485
|
+
};
|
|
3359
3486
|
cookie?: never;
|
|
3360
3487
|
};
|
|
3361
3488
|
requestBody?: never;
|
|
3362
3489
|
responses: never;
|
|
3363
3490
|
};
|
|
3364
|
-
"
|
|
3491
|
+
"exams.delete": {
|
|
3365
3492
|
parameters: {
|
|
3366
3493
|
query?: never;
|
|
3367
3494
|
header?: never;
|
|
3368
|
-
path
|
|
3495
|
+
path: {
|
|
3496
|
+
id: string;
|
|
3497
|
+
};
|
|
3369
3498
|
cookie?: never;
|
|
3370
3499
|
};
|
|
3371
3500
|
requestBody?: never;
|
|
3372
3501
|
responses: never;
|
|
3373
3502
|
};
|
|
3374
|
-
"
|
|
3503
|
+
"exams.duplicate": {
|
|
3375
3504
|
parameters: {
|
|
3376
3505
|
query?: never;
|
|
3377
3506
|
header?: never;
|
|
3378
|
-
path
|
|
3507
|
+
path: {
|
|
3508
|
+
id: string;
|
|
3509
|
+
};
|
|
3379
3510
|
cookie?: never;
|
|
3380
3511
|
};
|
|
3381
3512
|
requestBody?: {
|
|
3382
3513
|
content: {
|
|
3383
3514
|
"application/json": {
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
name?: string;
|
|
3387
|
-
/**
|
|
3388
|
-
* @default teacher
|
|
3389
|
-
* @enum {string}
|
|
3390
|
-
*/
|
|
3391
|
-
role?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
3392
|
-
/**
|
|
3393
|
-
* @description Whether to send an invitation email. Defaults to false.
|
|
3394
|
-
* @default false
|
|
3395
|
-
*/
|
|
3396
|
-
sendInvite?: boolean;
|
|
3515
|
+
name: string;
|
|
3516
|
+
includeSessions?: boolean;
|
|
3397
3517
|
};
|
|
3398
3518
|
};
|
|
3399
3519
|
};
|
|
3400
3520
|
responses: never;
|
|
3401
3521
|
};
|
|
3402
|
-
"
|
|
3522
|
+
"exams.print": {
|
|
3403
3523
|
parameters: {
|
|
3404
3524
|
query?: never;
|
|
3405
3525
|
header?: never;
|
|
@@ -3411,7 +3531,7 @@ interface operations {
|
|
|
3411
3531
|
requestBody?: never;
|
|
3412
3532
|
responses: never;
|
|
3413
3533
|
};
|
|
3414
|
-
"
|
|
3534
|
+
"exams.startGeneration": {
|
|
3415
3535
|
parameters: {
|
|
3416
3536
|
query?: never;
|
|
3417
3537
|
header?: never;
|
|
@@ -3423,7 +3543,7 @@ interface operations {
|
|
|
3423
3543
|
requestBody?: never;
|
|
3424
3544
|
responses: never;
|
|
3425
3545
|
};
|
|
3426
|
-
"exams.
|
|
3546
|
+
"exams.cancelGeneration": {
|
|
3427
3547
|
parameters: {
|
|
3428
3548
|
query?: never;
|
|
3429
3549
|
header?: never;
|
|
@@ -3435,7 +3555,7 @@ interface operations {
|
|
|
3435
3555
|
requestBody?: never;
|
|
3436
3556
|
responses: never;
|
|
3437
3557
|
};
|
|
3438
|
-
"exams.
|
|
3558
|
+
"exams.getContextSuggestions": {
|
|
3439
3559
|
parameters: {
|
|
3440
3560
|
query?: never;
|
|
3441
3561
|
header?: never;
|
|
@@ -3444,236 +3564,245 @@ interface operations {
|
|
|
3444
3564
|
};
|
|
3445
3565
|
cookie?: never;
|
|
3446
3566
|
};
|
|
3447
|
-
requestBody?:
|
|
3448
|
-
content: {
|
|
3449
|
-
"application/json": {
|
|
3450
|
-
studentName: string;
|
|
3451
|
-
/**
|
|
3452
|
-
* @default manual
|
|
3453
|
-
* @enum {string}
|
|
3454
|
-
*/
|
|
3455
|
-
source?: "online-assessment" | "document-scanner" | "answer-bot" | "manual";
|
|
3456
|
-
answers?: {
|
|
3457
|
-
question: string;
|
|
3458
|
-
value?: (string | (string | null)[]) | null;
|
|
3459
|
-
completed?: boolean | null;
|
|
3460
|
-
context?: unknown | null;
|
|
3461
|
-
pointsAwarded?: number | null;
|
|
3462
|
-
pointsToEarn?: number | null;
|
|
3463
|
-
feedback?: string | null;
|
|
3464
|
-
scoringCriteria?: unknown | null;
|
|
3465
|
-
/** Format: date-time */
|
|
3466
|
-
savedAt?: string;
|
|
3467
|
-
gradedAt?: string | null;
|
|
3468
|
-
gradedBy?: string | null;
|
|
3469
|
-
gradingStatus?: ("graded" | "auto-graded") | null;
|
|
3470
|
-
originalValue?: (string | (string | null)[]) | null;
|
|
3471
|
-
editedBy?: string | null;
|
|
3472
|
-
editedAt?: string | null;
|
|
3473
|
-
masteryTopicId?: string | null;
|
|
3474
|
-
traceIds?: string[] | null;
|
|
3475
|
-
}[];
|
|
3476
|
-
};
|
|
3477
|
-
};
|
|
3478
|
-
};
|
|
3567
|
+
requestBody?: never;
|
|
3479
3568
|
responses: never;
|
|
3480
3569
|
};
|
|
3481
|
-
"
|
|
3570
|
+
"me.get": {
|
|
3482
3571
|
parameters: {
|
|
3483
3572
|
query?: never;
|
|
3484
3573
|
header?: never;
|
|
3485
|
-
path
|
|
3486
|
-
id: string;
|
|
3487
|
-
};
|
|
3574
|
+
path?: never;
|
|
3488
3575
|
cookie?: never;
|
|
3489
3576
|
};
|
|
3490
3577
|
requestBody?: never;
|
|
3491
3578
|
responses: never;
|
|
3492
3579
|
};
|
|
3493
|
-
"
|
|
3580
|
+
"me.update": {
|
|
3494
3581
|
parameters: {
|
|
3495
3582
|
query?: never;
|
|
3496
3583
|
header?: never;
|
|
3497
|
-
path
|
|
3498
|
-
id: string;
|
|
3499
|
-
};
|
|
3584
|
+
path?: never;
|
|
3500
3585
|
cookie?: never;
|
|
3501
3586
|
};
|
|
3502
3587
|
requestBody?: {
|
|
3503
3588
|
content: {
|
|
3504
3589
|
"application/json": {
|
|
3505
|
-
/**
|
|
3506
|
-
|
|
3590
|
+
/** @description The user's name */
|
|
3591
|
+
name?: string;
|
|
3592
|
+
/** @description A map of user preferences */
|
|
3593
|
+
preferences?: {
|
|
3594
|
+
[key: string]: unknown;
|
|
3595
|
+
};
|
|
3507
3596
|
};
|
|
3508
3597
|
};
|
|
3509
3598
|
};
|
|
3510
3599
|
responses: never;
|
|
3511
3600
|
};
|
|
3512
|
-
"
|
|
3601
|
+
"media.upload": {
|
|
3513
3602
|
parameters: {
|
|
3514
|
-
query?:
|
|
3603
|
+
query?: {
|
|
3604
|
+
/** @description Original attachment filename */
|
|
3605
|
+
filename?: string;
|
|
3606
|
+
/** @description Category of file, used for grouping */
|
|
3607
|
+
type?: string;
|
|
3608
|
+
/** @description MIME type of the attachment */
|
|
3609
|
+
contentType?: string;
|
|
3610
|
+
};
|
|
3515
3611
|
header?: never;
|
|
3516
|
-
path
|
|
3517
|
-
|
|
3518
|
-
|
|
3612
|
+
path?: never;
|
|
3613
|
+
cookie?: never;
|
|
3614
|
+
};
|
|
3615
|
+
requestBody?: never;
|
|
3616
|
+
responses: {
|
|
3617
|
+
200: {
|
|
3618
|
+
headers: {
|
|
3619
|
+
[name: string]: unknown;
|
|
3620
|
+
};
|
|
3621
|
+
content: {
|
|
3622
|
+
"application/json": {
|
|
3623
|
+
/** Format: uri */
|
|
3624
|
+
uploadUrl?: string;
|
|
3625
|
+
/** Format: uri */
|
|
3626
|
+
publicUrl?: string;
|
|
3627
|
+
};
|
|
3628
|
+
};
|
|
3519
3629
|
};
|
|
3630
|
+
};
|
|
3631
|
+
};
|
|
3632
|
+
"org.get": {
|
|
3633
|
+
parameters: {
|
|
3634
|
+
query?: never;
|
|
3635
|
+
header?: never;
|
|
3636
|
+
path?: never;
|
|
3520
3637
|
cookie?: never;
|
|
3521
3638
|
};
|
|
3522
3639
|
requestBody?: never;
|
|
3523
3640
|
responses: never;
|
|
3524
3641
|
};
|
|
3525
|
-
"
|
|
3642
|
+
"org.delete": {
|
|
3526
3643
|
parameters: {
|
|
3527
3644
|
query?: never;
|
|
3528
3645
|
header?: never;
|
|
3529
|
-
path
|
|
3530
|
-
id: string;
|
|
3531
|
-
sessionId: string;
|
|
3532
|
-
};
|
|
3646
|
+
path?: never;
|
|
3533
3647
|
cookie?: never;
|
|
3534
3648
|
};
|
|
3535
3649
|
requestBody?: never;
|
|
3536
3650
|
responses: never;
|
|
3537
3651
|
};
|
|
3538
|
-
"
|
|
3652
|
+
"org.update": {
|
|
3539
3653
|
parameters: {
|
|
3540
3654
|
query?: never;
|
|
3541
3655
|
header?: never;
|
|
3542
|
-
path
|
|
3543
|
-
id: string;
|
|
3544
|
-
sessionId: string;
|
|
3545
|
-
};
|
|
3656
|
+
path?: never;
|
|
3546
3657
|
cookie?: never;
|
|
3547
3658
|
};
|
|
3548
3659
|
requestBody?: {
|
|
3549
3660
|
content: {
|
|
3550
3661
|
"application/json": {
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3662
|
+
name?: string;
|
|
3663
|
+
/** Format: uri */
|
|
3664
|
+
logoImageUrl?: string;
|
|
3665
|
+
menuColor?: string;
|
|
3666
|
+
accentColor?: string;
|
|
3667
|
+
sharingBlockPublic?: boolean;
|
|
3668
|
+
settings?: {
|
|
3669
|
+
/** @description Whether users can only see other users in the same groups as them. */
|
|
3670
|
+
restrictGroupVisibility?: boolean;
|
|
3671
|
+
/** @description Whether the organization blocks public link sharing. */
|
|
3672
|
+
sharingBlockPublic?: boolean;
|
|
3673
|
+
/** @description Whether the organization blocks teachers from inviting new users. */
|
|
3674
|
+
sharingBlockTeachersInvitingUsers?: boolean;
|
|
3675
|
+
};
|
|
3557
3676
|
};
|
|
3558
3677
|
};
|
|
3559
3678
|
};
|
|
3560
3679
|
responses: never;
|
|
3561
3680
|
};
|
|
3562
|
-
"
|
|
3681
|
+
"org.customDomain.get": {
|
|
3563
3682
|
parameters: {
|
|
3564
3683
|
query?: never;
|
|
3565
3684
|
header?: never;
|
|
3566
|
-
path
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3685
|
+
path?: never;
|
|
3686
|
+
cookie?: never;
|
|
3687
|
+
};
|
|
3688
|
+
requestBody?: never;
|
|
3689
|
+
responses: never;
|
|
3690
|
+
};
|
|
3691
|
+
"org.customDomain.update": {
|
|
3692
|
+
parameters: {
|
|
3693
|
+
query?: never;
|
|
3694
|
+
header?: never;
|
|
3695
|
+
path?: never;
|
|
3570
3696
|
cookie?: never;
|
|
3571
3697
|
};
|
|
3572
3698
|
requestBody?: {
|
|
3573
3699
|
content: {
|
|
3574
3700
|
"application/json": {
|
|
3575
|
-
|
|
3576
|
-
feedback?: string | null;
|
|
3701
|
+
customDomain?: string | null;
|
|
3577
3702
|
};
|
|
3578
3703
|
};
|
|
3579
3704
|
};
|
|
3580
3705
|
responses: never;
|
|
3581
3706
|
};
|
|
3582
|
-
"
|
|
3707
|
+
"orgs.list": {
|
|
3583
3708
|
parameters: {
|
|
3584
3709
|
query?: never;
|
|
3585
3710
|
header?: never;
|
|
3586
|
-
path
|
|
3587
|
-
id: string;
|
|
3588
|
-
sessionId: string;
|
|
3589
|
-
};
|
|
3711
|
+
path?: never;
|
|
3590
3712
|
cookie?: never;
|
|
3591
3713
|
};
|
|
3592
3714
|
requestBody?: never;
|
|
3593
3715
|
responses: never;
|
|
3594
3716
|
};
|
|
3595
|
-
"
|
|
3717
|
+
"orgs.create": {
|
|
3596
3718
|
parameters: {
|
|
3597
3719
|
query?: never;
|
|
3598
3720
|
header?: never;
|
|
3599
|
-
path
|
|
3600
|
-
|
|
3601
|
-
|
|
3721
|
+
path?: never;
|
|
3722
|
+
cookie?: never;
|
|
3723
|
+
};
|
|
3724
|
+
requestBody?: {
|
|
3725
|
+
content: {
|
|
3726
|
+
"application/json": {
|
|
3727
|
+
name: string;
|
|
3728
|
+
};
|
|
3602
3729
|
};
|
|
3730
|
+
};
|
|
3731
|
+
responses: never;
|
|
3732
|
+
};
|
|
3733
|
+
"apiKeys.get": {
|
|
3734
|
+
parameters: {
|
|
3735
|
+
query?: never;
|
|
3736
|
+
header?: never;
|
|
3737
|
+
path?: never;
|
|
3603
3738
|
cookie?: never;
|
|
3604
3739
|
};
|
|
3605
3740
|
requestBody?: never;
|
|
3606
3741
|
responses: never;
|
|
3607
3742
|
};
|
|
3608
|
-
"
|
|
3743
|
+
"apiKeys.reset": {
|
|
3609
3744
|
parameters: {
|
|
3610
3745
|
query?: never;
|
|
3611
3746
|
header?: never;
|
|
3612
|
-
path
|
|
3613
|
-
id: string;
|
|
3614
|
-
sessionId: string;
|
|
3615
|
-
questionId: string;
|
|
3616
|
-
};
|
|
3747
|
+
path?: never;
|
|
3617
3748
|
cookie?: never;
|
|
3618
3749
|
};
|
|
3619
3750
|
requestBody?: never;
|
|
3620
3751
|
responses: never;
|
|
3621
3752
|
};
|
|
3622
|
-
"
|
|
3753
|
+
"attributes.list": {
|
|
3623
3754
|
parameters: {
|
|
3624
3755
|
query?: never;
|
|
3625
3756
|
header?: never;
|
|
3626
|
-
path
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3757
|
+
path?: never;
|
|
3758
|
+
cookie?: never;
|
|
3759
|
+
};
|
|
3760
|
+
requestBody?: never;
|
|
3761
|
+
responses: never;
|
|
3762
|
+
};
|
|
3763
|
+
"attributes.create": {
|
|
3764
|
+
parameters: {
|
|
3765
|
+
query?: never;
|
|
3766
|
+
header?: never;
|
|
3767
|
+
path?: never;
|
|
3631
3768
|
cookie?: never;
|
|
3632
3769
|
};
|
|
3633
3770
|
requestBody?: {
|
|
3634
3771
|
content: {
|
|
3635
3772
|
"application/json": {
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3773
|
+
name: string;
|
|
3774
|
+
/** @enum {string} */
|
|
3775
|
+
attributeType: "string" | "category" | "studentLevel" | "subject";
|
|
3776
|
+
options?: string[];
|
|
3777
|
+
showInStudentDashboard?: boolean;
|
|
3778
|
+
showAsStudentPreference?: boolean;
|
|
3779
|
+
position?: number;
|
|
3780
|
+
appearanceColor?: (string) | null;
|
|
3644
3781
|
};
|
|
3645
3782
|
};
|
|
3646
3783
|
};
|
|
3647
3784
|
responses: never;
|
|
3648
3785
|
};
|
|
3649
|
-
"
|
|
3786
|
+
"attributes.reorder": {
|
|
3650
3787
|
parameters: {
|
|
3651
3788
|
query?: never;
|
|
3652
3789
|
header?: never;
|
|
3653
|
-
path
|
|
3654
|
-
id: string;
|
|
3655
|
-
};
|
|
3790
|
+
path?: never;
|
|
3656
3791
|
cookie?: never;
|
|
3657
3792
|
};
|
|
3658
3793
|
requestBody?: {
|
|
3659
3794
|
content: {
|
|
3660
3795
|
"application/json": {
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
/** @description URL of the file, required if no content is specified. */
|
|
3666
|
-
url?: string;
|
|
3667
|
-
/** @description Content of the file as a string, as an alternative to URL. Only supported for exports from other systems (e.g. Moodle XML). */
|
|
3668
|
-
content?: string;
|
|
3669
|
-
/** @description Whether to keep existing exam settings when importing questions via AI. */
|
|
3670
|
-
keepExistingSettings?: boolean;
|
|
3796
|
+
order: {
|
|
3797
|
+
id: string;
|
|
3798
|
+
position: number;
|
|
3799
|
+
}[];
|
|
3671
3800
|
};
|
|
3672
3801
|
};
|
|
3673
3802
|
};
|
|
3674
3803
|
responses: never;
|
|
3675
3804
|
};
|
|
3676
|
-
"
|
|
3805
|
+
"attributes.update": {
|
|
3677
3806
|
parameters: {
|
|
3678
3807
|
query?: never;
|
|
3679
3808
|
header?: never;
|
|
@@ -3685,51 +3814,90 @@ interface operations {
|
|
|
3685
3814
|
requestBody?: {
|
|
3686
3815
|
content: {
|
|
3687
3816
|
"application/json": {
|
|
3688
|
-
|
|
3689
|
-
|
|
3817
|
+
name?: string;
|
|
3818
|
+
/** @enum {string} */
|
|
3819
|
+
attributeType?: "string" | "category" | "studentLevel" | "subject";
|
|
3820
|
+
options?: string[];
|
|
3821
|
+
showInStudentDashboard?: boolean;
|
|
3822
|
+
showAsStudentPreference?: boolean;
|
|
3823
|
+
position?: number;
|
|
3824
|
+
appearanceColor?: (string) | null;
|
|
3690
3825
|
};
|
|
3691
3826
|
};
|
|
3692
3827
|
};
|
|
3693
3828
|
responses: never;
|
|
3694
3829
|
};
|
|
3695
|
-
"
|
|
3830
|
+
"attributes.delete": {
|
|
3696
3831
|
parameters: {
|
|
3697
|
-
query?:
|
|
3698
|
-
/** @description The format to return the question in. `examplary_json` returns the question in the Examplary JSON format, while `qti_v3p0` and `qti_v2p1` return the question in QTI format version 3 and 2.1 respectively. */
|
|
3699
|
-
format?: "examplary_json" | "qti_v3p0" | "qti_v2p1";
|
|
3700
|
-
};
|
|
3832
|
+
query?: never;
|
|
3701
3833
|
header?: never;
|
|
3702
3834
|
path: {
|
|
3703
|
-
/** @description Exam ID, e.g. `exam_1234`. */
|
|
3704
3835
|
id: string;
|
|
3705
|
-
/** @description Question ID, e.g. `question_1234`, or `first` to get the first question. */
|
|
3706
|
-
questionId: string;
|
|
3707
3836
|
};
|
|
3708
3837
|
cookie?: never;
|
|
3709
3838
|
};
|
|
3710
3839
|
requestBody?: never;
|
|
3711
3840
|
responses: never;
|
|
3712
3841
|
};
|
|
3713
|
-
"
|
|
3842
|
+
"taxonomies.list": {
|
|
3843
|
+
parameters: {
|
|
3844
|
+
query?: never;
|
|
3845
|
+
header?: never;
|
|
3846
|
+
path?: never;
|
|
3847
|
+
cookie?: never;
|
|
3848
|
+
};
|
|
3849
|
+
requestBody?: never;
|
|
3850
|
+
responses: never;
|
|
3851
|
+
};
|
|
3852
|
+
"taxonomies.create": {
|
|
3853
|
+
parameters: {
|
|
3854
|
+
query?: never;
|
|
3855
|
+
header?: never;
|
|
3856
|
+
path?: never;
|
|
3857
|
+
cookie?: never;
|
|
3858
|
+
};
|
|
3859
|
+
requestBody?: {
|
|
3860
|
+
content: {
|
|
3861
|
+
"application/json": {
|
|
3862
|
+
name: string;
|
|
3863
|
+
description?: string;
|
|
3864
|
+
instructions?: string;
|
|
3865
|
+
levels: {
|
|
3866
|
+
name?: string;
|
|
3867
|
+
instructions?: string;
|
|
3868
|
+
}[];
|
|
3869
|
+
};
|
|
3870
|
+
};
|
|
3871
|
+
};
|
|
3872
|
+
responses: never;
|
|
3873
|
+
};
|
|
3874
|
+
"taxonomies.update": {
|
|
3714
3875
|
parameters: {
|
|
3715
3876
|
query?: never;
|
|
3716
3877
|
header?: never;
|
|
3717
3878
|
path: {
|
|
3718
3879
|
id: string;
|
|
3719
|
-
questionId: string;
|
|
3720
3880
|
};
|
|
3721
3881
|
cookie?: never;
|
|
3722
3882
|
};
|
|
3723
3883
|
requestBody?: {
|
|
3724
3884
|
content: {
|
|
3725
3885
|
"application/json": {
|
|
3726
|
-
|
|
3886
|
+
name: string;
|
|
3887
|
+
description?: string;
|
|
3888
|
+
instructions?: string;
|
|
3889
|
+
levels: {
|
|
3890
|
+
name?: string;
|
|
3891
|
+
instructions?: string;
|
|
3892
|
+
}[];
|
|
3893
|
+
} & {
|
|
3894
|
+
[key: string]: unknown;
|
|
3727
3895
|
};
|
|
3728
3896
|
};
|
|
3729
3897
|
};
|
|
3730
3898
|
responses: never;
|
|
3731
3899
|
};
|
|
3732
|
-
"
|
|
3900
|
+
"taxonomies.delete": {
|
|
3733
3901
|
parameters: {
|
|
3734
3902
|
query?: never;
|
|
3735
3903
|
header?: never;
|
|
@@ -3739,267 +3907,290 @@ interface operations {
|
|
|
3739
3907
|
cookie?: never;
|
|
3740
3908
|
};
|
|
3741
3909
|
requestBody?: never;
|
|
3910
|
+
responses: never;
|
|
3911
|
+
};
|
|
3912
|
+
"permissions.autocomplete": {
|
|
3913
|
+
parameters: {
|
|
3914
|
+
query: {
|
|
3915
|
+
/** @description Search query (min 3 characters) */
|
|
3916
|
+
q: string;
|
|
3917
|
+
/** @description Type of entity to search */
|
|
3918
|
+
type?: "user" | "group";
|
|
3919
|
+
};
|
|
3920
|
+
header?: never;
|
|
3921
|
+
path?: never;
|
|
3922
|
+
cookie?: never;
|
|
3923
|
+
};
|
|
3924
|
+
requestBody?: never;
|
|
3742
3925
|
responses: {
|
|
3743
|
-
/** @description
|
|
3926
|
+
/** @description List of matching users and groups. */
|
|
3744
3927
|
200: {
|
|
3745
3928
|
headers: {
|
|
3746
3929
|
[name: string]: unknown;
|
|
3747
3930
|
};
|
|
3748
|
-
content
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
url: string;
|
|
3755
|
-
};
|
|
3931
|
+
content?: never;
|
|
3932
|
+
};
|
|
3933
|
+
/** @description Query must be at least 3 characters. */
|
|
3934
|
+
400: {
|
|
3935
|
+
headers: {
|
|
3936
|
+
[name: string]: unknown;
|
|
3756
3937
|
};
|
|
3938
|
+
content?: never;
|
|
3757
3939
|
};
|
|
3758
3940
|
};
|
|
3759
3941
|
};
|
|
3760
|
-
"
|
|
3942
|
+
"permissions.list": {
|
|
3761
3943
|
parameters: {
|
|
3762
3944
|
query?: never;
|
|
3763
3945
|
header?: never;
|
|
3764
3946
|
path: {
|
|
3765
|
-
|
|
3947
|
+
/** @description The ID of the resource to list permissions for, e.g. `exam_1234`. */
|
|
3948
|
+
resource: string;
|
|
3766
3949
|
};
|
|
3767
3950
|
cookie?: never;
|
|
3768
3951
|
};
|
|
3769
3952
|
requestBody?: never;
|
|
3770
3953
|
responses: {
|
|
3771
|
-
/** @description
|
|
3954
|
+
/** @description List of permissions for the specified resource. */
|
|
3772
3955
|
200: {
|
|
3773
3956
|
headers: {
|
|
3774
3957
|
[name: string]: unknown;
|
|
3775
3958
|
};
|
|
3776
3959
|
content: {
|
|
3777
3960
|
"application/json": {
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
"exams.list": {
|
|
3789
|
-
parameters: {
|
|
3790
|
-
query?: {
|
|
3791
|
-
/** @description Optional filter by folder ID, e.g. `folder_1234`. */
|
|
3792
|
-
folder?: string;
|
|
3793
|
-
/** @description Optional filter by permission role. */
|
|
3794
|
-
role?: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3795
|
-
};
|
|
3796
|
-
header?: never;
|
|
3797
|
-
path?: never;
|
|
3798
|
-
cookie?: never;
|
|
3799
|
-
};
|
|
3800
|
-
requestBody?: never;
|
|
3801
|
-
responses: never;
|
|
3802
|
-
};
|
|
3803
|
-
"exams.create": {
|
|
3804
|
-
parameters: {
|
|
3805
|
-
query?: never;
|
|
3806
|
-
header?: never;
|
|
3807
|
-
path?: never;
|
|
3808
|
-
cookie?: never;
|
|
3809
|
-
};
|
|
3810
|
-
requestBody?: {
|
|
3811
|
-
content: {
|
|
3812
|
-
"application/json": {
|
|
3813
|
-
name: string;
|
|
3814
|
-
sourceMaterialIds?: string[] | null;
|
|
3815
|
-
context?: string | null;
|
|
3816
|
-
studentLevel?: string | null;
|
|
3817
|
-
subject?: string | null;
|
|
3818
|
-
language?: string | null;
|
|
3819
|
-
taxonomyId?: string | null;
|
|
3820
|
-
intendedDuration?: unknown | null;
|
|
3821
|
-
allowedGenerationQuestionTypes?: string[] | null;
|
|
3822
|
-
metadata?: {
|
|
3823
|
-
[key: string]: string | number | boolean | null;
|
|
3824
|
-
} | null;
|
|
3825
|
-
questions?: ({
|
|
3826
|
-
/** @description Question ID */
|
|
3827
|
-
id?: string;
|
|
3828
|
-
/** @description ID of the question type */
|
|
3829
|
-
type?: string;
|
|
3830
|
-
/** @description Title for the question (stem) */
|
|
3831
|
-
title?: string | null;
|
|
3832
|
-
/** @description Optional description for the question */
|
|
3833
|
-
description?: string | null;
|
|
3834
|
-
/** @description Settings for the question, often specific to the question type */
|
|
3835
|
-
settings?: {
|
|
3836
|
-
[key: string]: unknown;
|
|
3837
|
-
};
|
|
3838
|
-
/** @description Scoring configuration for the question */
|
|
3839
|
-
scoring?: {
|
|
3840
|
-
/** @description The type of rubric. Different rubric types have different shapes. */
|
|
3841
|
-
rubricType?: ("simple" | "analytical" | "holistic" | "exact-values") | null;
|
|
3842
|
-
/** @description The criteria for scoring the question. For 'simple' rubric type, criteria have no levels, and their points stack (total = sum of points for all criteria that apply). For 'analytical' rubric type, there should be at least one criteria, with levels. For each criteria, a matching level is picked. For 'holistic' rubric type, there should be multiple criteria, without levels (score = single selected criteria). For 'exact-values' rubric type, each criteria represents a specific value that must be matched exactly. */
|
|
3843
|
-
criteria?: {
|
|
3844
|
-
id: string;
|
|
3845
|
-
/** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
|
|
3846
|
-
title?: string | null;
|
|
3847
|
-
/** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
|
|
3848
|
-
description?: string | null;
|
|
3849
|
-
/** @description The default amount of points to assign if this criterion or level is selected. */
|
|
3850
|
-
points?: number | null;
|
|
3851
|
-
/** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
|
|
3852
|
-
minPoints?: number | null;
|
|
3853
|
-
/** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
|
|
3854
|
-
maxPoints?: number | null;
|
|
3855
|
-
/** @description The levels of a analytical rubric criterion. Each level represents a different point value and description for the same criterion. */
|
|
3856
|
-
levels?: {
|
|
3857
|
-
id: string;
|
|
3858
|
-
/** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
|
|
3859
|
-
title?: string | null;
|
|
3860
|
-
/** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
|
|
3861
|
-
description?: string | null;
|
|
3862
|
-
/** @description The default amount of points to assign if this criterion or level is selected. */
|
|
3863
|
-
points?: number | null;
|
|
3864
|
-
/** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
|
|
3865
|
-
minPoints?: number | null;
|
|
3866
|
-
/** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
|
|
3867
|
-
maxPoints?: number | null;
|
|
3868
|
-
}[] | null;
|
|
3869
|
-
}[] | null;
|
|
3870
|
-
/** @description Whether exact values matching should be case insensitive. Only applicable for 'exact-values' rubric type. */
|
|
3871
|
-
exactValuesCaseInsensitive?: boolean | null;
|
|
3872
|
-
/** @description Optional additional grading guidance text. */
|
|
3873
|
-
guidance?: string | null;
|
|
3874
|
-
/** @description Optional example model answer text to show to graders. */
|
|
3875
|
-
modelAnswer?: string | null;
|
|
3876
|
-
/** @description The ID of the scoring template applied, if any. */
|
|
3877
|
-
templateId?: string | null;
|
|
3878
|
-
} | null;
|
|
3879
|
-
/** @description Tags associated with the question for categorization and search */
|
|
3880
|
-
tags?: string[] | null;
|
|
3881
|
-
/** @description Optional external ID for the question, used to link to external systems */
|
|
3882
|
-
externalId?: string | null;
|
|
3883
|
-
/** @description Metadata for the question */
|
|
3884
|
-
metadata?: {
|
|
3885
|
-
[key: string]: string | number | boolean | null;
|
|
3886
|
-
} | null;
|
|
3887
|
-
/** @description Version number, incremented when question is edited */
|
|
3888
|
-
v?: number | null;
|
|
3889
|
-
/** @description ID of the question in the question bank */
|
|
3890
|
-
questionBankItemId?: string | null;
|
|
3891
|
-
/** @description Trace IDs for internal tracking of AI generation processes */
|
|
3892
|
-
traceIds?: string[] | null;
|
|
3893
|
-
} & {
|
|
3894
|
-
[key: string]: unknown;
|
|
3895
|
-
})[] | null;
|
|
3896
|
-
permissions?: {
|
|
3897
|
-
actor: string;
|
|
3961
|
+
actor: {
|
|
3962
|
+
id: string;
|
|
3963
|
+
name?: string;
|
|
3964
|
+
/** Format: uri */
|
|
3965
|
+
avatar?: string;
|
|
3966
|
+
/** @enum {string} */
|
|
3967
|
+
type: "user" | "group" | "org";
|
|
3968
|
+
/** @enum {string} */
|
|
3969
|
+
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
3970
|
+
};
|
|
3898
3971
|
/** @enum {string} */
|
|
3899
3972
|
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
3900
|
-
|
|
3973
|
+
/** Format: date-time */
|
|
3974
|
+
createdAt: string;
|
|
3975
|
+
/** Format: date-time */
|
|
3976
|
+
updatedAt: string;
|
|
3977
|
+
createdBy: string;
|
|
3978
|
+
}[];
|
|
3901
3979
|
};
|
|
3902
3980
|
};
|
|
3981
|
+
/** @description No access to this resource. */
|
|
3982
|
+
403: {
|
|
3983
|
+
headers: {
|
|
3984
|
+
[name: string]: unknown;
|
|
3985
|
+
};
|
|
3986
|
+
content?: never;
|
|
3987
|
+
};
|
|
3903
3988
|
};
|
|
3904
|
-
responses: never;
|
|
3905
3989
|
};
|
|
3906
|
-
"
|
|
3990
|
+
"permissions.assign": {
|
|
3907
3991
|
parameters: {
|
|
3908
3992
|
query?: never;
|
|
3909
3993
|
header?: never;
|
|
3910
|
-
path
|
|
3994
|
+
path: {
|
|
3995
|
+
/** @description The ID of the resource to assign the permission on, e.g. `exam_1234`. */
|
|
3996
|
+
resource: string;
|
|
3997
|
+
};
|
|
3911
3998
|
cookie?: never;
|
|
3912
3999
|
};
|
|
3913
4000
|
requestBody?: {
|
|
3914
4001
|
content: {
|
|
3915
4002
|
"application/json": {
|
|
3916
|
-
|
|
3917
|
-
|
|
4003
|
+
/** @description The ID of the actor to assign the permission to, e.g. `user_1234`, `group_1234` or `org_1234`. */
|
|
4004
|
+
actor: string;
|
|
4005
|
+
/** @enum {string} */
|
|
4006
|
+
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
4007
|
+
} | {
|
|
4008
|
+
/**
|
|
4009
|
+
* Format: email
|
|
4010
|
+
* @description The email of the user to add or invite.
|
|
4011
|
+
*/
|
|
4012
|
+
email: string;
|
|
4013
|
+
/** @enum {string} */
|
|
4014
|
+
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
4015
|
+
/**
|
|
4016
|
+
* @description Whether to send an invitation email if the user does not exist. Defaults to false.
|
|
4017
|
+
* @default false
|
|
4018
|
+
*/
|
|
4019
|
+
sendInvite?: boolean;
|
|
3918
4020
|
};
|
|
3919
4021
|
};
|
|
3920
4022
|
};
|
|
3921
|
-
responses:
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
4023
|
+
responses: {
|
|
4024
|
+
/** @description The created or updated permission. */
|
|
4025
|
+
201: {
|
|
4026
|
+
headers: {
|
|
4027
|
+
[name: string]: unknown;
|
|
4028
|
+
};
|
|
4029
|
+
content: {
|
|
4030
|
+
"application/json": {
|
|
4031
|
+
actor: {
|
|
4032
|
+
id: string;
|
|
4033
|
+
name?: string;
|
|
4034
|
+
/** Format: uri */
|
|
4035
|
+
avatar?: string;
|
|
4036
|
+
/** @enum {string} */
|
|
4037
|
+
type: "user" | "group" | "org";
|
|
4038
|
+
/** @enum {string} */
|
|
4039
|
+
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
4040
|
+
};
|
|
4041
|
+
/** @enum {string} */
|
|
4042
|
+
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
4043
|
+
/** Format: date-time */
|
|
4044
|
+
createdAt: string;
|
|
4045
|
+
/** Format: date-time */
|
|
4046
|
+
updatedAt: string;
|
|
4047
|
+
createdBy: string;
|
|
4048
|
+
};
|
|
4049
|
+
};
|
|
4050
|
+
};
|
|
4051
|
+
/** @description No access to manage this resource. */
|
|
4052
|
+
403: {
|
|
4053
|
+
headers: {
|
|
4054
|
+
[name: string]: unknown;
|
|
4055
|
+
};
|
|
4056
|
+
content?: never;
|
|
3929
4057
|
};
|
|
3930
|
-
cookie?: never;
|
|
3931
4058
|
};
|
|
3932
|
-
requestBody?: never;
|
|
3933
|
-
responses: never;
|
|
3934
4059
|
};
|
|
3935
|
-
"
|
|
4060
|
+
"permissions.getActorRole": {
|
|
3936
4061
|
parameters: {
|
|
3937
4062
|
query?: never;
|
|
3938
4063
|
header?: never;
|
|
3939
4064
|
path: {
|
|
3940
|
-
|
|
4065
|
+
/** @description The ID of the actor to check role for, e.g. `user_abcd`. */
|
|
4066
|
+
actor: ((string) | "me") | string;
|
|
4067
|
+
/** @description The ID of the resource to check role for, e.g. `exam_1234`. */
|
|
4068
|
+
resource: string;
|
|
3941
4069
|
};
|
|
3942
4070
|
cookie?: never;
|
|
3943
4071
|
};
|
|
3944
4072
|
requestBody?: never;
|
|
3945
|
-
responses:
|
|
4073
|
+
responses: {
|
|
4074
|
+
/** @description Role of the specified actor for the specified resource. */
|
|
4075
|
+
200: {
|
|
4076
|
+
headers: {
|
|
4077
|
+
[name: string]: unknown;
|
|
4078
|
+
};
|
|
4079
|
+
content: {
|
|
4080
|
+
"application/json": {
|
|
4081
|
+
actor: {
|
|
4082
|
+
id: string;
|
|
4083
|
+
name?: string;
|
|
4084
|
+
/** Format: uri */
|
|
4085
|
+
avatar?: string;
|
|
4086
|
+
/** @enum {string} */
|
|
4087
|
+
type: "user" | "group" | "org";
|
|
4088
|
+
/** @enum {string} */
|
|
4089
|
+
orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
4090
|
+
};
|
|
4091
|
+
/** @enum {string} */
|
|
4092
|
+
role: "owner" | "manager" | "editor" | "viewer" | "participant";
|
|
4093
|
+
/** Format: date-time */
|
|
4094
|
+
createdAt: string;
|
|
4095
|
+
/** Format: date-time */
|
|
4096
|
+
updatedAt: string;
|
|
4097
|
+
createdBy: string;
|
|
4098
|
+
};
|
|
4099
|
+
};
|
|
4100
|
+
};
|
|
4101
|
+
/** @description No access to this resource. */
|
|
4102
|
+
403: {
|
|
4103
|
+
headers: {
|
|
4104
|
+
[name: string]: unknown;
|
|
4105
|
+
};
|
|
4106
|
+
content?: never;
|
|
4107
|
+
};
|
|
4108
|
+
/** @description The specified actor has no access to the specified resource. */
|
|
4109
|
+
404: {
|
|
4110
|
+
headers: {
|
|
4111
|
+
[name: string]: unknown;
|
|
4112
|
+
};
|
|
4113
|
+
content?: never;
|
|
4114
|
+
};
|
|
4115
|
+
};
|
|
3946
4116
|
};
|
|
3947
|
-
"
|
|
4117
|
+
"permissions.delete": {
|
|
3948
4118
|
parameters: {
|
|
3949
4119
|
query?: never;
|
|
3950
4120
|
header?: never;
|
|
3951
4121
|
path: {
|
|
3952
|
-
|
|
4122
|
+
resource: string;
|
|
4123
|
+
actor: (string) | string;
|
|
3953
4124
|
};
|
|
3954
4125
|
cookie?: never;
|
|
3955
4126
|
};
|
|
3956
4127
|
requestBody?: never;
|
|
3957
|
-
responses:
|
|
4128
|
+
responses: {
|
|
4129
|
+
/** @description Permission successfully removed. */
|
|
4130
|
+
200: {
|
|
4131
|
+
headers: {
|
|
4132
|
+
[name: string]: unknown;
|
|
4133
|
+
};
|
|
4134
|
+
content?: never;
|
|
4135
|
+
};
|
|
4136
|
+
/** @description No access to manage this resource. */
|
|
4137
|
+
403: {
|
|
4138
|
+
headers: {
|
|
4139
|
+
[name: string]: unknown;
|
|
4140
|
+
};
|
|
4141
|
+
content?: never;
|
|
4142
|
+
};
|
|
4143
|
+
};
|
|
3958
4144
|
};
|
|
3959
|
-
"
|
|
4145
|
+
"studentLevels.list": {
|
|
3960
4146
|
parameters: {
|
|
3961
4147
|
query?: never;
|
|
3962
4148
|
header?: never;
|
|
3963
|
-
path
|
|
3964
|
-
id: string;
|
|
3965
|
-
};
|
|
4149
|
+
path?: never;
|
|
3966
4150
|
cookie?: never;
|
|
3967
4151
|
};
|
|
3968
|
-
requestBody?:
|
|
3969
|
-
content: {
|
|
3970
|
-
"application/json": {
|
|
3971
|
-
name: string;
|
|
3972
|
-
includeSessions?: boolean;
|
|
3973
|
-
};
|
|
3974
|
-
};
|
|
3975
|
-
};
|
|
4152
|
+
requestBody?: never;
|
|
3976
4153
|
responses: never;
|
|
3977
4154
|
};
|
|
3978
|
-
"
|
|
4155
|
+
"users.list": {
|
|
3979
4156
|
parameters: {
|
|
3980
4157
|
query?: never;
|
|
3981
4158
|
header?: never;
|
|
3982
|
-
path
|
|
3983
|
-
id: string;
|
|
3984
|
-
};
|
|
4159
|
+
path?: never;
|
|
3985
4160
|
cookie?: never;
|
|
3986
4161
|
};
|
|
3987
4162
|
requestBody?: never;
|
|
3988
4163
|
responses: never;
|
|
3989
4164
|
};
|
|
3990
|
-
"
|
|
4165
|
+
"users.create": {
|
|
3991
4166
|
parameters: {
|
|
3992
4167
|
query?: never;
|
|
3993
4168
|
header?: never;
|
|
3994
|
-
path
|
|
3995
|
-
id: string;
|
|
3996
|
-
};
|
|
4169
|
+
path?: never;
|
|
3997
4170
|
cookie?: never;
|
|
3998
4171
|
};
|
|
3999
|
-
requestBody?:
|
|
4172
|
+
requestBody?: {
|
|
4173
|
+
content: {
|
|
4174
|
+
"application/json": {
|
|
4175
|
+
/** Format: email */
|
|
4176
|
+
email: string;
|
|
4177
|
+
name?: string;
|
|
4178
|
+
/**
|
|
4179
|
+
* @default teacher
|
|
4180
|
+
* @enum {string}
|
|
4181
|
+
*/
|
|
4182
|
+
role?: "owner" | "admin" | "teacher" | "student" | "member";
|
|
4183
|
+
/**
|
|
4184
|
+
* @description Whether to send an invitation email. Defaults to false.
|
|
4185
|
+
* @default false
|
|
4186
|
+
*/
|
|
4187
|
+
sendInvite?: boolean;
|
|
4188
|
+
};
|
|
4189
|
+
};
|
|
4190
|
+
};
|
|
4000
4191
|
responses: never;
|
|
4001
4192
|
};
|
|
4002
|
-
"
|
|
4193
|
+
"users.delete": {
|
|
4003
4194
|
parameters: {
|
|
4004
4195
|
query?: never;
|
|
4005
4196
|
header?: never;
|
|
@@ -4011,7 +4202,7 @@ interface operations {
|
|
|
4011
4202
|
requestBody?: never;
|
|
4012
4203
|
responses: never;
|
|
4013
4204
|
};
|
|
4014
|
-
"
|
|
4205
|
+
"users.update": {
|
|
4015
4206
|
parameters: {
|
|
4016
4207
|
query?: never;
|
|
4017
4208
|
header?: never;
|
|
@@ -4434,6 +4625,18 @@ interface operations {
|
|
|
4434
4625
|
} & {
|
|
4435
4626
|
[key: string]: unknown;
|
|
4436
4627
|
};
|
|
4628
|
+
externalId?: string;
|
|
4629
|
+
parentSourceMaterialId?: string;
|
|
4630
|
+
summary?: string;
|
|
4631
|
+
factsCount?: number;
|
|
4632
|
+
/** @enum {string} */
|
|
4633
|
+
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4634
|
+
numberOfPages?: number;
|
|
4635
|
+
chapterMarkers?: {
|
|
4636
|
+
title: string;
|
|
4637
|
+
startPage: number;
|
|
4638
|
+
endPage: number;
|
|
4639
|
+
}[];
|
|
4437
4640
|
convertedSourceV2?: {
|
|
4438
4641
|
/** Format: uri */
|
|
4439
4642
|
url: string;
|
|
@@ -4456,20 +4659,8 @@ interface operations {
|
|
|
4456
4659
|
} & {
|
|
4457
4660
|
[key: string]: unknown;
|
|
4458
4661
|
};
|
|
4459
|
-
externalId?: string;
|
|
4460
|
-
parentSourceMaterialId?: string;
|
|
4461
|
-
cacheName?: string;
|
|
4462
|
-
summary?: string;
|
|
4463
|
-
factsCount?: number;
|
|
4464
|
-
/** @enum {string} */
|
|
4465
|
-
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4466
|
-
numberOfPages?: number;
|
|
4467
|
-
chapterMarkers?: {
|
|
4468
|
-
title: string;
|
|
4469
|
-
startPage: number;
|
|
4470
|
-
endPage: number;
|
|
4471
|
-
}[];
|
|
4472
4662
|
topics?: unknown;
|
|
4663
|
+
cacheName?: string;
|
|
4473
4664
|
}[];
|
|
4474
4665
|
};
|
|
4475
4666
|
};
|
|
@@ -4528,6 +4719,18 @@ interface operations {
|
|
|
4528
4719
|
} & {
|
|
4529
4720
|
[key: string]: unknown;
|
|
4530
4721
|
};
|
|
4722
|
+
externalId?: string;
|
|
4723
|
+
parentSourceMaterialId?: string;
|
|
4724
|
+
summary?: string;
|
|
4725
|
+
factsCount?: number;
|
|
4726
|
+
/** @enum {string} */
|
|
4727
|
+
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4728
|
+
numberOfPages?: number;
|
|
4729
|
+
chapterMarkers?: {
|
|
4730
|
+
title: string;
|
|
4731
|
+
startPage: number;
|
|
4732
|
+
endPage: number;
|
|
4733
|
+
}[];
|
|
4531
4734
|
convertedSourceV2?: {
|
|
4532
4735
|
/** Format: uri */
|
|
4533
4736
|
url: string;
|
|
@@ -4550,20 +4753,8 @@ interface operations {
|
|
|
4550
4753
|
} & {
|
|
4551
4754
|
[key: string]: unknown;
|
|
4552
4755
|
};
|
|
4553
|
-
externalId?: string;
|
|
4554
|
-
parentSourceMaterialId?: string;
|
|
4555
|
-
cacheName?: string;
|
|
4556
|
-
summary?: string;
|
|
4557
|
-
factsCount?: number;
|
|
4558
|
-
/** @enum {string} */
|
|
4559
|
-
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4560
|
-
numberOfPages?: number;
|
|
4561
|
-
chapterMarkers?: {
|
|
4562
|
-
title: string;
|
|
4563
|
-
startPage: number;
|
|
4564
|
-
endPage: number;
|
|
4565
|
-
}[];
|
|
4566
4756
|
topics?: unknown;
|
|
4757
|
+
cacheName?: string;
|
|
4567
4758
|
};
|
|
4568
4759
|
};
|
|
4569
4760
|
};
|
|
@@ -4608,6 +4799,18 @@ interface operations {
|
|
|
4608
4799
|
} & {
|
|
4609
4800
|
[key: string]: unknown;
|
|
4610
4801
|
};
|
|
4802
|
+
externalId?: string;
|
|
4803
|
+
parentSourceMaterialId?: string;
|
|
4804
|
+
summary?: string;
|
|
4805
|
+
factsCount?: number;
|
|
4806
|
+
/** @enum {string} */
|
|
4807
|
+
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4808
|
+
numberOfPages?: number;
|
|
4809
|
+
chapterMarkers?: {
|
|
4810
|
+
title: string;
|
|
4811
|
+
startPage: number;
|
|
4812
|
+
endPage: number;
|
|
4813
|
+
}[];
|
|
4611
4814
|
convertedSourceV2?: {
|
|
4612
4815
|
/** Format: uri */
|
|
4613
4816
|
url: string;
|
|
@@ -4630,20 +4833,8 @@ interface operations {
|
|
|
4630
4833
|
} & {
|
|
4631
4834
|
[key: string]: unknown;
|
|
4632
4835
|
};
|
|
4633
|
-
externalId?: string;
|
|
4634
|
-
parentSourceMaterialId?: string;
|
|
4635
|
-
cacheName?: string;
|
|
4636
|
-
summary?: string;
|
|
4637
|
-
factsCount?: number;
|
|
4638
|
-
/** @enum {string} */
|
|
4639
|
-
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4640
|
-
numberOfPages?: number;
|
|
4641
|
-
chapterMarkers?: {
|
|
4642
|
-
title: string;
|
|
4643
|
-
startPage: number;
|
|
4644
|
-
endPage: number;
|
|
4645
|
-
}[];
|
|
4646
4836
|
topics?: unknown;
|
|
4837
|
+
cacheName?: string;
|
|
4647
4838
|
};
|
|
4648
4839
|
};
|
|
4649
4840
|
};
|
|
@@ -4730,6 +4921,18 @@ interface operations {
|
|
|
4730
4921
|
} & {
|
|
4731
4922
|
[key: string]: unknown;
|
|
4732
4923
|
};
|
|
4924
|
+
externalId?: string;
|
|
4925
|
+
parentSourceMaterialId?: string;
|
|
4926
|
+
summary?: string;
|
|
4927
|
+
factsCount?: number;
|
|
4928
|
+
/** @enum {string} */
|
|
4929
|
+
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4930
|
+
numberOfPages?: number;
|
|
4931
|
+
chapterMarkers?: {
|
|
4932
|
+
title: string;
|
|
4933
|
+
startPage: number;
|
|
4934
|
+
endPage: number;
|
|
4935
|
+
}[];
|
|
4733
4936
|
convertedSourceV2?: {
|
|
4734
4937
|
/** Format: uri */
|
|
4735
4938
|
url: string;
|
|
@@ -4752,20 +4955,8 @@ interface operations {
|
|
|
4752
4955
|
} & {
|
|
4753
4956
|
[key: string]: unknown;
|
|
4754
4957
|
};
|
|
4755
|
-
externalId?: string;
|
|
4756
|
-
parentSourceMaterialId?: string;
|
|
4757
|
-
cacheName?: string;
|
|
4758
|
-
summary?: string;
|
|
4759
|
-
factsCount?: number;
|
|
4760
|
-
/** @enum {string} */
|
|
4761
|
-
processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
|
|
4762
|
-
numberOfPages?: number;
|
|
4763
|
-
chapterMarkers?: {
|
|
4764
|
-
title: string;
|
|
4765
|
-
startPage: number;
|
|
4766
|
-
endPage: number;
|
|
4767
|
-
}[];
|
|
4768
4958
|
topics?: unknown;
|
|
4959
|
+
cacheName?: string;
|
|
4769
4960
|
};
|
|
4770
4961
|
};
|
|
4771
4962
|
};
|
|
@@ -5528,38 +5719,6 @@ interface _PathOverrides {
|
|
|
5528
5719
|
"embedSessions.revoke": {
|
|
5529
5720
|
id: string;
|
|
5530
5721
|
};
|
|
5531
|
-
"attributes.update": {
|
|
5532
|
-
id: string;
|
|
5533
|
-
};
|
|
5534
|
-
"attributes.delete": {
|
|
5535
|
-
id: string;
|
|
5536
|
-
};
|
|
5537
|
-
"taxonomies.update": {
|
|
5538
|
-
id: string;
|
|
5539
|
-
};
|
|
5540
|
-
"taxonomies.delete": {
|
|
5541
|
-
id: string;
|
|
5542
|
-
};
|
|
5543
|
-
"permissions.list": {
|
|
5544
|
-
resource: string;
|
|
5545
|
-
};
|
|
5546
|
-
"permissions.assign": {
|
|
5547
|
-
resource: string;
|
|
5548
|
-
};
|
|
5549
|
-
"permissions.getActorRole": {
|
|
5550
|
-
actor: string;
|
|
5551
|
-
resource: string;
|
|
5552
|
-
};
|
|
5553
|
-
"permissions.delete": {
|
|
5554
|
-
resource: string;
|
|
5555
|
-
actor: string;
|
|
5556
|
-
};
|
|
5557
|
-
"users.update": {
|
|
5558
|
-
id: string;
|
|
5559
|
-
};
|
|
5560
|
-
"users.delete": {
|
|
5561
|
-
id: string;
|
|
5562
|
-
};
|
|
5563
5722
|
"exams.sessions.list": {
|
|
5564
5723
|
examId: string;
|
|
5565
5724
|
};
|
|
@@ -5606,6 +5765,24 @@ interface _PathOverrides {
|
|
|
5606
5765
|
sessionId: string;
|
|
5607
5766
|
questionId: string;
|
|
5608
5767
|
};
|
|
5768
|
+
"exams.sessions.comments.list": {
|
|
5769
|
+
examId: string;
|
|
5770
|
+
sessionId: string;
|
|
5771
|
+
};
|
|
5772
|
+
"exams.sessions.comments.create": {
|
|
5773
|
+
examId: string;
|
|
5774
|
+
sessionId: string;
|
|
5775
|
+
};
|
|
5776
|
+
"exams.sessions.comments.update": {
|
|
5777
|
+
examId: string;
|
|
5778
|
+
sessionId: string;
|
|
5779
|
+
commentId: string;
|
|
5780
|
+
};
|
|
5781
|
+
"exams.sessions.comments.delete": {
|
|
5782
|
+
examId: string;
|
|
5783
|
+
sessionId: string;
|
|
5784
|
+
commentId: string;
|
|
5785
|
+
};
|
|
5609
5786
|
"exams.questions.import": {
|
|
5610
5787
|
examId: string;
|
|
5611
5788
|
};
|
|
@@ -5650,6 +5827,38 @@ interface _PathOverrides {
|
|
|
5650
5827
|
"exams.getContextSuggestions": {
|
|
5651
5828
|
examId: string;
|
|
5652
5829
|
};
|
|
5830
|
+
"attributes.update": {
|
|
5831
|
+
id: string;
|
|
5832
|
+
};
|
|
5833
|
+
"attributes.delete": {
|
|
5834
|
+
id: string;
|
|
5835
|
+
};
|
|
5836
|
+
"taxonomies.update": {
|
|
5837
|
+
id: string;
|
|
5838
|
+
};
|
|
5839
|
+
"taxonomies.delete": {
|
|
5840
|
+
id: string;
|
|
5841
|
+
};
|
|
5842
|
+
"permissions.list": {
|
|
5843
|
+
resource: string;
|
|
5844
|
+
};
|
|
5845
|
+
"permissions.assign": {
|
|
5846
|
+
resource: string;
|
|
5847
|
+
};
|
|
5848
|
+
"permissions.getActorRole": {
|
|
5849
|
+
actor: string;
|
|
5850
|
+
resource: string;
|
|
5851
|
+
};
|
|
5852
|
+
"permissions.delete": {
|
|
5853
|
+
resource: string;
|
|
5854
|
+
actor: string;
|
|
5855
|
+
};
|
|
5856
|
+
"users.update": {
|
|
5857
|
+
id: string;
|
|
5858
|
+
};
|
|
5859
|
+
"users.delete": {
|
|
5860
|
+
id: string;
|
|
5861
|
+
};
|
|
5653
5862
|
"practiceSpaces.get": {
|
|
5654
5863
|
id: string;
|
|
5655
5864
|
};
|
|
@@ -6017,553 +6226,590 @@ declare class EmbedSessions {
|
|
|
6017
6226
|
revoke(id: string, options?: ExamplaryRequestOptions): Promise<Response<"embedSessions.revoke">>;
|
|
6018
6227
|
revoke(args: Args<"embedSessions.revoke">, options?: ExamplaryRequestOptions): Promise<Response<"embedSessions.revoke">>;
|
|
6019
6228
|
}
|
|
6020
|
-
declare class
|
|
6229
|
+
declare class ExamsSessionsComments {
|
|
6021
6230
|
private readonly ctx;
|
|
6022
6231
|
constructor(ctx: ClientContext);
|
|
6023
6232
|
/**
|
|
6024
|
-
*
|
|
6233
|
+
* List session comments
|
|
6025
6234
|
*
|
|
6026
|
-
* Get
|
|
6235
|
+
* Get a list of all comments left on a student's assessment session.
|
|
6027
6236
|
*
|
|
6028
|
-
* API endpoint: `GET /
|
|
6237
|
+
* API endpoint: `GET /exams/{examId}/sessions/{sessionId}/comments`
|
|
6029
6238
|
*/
|
|
6030
|
-
|
|
6239
|
+
list(args: Args<"exams.sessions.comments.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.list">>;
|
|
6031
6240
|
/**
|
|
6032
|
-
*
|
|
6241
|
+
* Create session comment
|
|
6033
6242
|
*
|
|
6034
|
-
*
|
|
6243
|
+
* Add a new comment to a question in a student's assessment session.
|
|
6035
6244
|
*
|
|
6036
|
-
* API endpoint: `
|
|
6245
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/comments`
|
|
6037
6246
|
*/
|
|
6038
|
-
|
|
6039
|
-
}
|
|
6040
|
-
declare class Media {
|
|
6041
|
-
private readonly ctx;
|
|
6042
|
-
constructor(ctx: ClientContext);
|
|
6247
|
+
create(args: Args<"exams.sessions.comments.create">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.create">>;
|
|
6043
6248
|
/**
|
|
6044
|
-
*
|
|
6249
|
+
* Update session comment
|
|
6045
6250
|
*
|
|
6046
|
-
*
|
|
6251
|
+
* Edit the body of an existing session comment.
|
|
6047
6252
|
*
|
|
6048
|
-
* API endpoint: `
|
|
6253
|
+
* API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}/comments/{commentId}`
|
|
6049
6254
|
*/
|
|
6050
|
-
|
|
6255
|
+
update(args: Args<"exams.sessions.comments.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.update">>;
|
|
6256
|
+
/**
|
|
6257
|
+
* Delete session comment
|
|
6258
|
+
*
|
|
6259
|
+
* Remove a comment from a session.
|
|
6260
|
+
*
|
|
6261
|
+
* API endpoint: `DELETE /exams/{examId}/sessions/{sessionId}/comments/{commentId}`
|
|
6262
|
+
*/
|
|
6263
|
+
delete(args: Args<"exams.sessions.comments.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.delete">>;
|
|
6051
6264
|
}
|
|
6052
|
-
declare class
|
|
6265
|
+
declare class ExamsSessions {
|
|
6053
6266
|
private readonly ctx;
|
|
6267
|
+
readonly comments: ExamsSessionsComments;
|
|
6054
6268
|
constructor(ctx: ClientContext);
|
|
6055
6269
|
/**
|
|
6056
|
-
*
|
|
6270
|
+
* List exam sessions
|
|
6057
6271
|
*
|
|
6058
|
-
*
|
|
6272
|
+
* Get a list of all student sessions for an exam, representing a set of answers from a student.
|
|
6273
|
+
*
|
|
6274
|
+
* API endpoint: `GET /exams/{examId}/sessions`
|
|
6059
6275
|
*/
|
|
6060
|
-
|
|
6276
|
+
list(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.list">>;
|
|
6277
|
+
list(args: Args<"exams.sessions.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.list">>;
|
|
6061
6278
|
/**
|
|
6062
|
-
*
|
|
6279
|
+
* Create session
|
|
6063
6280
|
*
|
|
6064
|
-
*
|
|
6281
|
+
* Manually create a session, possibly from uploaded data.
|
|
6282
|
+
*
|
|
6283
|
+
* API endpoint: `POST /exams/{examId}/sessions`
|
|
6065
6284
|
*/
|
|
6066
|
-
|
|
6067
|
-
}
|
|
6068
|
-
declare class Org {
|
|
6069
|
-
private readonly ctx;
|
|
6070
|
-
readonly customDomain: OrgCustomDomain;
|
|
6071
|
-
constructor(ctx: ClientContext);
|
|
6285
|
+
import(args: Args<"exams.sessions.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.import">>;
|
|
6072
6286
|
/**
|
|
6073
|
-
* Get
|
|
6287
|
+
* Get answers from scan
|
|
6074
6288
|
*
|
|
6075
|
-
*
|
|
6289
|
+
* Scan student answers from a document.
|
|
6290
|
+
*
|
|
6291
|
+
* API endpoint: `POST /exams/{examId}/sessions/scan`
|
|
6076
6292
|
*/
|
|
6077
|
-
|
|
6293
|
+
scan(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scan">>;
|
|
6294
|
+
scan(args: Args<"exams.sessions.scan">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scan">>;
|
|
6078
6295
|
/**
|
|
6079
|
-
*
|
|
6296
|
+
* Scan document for student answers
|
|
6080
6297
|
*
|
|
6081
|
-
*
|
|
6298
|
+
* Start a background task to extract student answers from an uploaded PDF document.
|
|
6299
|
+
*
|
|
6300
|
+
* API endpoint: `POST /exams/{examId}/sessions/scan-document`
|
|
6082
6301
|
*/
|
|
6083
|
-
|
|
6302
|
+
scanDocument(args: Args<"exams.sessions.scanDocument">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scanDocument">>;
|
|
6084
6303
|
/**
|
|
6085
|
-
*
|
|
6304
|
+
* Get exam session
|
|
6086
6305
|
*
|
|
6087
|
-
*
|
|
6306
|
+
* Get a single exam session by its ID, representing a set of answers from a student.
|
|
6307
|
+
*
|
|
6308
|
+
* API endpoint: `GET /exams/{examId}/sessions/{sessionId}`
|
|
6088
6309
|
*/
|
|
6089
|
-
|
|
6090
|
-
}
|
|
6091
|
-
declare class Orgs {
|
|
6092
|
-
private readonly ctx;
|
|
6093
|
-
constructor(ctx: ClientContext);
|
|
6310
|
+
get(args: Args<"exams.sessions.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.get">>;
|
|
6094
6311
|
/**
|
|
6095
|
-
*
|
|
6312
|
+
* Delete exam session
|
|
6096
6313
|
*
|
|
6097
|
-
*
|
|
6314
|
+
* Remove an exam session.
|
|
6315
|
+
*
|
|
6316
|
+
* API endpoint: `DELETE /exams/{examId}/sessions/{sessionId}`
|
|
6098
6317
|
*/
|
|
6099
|
-
|
|
6318
|
+
delete(args: Args<"exams.sessions.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.delete">>;
|
|
6100
6319
|
/**
|
|
6101
|
-
*
|
|
6320
|
+
* Provide feedback
|
|
6102
6321
|
*
|
|
6103
|
-
*
|
|
6322
|
+
* Set teacher feedback and/or a grade for a specific question in an exam session.
|
|
6104
6323
|
*
|
|
6105
|
-
* API endpoint: `POST /
|
|
6324
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/feedback`
|
|
6106
6325
|
*/
|
|
6107
|
-
|
|
6108
|
-
}
|
|
6109
|
-
declare class ApiKeys {
|
|
6110
|
-
private readonly ctx;
|
|
6111
|
-
constructor(ctx: ClientContext);
|
|
6326
|
+
saveFeedback(args: Args<"exams.sessions.saveFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.saveFeedback">>;
|
|
6112
6327
|
/**
|
|
6113
|
-
*
|
|
6328
|
+
* Provide overall feedback
|
|
6114
6329
|
*
|
|
6115
|
-
*
|
|
6330
|
+
* Set teacher feedback for the test as a whole in an exam session.
|
|
6116
6331
|
*
|
|
6117
|
-
* API endpoint: `
|
|
6332
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/overall-feedback`
|
|
6118
6333
|
*/
|
|
6119
|
-
|
|
6334
|
+
saveOverallFeedback(args: Args<"exams.sessions.saveOverallFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.saveOverallFeedback">>;
|
|
6120
6335
|
/**
|
|
6121
|
-
*
|
|
6336
|
+
* Generate overall feedback
|
|
6122
6337
|
*
|
|
6123
|
-
*
|
|
6338
|
+
* Generate feedback for the test as a whole in an exam session.
|
|
6124
6339
|
*
|
|
6125
|
-
* API endpoint: `POST /
|
|
6340
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/generate-overall-feedback`
|
|
6126
6341
|
*/
|
|
6127
|
-
|
|
6128
|
-
}
|
|
6129
|
-
declare class Attributes {
|
|
6130
|
-
private readonly ctx;
|
|
6131
|
-
constructor(ctx: ClientContext);
|
|
6342
|
+
generateOverallFeedback(args: Args<"exams.sessions.generateOverallFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.generateOverallFeedback">>;
|
|
6132
6343
|
/**
|
|
6133
|
-
*
|
|
6344
|
+
* Accept AI grading suggestions
|
|
6134
6345
|
*
|
|
6135
|
-
*
|
|
6346
|
+
* Accept all AI-generated grading suggestions for the exam session.
|
|
6136
6347
|
*
|
|
6137
|
-
* API endpoint: `
|
|
6348
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/accept-all`
|
|
6138
6349
|
*/
|
|
6139
|
-
|
|
6350
|
+
acceptAllSuggestions(args: Args<"exams.sessions.acceptAllSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.acceptAllSuggestions">>;
|
|
6140
6351
|
/**
|
|
6141
|
-
*
|
|
6352
|
+
* Accept single AI grading suggestion
|
|
6142
6353
|
*
|
|
6143
|
-
*
|
|
6354
|
+
* Accept a single AI-generated grading suggestion for the exam session.
|
|
6144
6355
|
*
|
|
6145
|
-
* API endpoint: `POST /
|
|
6356
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/{questionId}/accept`
|
|
6146
6357
|
*/
|
|
6147
|
-
|
|
6358
|
+
acceptSuggestion(args: Args<"exams.sessions.acceptSuggestion">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.acceptSuggestion">>;
|
|
6148
6359
|
/**
|
|
6149
|
-
*
|
|
6360
|
+
* Edit answer
|
|
6150
6361
|
*
|
|
6151
|
-
*
|
|
6362
|
+
* Edit a single answer in an exam session.
|
|
6152
6363
|
*
|
|
6153
|
-
* API endpoint: `
|
|
6364
|
+
* API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}/answers/{questionId}`
|
|
6154
6365
|
*/
|
|
6155
|
-
|
|
6366
|
+
editAnswer(args: Args<"exams.sessions.editAnswer">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.editAnswer">>;
|
|
6367
|
+
}
|
|
6368
|
+
declare class ExamsQuestions {
|
|
6369
|
+
private readonly ctx;
|
|
6370
|
+
constructor(ctx: ClientContext);
|
|
6156
6371
|
/**
|
|
6157
|
-
*
|
|
6372
|
+
* Import questions
|
|
6158
6373
|
*
|
|
6159
|
-
*
|
|
6374
|
+
* Import questions into an exam from a file. Support Word, PDF, Moodle quiz XML and plain text files.
|
|
6160
6375
|
*
|
|
6161
|
-
* API endpoint: `POST /
|
|
6376
|
+
* API endpoint: `POST /exams/{examId}/questions/import`
|
|
6162
6377
|
*/
|
|
6163
|
-
|
|
6378
|
+
import(args: Args<"exams.questions.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.import">>;
|
|
6164
6379
|
/**
|
|
6165
|
-
*
|
|
6380
|
+
* Generate question
|
|
6166
6381
|
*
|
|
6167
|
-
*
|
|
6382
|
+
* Generate a new question for the exam using an AI prompt.
|
|
6168
6383
|
*
|
|
6169
|
-
* API endpoint: `
|
|
6384
|
+
* API endpoint: `POST /exams/{examId}/questions/generate`
|
|
6170
6385
|
*/
|
|
6171
|
-
|
|
6172
|
-
delete(args: Args<"attributes.delete">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.delete">>;
|
|
6173
|
-
}
|
|
6174
|
-
declare class Taxonomies {
|
|
6175
|
-
private readonly ctx;
|
|
6176
|
-
constructor(ctx: ClientContext);
|
|
6386
|
+
generate(args: Args<"exams.questions.generate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.generate">>;
|
|
6177
6387
|
/**
|
|
6178
|
-
* Get
|
|
6388
|
+
* Get question
|
|
6179
6389
|
*
|
|
6180
|
-
*
|
|
6390
|
+
* Retrieve a question by its ID.
|
|
6181
6391
|
*
|
|
6182
|
-
* API endpoint: `GET /
|
|
6392
|
+
* API endpoint: `GET /exams/{examId}/questions/{questionId}`
|
|
6183
6393
|
*/
|
|
6184
|
-
|
|
6394
|
+
get(args: Args<"exams.questions.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.get">>;
|
|
6185
6395
|
/**
|
|
6186
|
-
*
|
|
6396
|
+
* Regenerate question
|
|
6187
6397
|
*
|
|
6188
|
-
*
|
|
6398
|
+
* Update a question using an AI prompt.
|
|
6189
6399
|
*
|
|
6190
|
-
* API endpoint: `POST /
|
|
6400
|
+
* API endpoint: `POST /exams/{examId}/questions/{questionId}/generate`
|
|
6191
6401
|
*/
|
|
6192
|
-
|
|
6402
|
+
regenerate(args: Args<"exams.questions.regenerate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.regenerate">>;
|
|
6403
|
+
}
|
|
6404
|
+
declare class ExamsExport {
|
|
6405
|
+
private readonly ctx;
|
|
6406
|
+
constructor(ctx: ClientContext);
|
|
6193
6407
|
/**
|
|
6194
|
-
*
|
|
6408
|
+
* Export QTI 3 package
|
|
6195
6409
|
*
|
|
6196
|
-
*
|
|
6410
|
+
* Export an exam as a QTI 3 ZIP package.
|
|
6197
6411
|
*
|
|
6198
|
-
* API endpoint: `POST /
|
|
6412
|
+
* API endpoint: `POST /exams/{examId}/export/qti3-zip`
|
|
6199
6413
|
*/
|
|
6200
|
-
|
|
6414
|
+
qti3Zip(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti3Zip">>;
|
|
6415
|
+
qti3Zip(args: Args<"exams.export.qti3Zip">, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti3Zip">>;
|
|
6201
6416
|
/**
|
|
6202
|
-
*
|
|
6417
|
+
* Export QTI 2.1 package
|
|
6203
6418
|
*
|
|
6204
|
-
*
|
|
6419
|
+
* Export an exam as a QTI 2.1 ZIP package.
|
|
6205
6420
|
*
|
|
6206
|
-
* API endpoint: `
|
|
6421
|
+
* API endpoint: `POST /exams/{examId}/export/qti21-zip`
|
|
6207
6422
|
*/
|
|
6208
|
-
|
|
6209
|
-
|
|
6423
|
+
qti21Zip(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti21Zip">>;
|
|
6424
|
+
qti21Zip(args: Args<"exams.export.qti21Zip">, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti21Zip">>;
|
|
6210
6425
|
}
|
|
6211
|
-
declare class
|
|
6426
|
+
declare class Exams {
|
|
6212
6427
|
private readonly ctx;
|
|
6428
|
+
readonly sessions: ExamsSessions;
|
|
6429
|
+
readonly questions: ExamsQuestions;
|
|
6430
|
+
readonly export: ExamsExport;
|
|
6213
6431
|
constructor(ctx: ClientContext);
|
|
6214
6432
|
/**
|
|
6215
|
-
*
|
|
6433
|
+
* List exams
|
|
6216
6434
|
*
|
|
6217
|
-
*
|
|
6435
|
+
* Get a list of all exams within your workspace.
|
|
6218
6436
|
*
|
|
6219
|
-
* API endpoint: `GET /
|
|
6437
|
+
* API endpoint: `GET /exams`
|
|
6220
6438
|
*/
|
|
6221
|
-
|
|
6439
|
+
list(args?: Args<"exams.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.list">>;
|
|
6222
6440
|
/**
|
|
6223
|
-
*
|
|
6441
|
+
* Create exam
|
|
6224
6442
|
*
|
|
6225
|
-
*
|
|
6443
|
+
* Create a new exam within your workspace.
|
|
6226
6444
|
*
|
|
6227
|
-
* API endpoint: `
|
|
6445
|
+
* API endpoint: `POST /exams`
|
|
6228
6446
|
*/
|
|
6229
|
-
|
|
6230
|
-
list(args: Args<"permissions.list">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6447
|
+
create(args?: Args<"exams.create">, options?: ExamplaryRequestOptions): Promise<Response<"exams.create">>;
|
|
6231
6448
|
/**
|
|
6232
|
-
*
|
|
6449
|
+
* Import exam
|
|
6233
6450
|
*
|
|
6234
|
-
* Create
|
|
6451
|
+
* Create an exam by importing one or more source materials (e.g. an existing exam).
|
|
6235
6452
|
*
|
|
6236
|
-
* API endpoint: `POST /
|
|
6453
|
+
* API endpoint: `POST /exams/import`
|
|
6237
6454
|
*/
|
|
6238
|
-
|
|
6455
|
+
import(args?: Args<"exams.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.import">>;
|
|
6239
6456
|
/**
|
|
6240
|
-
* Get
|
|
6457
|
+
* Get exam
|
|
6241
6458
|
*
|
|
6242
|
-
* Get
|
|
6459
|
+
* Get a single exam by its ID.
|
|
6243
6460
|
*
|
|
6244
|
-
* API endpoint: `GET /
|
|
6461
|
+
* API endpoint: `GET /exams/{id}`
|
|
6245
6462
|
*/
|
|
6246
|
-
|
|
6463
|
+
get(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.get">>;
|
|
6464
|
+
get(args: Args<"exams.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.get">>;
|
|
6247
6465
|
/**
|
|
6248
|
-
*
|
|
6466
|
+
* Update exam
|
|
6249
6467
|
*
|
|
6250
|
-
*
|
|
6468
|
+
* Update an existing exam.
|
|
6251
6469
|
*
|
|
6252
|
-
* API endpoint: `
|
|
6470
|
+
* API endpoint: `POST /exams/{id}`
|
|
6253
6471
|
*/
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
declare class StudentLevels {
|
|
6257
|
-
private readonly ctx;
|
|
6258
|
-
constructor(ctx: ClientContext);
|
|
6472
|
+
update(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6473
|
+
update(args: Args<"exams.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6259
6474
|
/**
|
|
6260
|
-
*
|
|
6475
|
+
* Delete exam
|
|
6261
6476
|
*
|
|
6262
|
-
*
|
|
6477
|
+
* Delete the exam.
|
|
6263
6478
|
*
|
|
6264
|
-
* API endpoint: `
|
|
6479
|
+
* API endpoint: `DELETE /exams/{id}`
|
|
6265
6480
|
*/
|
|
6266
|
-
|
|
6267
|
-
|
|
6268
|
-
declare class Users {
|
|
6269
|
-
private readonly ctx;
|
|
6270
|
-
constructor(ctx: ClientContext);
|
|
6481
|
+
delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.delete">>;
|
|
6482
|
+
delete(args: Args<"exams.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.delete">>;
|
|
6271
6483
|
/**
|
|
6272
|
-
*
|
|
6484
|
+
* Duplicate exam
|
|
6273
6485
|
*
|
|
6274
|
-
*
|
|
6486
|
+
* Duplicate the exam's questions and settings to a new exam.
|
|
6275
6487
|
*
|
|
6276
|
-
* API endpoint: `
|
|
6488
|
+
* API endpoint: `POST /exams/{examId}/duplicate`
|
|
6277
6489
|
*/
|
|
6278
|
-
|
|
6490
|
+
duplicate(args: Args<"exams.duplicate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.duplicate">>;
|
|
6279
6491
|
/**
|
|
6280
|
-
*
|
|
6492
|
+
* Print exam
|
|
6281
6493
|
*
|
|
6282
|
-
*
|
|
6494
|
+
* Export an exam to a PDF file or Word document.
|
|
6283
6495
|
*
|
|
6284
|
-
* API endpoint: `POST /
|
|
6496
|
+
* API endpoint: `POST /exams/{examId}/print`
|
|
6285
6497
|
*/
|
|
6286
|
-
|
|
6498
|
+
print(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.print">>;
|
|
6499
|
+
print(args: Args<"exams.print">, options?: ExamplaryRequestOptions): Promise<Response<"exams.print">>;
|
|
6287
6500
|
/**
|
|
6288
|
-
*
|
|
6501
|
+
* Generate exam
|
|
6289
6502
|
*
|
|
6290
|
-
*
|
|
6503
|
+
* Initiate a job to generate new questions for the exam using AI, based on the source materials and metadata specified.
|
|
6291
6504
|
*
|
|
6292
|
-
* API endpoint: `
|
|
6505
|
+
* API endpoint: `POST /exams/{examId}/generate`
|
|
6293
6506
|
*/
|
|
6294
|
-
|
|
6295
|
-
|
|
6507
|
+
startGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6508
|
+
startGeneration(args: Args<"exams.startGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6296
6509
|
/**
|
|
6297
|
-
*
|
|
6510
|
+
* Cancel exam generation
|
|
6298
6511
|
*
|
|
6299
|
-
*
|
|
6512
|
+
* Cancel an ongoing job to generate new questions for the exam using AI.
|
|
6300
6513
|
*
|
|
6301
|
-
* API endpoint: `
|
|
6514
|
+
* API endpoint: `POST /exams/{examId}/generate/cancel`
|
|
6302
6515
|
*/
|
|
6303
|
-
|
|
6304
|
-
|
|
6516
|
+
cancelGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6517
|
+
cancelGeneration(args: Args<"exams.cancelGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6518
|
+
/**
|
|
6519
|
+
* Get exam context suggestions
|
|
6520
|
+
*
|
|
6521
|
+
* Get AI-generated suggestions for context/instructions to include in the exam generation prompt, based on the source materials linked to the exam.
|
|
6522
|
+
*
|
|
6523
|
+
* API endpoint: `GET /exams/{examId}/context-suggestions`
|
|
6524
|
+
*/
|
|
6525
|
+
getContextSuggestions(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
|
|
6526
|
+
getContextSuggestions(args: Args<"exams.getContextSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
|
|
6305
6527
|
}
|
|
6306
|
-
declare class
|
|
6528
|
+
declare class Me {
|
|
6307
6529
|
private readonly ctx;
|
|
6308
6530
|
constructor(ctx: ClientContext);
|
|
6309
6531
|
/**
|
|
6310
|
-
*
|
|
6532
|
+
* Get me
|
|
6311
6533
|
*
|
|
6312
|
-
* Get
|
|
6534
|
+
* Get the current user's account details.
|
|
6313
6535
|
*
|
|
6314
|
-
* API endpoint: `GET /
|
|
6536
|
+
* API endpoint: `GET /me`
|
|
6315
6537
|
*/
|
|
6316
|
-
|
|
6317
|
-
list(args: Args<"exams.sessions.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.list">>;
|
|
6538
|
+
get(args?: Args<"me.get">, options?: ExamplaryRequestOptions): Promise<Response<"me.get">>;
|
|
6318
6539
|
/**
|
|
6319
|
-
*
|
|
6540
|
+
* Update me
|
|
6320
6541
|
*
|
|
6321
|
-
*
|
|
6542
|
+
* Update the current user's account details.
|
|
6322
6543
|
*
|
|
6323
|
-
* API endpoint: `
|
|
6544
|
+
* API endpoint: `PATCH /me`
|
|
6324
6545
|
*/
|
|
6325
|
-
|
|
6546
|
+
update(args?: Args<"me.update">, options?: ExamplaryRequestOptions): Promise<Response<"me.update">>;
|
|
6547
|
+
}
|
|
6548
|
+
declare class Media {
|
|
6549
|
+
private readonly ctx;
|
|
6550
|
+
constructor(ctx: ClientContext);
|
|
6326
6551
|
/**
|
|
6327
|
-
* Get
|
|
6552
|
+
* Get file upload URL
|
|
6328
6553
|
*
|
|
6329
|
-
*
|
|
6554
|
+
* Returns a signed URL for uploading a file, and a public URL for accessing it afterwards.
|
|
6330
6555
|
*
|
|
6331
|
-
* API endpoint: `
|
|
6556
|
+
* API endpoint: `GET /media/upload`
|
|
6332
6557
|
*/
|
|
6333
|
-
|
|
6334
|
-
|
|
6558
|
+
upload(args: Args$1, options?: ExamplaryRequestOptions): Promise<Response$1>;
|
|
6559
|
+
}
|
|
6560
|
+
declare class OrgCustomDomain {
|
|
6561
|
+
private readonly ctx;
|
|
6562
|
+
constructor(ctx: ClientContext);
|
|
6335
6563
|
/**
|
|
6336
|
-
*
|
|
6337
|
-
*
|
|
6338
|
-
* Start a background task to extract student answers from an uploaded PDF document.
|
|
6564
|
+
* Get custom domain configuration
|
|
6339
6565
|
*
|
|
6340
|
-
* API endpoint: `
|
|
6566
|
+
* API endpoint: `GET /org/custom-domain`
|
|
6341
6567
|
*/
|
|
6342
|
-
|
|
6568
|
+
get(args?: Args<"org.customDomain.get">, options?: ExamplaryRequestOptions): Promise<Response<"org.customDomain.get">>;
|
|
6343
6569
|
/**
|
|
6344
|
-
*
|
|
6345
|
-
*
|
|
6346
|
-
* Get a single exam session by its ID, representing a set of answers from a student.
|
|
6570
|
+
* Update custom domain configuration
|
|
6347
6571
|
*
|
|
6348
|
-
* API endpoint: `
|
|
6572
|
+
* API endpoint: `POST /org/custom-domain`
|
|
6349
6573
|
*/
|
|
6350
|
-
|
|
6574
|
+
update(args?: Args<"org.customDomain.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.customDomain.update">>;
|
|
6575
|
+
}
|
|
6576
|
+
declare class Org {
|
|
6577
|
+
private readonly ctx;
|
|
6578
|
+
readonly customDomain: OrgCustomDomain;
|
|
6579
|
+
constructor(ctx: ClientContext);
|
|
6351
6580
|
/**
|
|
6352
|
-
*
|
|
6353
|
-
*
|
|
6354
|
-
* Remove an exam session.
|
|
6581
|
+
* Get organization
|
|
6355
6582
|
*
|
|
6356
|
-
* API endpoint: `
|
|
6583
|
+
* API endpoint: `GET /org`
|
|
6357
6584
|
*/
|
|
6358
|
-
|
|
6585
|
+
get(args?: Args<"org.get">, options?: ExamplaryRequestOptions): Promise<Response<"org.get">>;
|
|
6359
6586
|
/**
|
|
6360
|
-
*
|
|
6361
|
-
*
|
|
6362
|
-
* Set teacher feedback and/or a grade for a specific question in an exam session.
|
|
6587
|
+
* Update organization
|
|
6363
6588
|
*
|
|
6364
|
-
* API endpoint: `
|
|
6589
|
+
* API endpoint: `PATCH /org`
|
|
6365
6590
|
*/
|
|
6366
|
-
|
|
6591
|
+
update(args?: Args<"org.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.update">>;
|
|
6367
6592
|
/**
|
|
6368
|
-
*
|
|
6369
|
-
*
|
|
6370
|
-
* Set teacher feedback for the test as a whole in an exam session.
|
|
6593
|
+
* Delete organization
|
|
6371
6594
|
*
|
|
6372
|
-
* API endpoint: `
|
|
6595
|
+
* API endpoint: `DELETE /org`
|
|
6373
6596
|
*/
|
|
6374
|
-
|
|
6597
|
+
delete(args?: Args<"org.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.delete">>;
|
|
6598
|
+
}
|
|
6599
|
+
declare class Orgs {
|
|
6600
|
+
private readonly ctx;
|
|
6601
|
+
constructor(ctx: ClientContext);
|
|
6375
6602
|
/**
|
|
6376
|
-
*
|
|
6377
|
-
*
|
|
6378
|
-
* Generate feedback for the test as a whole in an exam session.
|
|
6603
|
+
* List all organizations
|
|
6379
6604
|
*
|
|
6380
|
-
* API endpoint: `
|
|
6605
|
+
* API endpoint: `GET /orgs`
|
|
6381
6606
|
*/
|
|
6382
|
-
|
|
6607
|
+
list(args?: Args<"orgs.list">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.list">>;
|
|
6383
6608
|
/**
|
|
6384
|
-
*
|
|
6609
|
+
* Create a new organization
|
|
6385
6610
|
*
|
|
6386
|
-
*
|
|
6611
|
+
* Create a new workspace to collaborate with others on exams.
|
|
6387
6612
|
*
|
|
6388
|
-
* API endpoint: `POST /
|
|
6613
|
+
* API endpoint: `POST /orgs`
|
|
6389
6614
|
*/
|
|
6390
|
-
|
|
6615
|
+
create(args?: Args<"orgs.create">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.create">>;
|
|
6616
|
+
}
|
|
6617
|
+
declare class ApiKeys {
|
|
6618
|
+
private readonly ctx;
|
|
6619
|
+
constructor(ctx: ClientContext);
|
|
6391
6620
|
/**
|
|
6392
|
-
*
|
|
6621
|
+
* Get API key
|
|
6393
6622
|
*
|
|
6394
|
-
*
|
|
6623
|
+
* Get the API key for the current org/user combination. Creates one if none exists.
|
|
6395
6624
|
*
|
|
6396
|
-
* API endpoint: `
|
|
6625
|
+
* API endpoint: `GET /api-keys`
|
|
6397
6626
|
*/
|
|
6398
|
-
|
|
6627
|
+
get(args?: Args<"apiKeys.get">, options?: ExamplaryRequestOptions): Promise<Response<"apiKeys.get">>;
|
|
6399
6628
|
/**
|
|
6400
|
-
*
|
|
6629
|
+
* Reset API key
|
|
6401
6630
|
*
|
|
6402
|
-
*
|
|
6631
|
+
* Invalidate old API keys for this org/user and create a new one.
|
|
6403
6632
|
*
|
|
6404
|
-
* API endpoint: `
|
|
6633
|
+
* API endpoint: `POST /api-keys/reset`
|
|
6405
6634
|
*/
|
|
6406
|
-
|
|
6635
|
+
reset(args?: Args<"apiKeys.reset">, options?: ExamplaryRequestOptions): Promise<Response<"apiKeys.reset">>;
|
|
6407
6636
|
}
|
|
6408
|
-
declare class
|
|
6637
|
+
declare class Attributes {
|
|
6409
6638
|
private readonly ctx;
|
|
6410
6639
|
constructor(ctx: ClientContext);
|
|
6411
6640
|
/**
|
|
6412
|
-
*
|
|
6641
|
+
* List attributes
|
|
6413
6642
|
*
|
|
6414
|
-
*
|
|
6643
|
+
* Get all custom attributes configured for the current workspace.
|
|
6415
6644
|
*
|
|
6416
|
-
* API endpoint: `
|
|
6645
|
+
* API endpoint: `GET /attributes`
|
|
6417
6646
|
*/
|
|
6418
|
-
|
|
6647
|
+
list(args?: Args<"attributes.list">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.list">>;
|
|
6419
6648
|
/**
|
|
6420
|
-
*
|
|
6649
|
+
* Create attribute
|
|
6421
6650
|
*
|
|
6422
|
-
*
|
|
6651
|
+
* Create a new custom attribute in the current workspace.
|
|
6423
6652
|
*
|
|
6424
|
-
* API endpoint: `POST /
|
|
6653
|
+
* API endpoint: `POST /attributes`
|
|
6425
6654
|
*/
|
|
6426
|
-
|
|
6655
|
+
create(args?: Args<"attributes.create">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.create">>;
|
|
6427
6656
|
/**
|
|
6428
|
-
*
|
|
6657
|
+
* Reorder attributes
|
|
6429
6658
|
*
|
|
6430
|
-
*
|
|
6659
|
+
* Update the position of multiple attributes at once.
|
|
6431
6660
|
*
|
|
6432
|
-
* API endpoint: `
|
|
6661
|
+
* API endpoint: `POST /attributes/reorder`
|
|
6433
6662
|
*/
|
|
6434
|
-
|
|
6663
|
+
reorder(args?: Args<"attributes.reorder">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.reorder">>;
|
|
6435
6664
|
/**
|
|
6436
|
-
*
|
|
6665
|
+
* Update attribute
|
|
6437
6666
|
*
|
|
6438
|
-
* Update
|
|
6667
|
+
* Update an existing attribute in the current workspace.
|
|
6439
6668
|
*
|
|
6440
|
-
* API endpoint: `POST /
|
|
6669
|
+
* API endpoint: `POST /attributes/{id}`
|
|
6441
6670
|
*/
|
|
6442
|
-
|
|
6671
|
+
update(args: Args<"attributes.update">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.update">>;
|
|
6672
|
+
/**
|
|
6673
|
+
* Delete attribute
|
|
6674
|
+
*
|
|
6675
|
+
* Delete a custom attribute from the current workspace. Default attributes cannot be deleted.
|
|
6676
|
+
*
|
|
6677
|
+
* API endpoint: `DELETE /attributes/{id}`
|
|
6678
|
+
*/
|
|
6679
|
+
delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<"attributes.delete">>;
|
|
6680
|
+
delete(args: Args<"attributes.delete">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.delete">>;
|
|
6443
6681
|
}
|
|
6444
|
-
declare class
|
|
6682
|
+
declare class Taxonomies {
|
|
6445
6683
|
private readonly ctx;
|
|
6446
6684
|
constructor(ctx: ClientContext);
|
|
6447
6685
|
/**
|
|
6448
|
-
*
|
|
6686
|
+
* Get taxonomies
|
|
6449
6687
|
*
|
|
6450
|
-
*
|
|
6688
|
+
* Get a list available taxonomies, including defaults and taxonomies created in the current workspace.
|
|
6451
6689
|
*
|
|
6452
|
-
* API endpoint: `
|
|
6690
|
+
* API endpoint: `GET /taxonomies`
|
|
6453
6691
|
*/
|
|
6454
|
-
|
|
6455
|
-
qti3Zip(args: Args<"exams.export.qti3Zip">, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti3Zip">>;
|
|
6692
|
+
list(args?: Args<"taxonomies.list">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.list">>;
|
|
6456
6693
|
/**
|
|
6457
|
-
*
|
|
6694
|
+
* Create taxonomy
|
|
6458
6695
|
*
|
|
6459
|
-
*
|
|
6696
|
+
* Save a new taxonomy in the current workspace.
|
|
6460
6697
|
*
|
|
6461
|
-
* API endpoint: `POST /
|
|
6698
|
+
* API endpoint: `POST /taxonomies`
|
|
6462
6699
|
*/
|
|
6463
|
-
|
|
6464
|
-
qti21Zip(args: Args<"exams.export.qti21Zip">, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti21Zip">>;
|
|
6465
|
-
}
|
|
6466
|
-
declare class Exams {
|
|
6467
|
-
private readonly ctx;
|
|
6468
|
-
readonly sessions: ExamsSessions;
|
|
6469
|
-
readonly questions: ExamsQuestions;
|
|
6470
|
-
readonly export: ExamsExport;
|
|
6471
|
-
constructor(ctx: ClientContext);
|
|
6700
|
+
create(args?: Args<"taxonomies.create">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.create">>;
|
|
6472
6701
|
/**
|
|
6473
|
-
*
|
|
6702
|
+
* Update taxonomy
|
|
6474
6703
|
*
|
|
6475
|
-
*
|
|
6704
|
+
* Update an existing taxonomy in the current workspace.
|
|
6476
6705
|
*
|
|
6477
|
-
* API endpoint: `
|
|
6706
|
+
* API endpoint: `POST /taxonomies/{id}`
|
|
6478
6707
|
*/
|
|
6479
|
-
|
|
6708
|
+
update(args: Args<"taxonomies.update">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.update">>;
|
|
6480
6709
|
/**
|
|
6481
|
-
*
|
|
6710
|
+
* Delete taxonomy
|
|
6482
6711
|
*
|
|
6483
|
-
*
|
|
6712
|
+
* Delete a taxonomy from the current workspace. This fails if there are any exams associated with the taxonomy.
|
|
6484
6713
|
*
|
|
6485
|
-
* API endpoint: `
|
|
6714
|
+
* API endpoint: `DELETE /taxonomies/{id}`
|
|
6486
6715
|
*/
|
|
6487
|
-
|
|
6716
|
+
delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.delete">>;
|
|
6717
|
+
delete(args: Args<"taxonomies.delete">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.delete">>;
|
|
6718
|
+
}
|
|
6719
|
+
declare class Permissions {
|
|
6720
|
+
private readonly ctx;
|
|
6721
|
+
constructor(ctx: ClientContext);
|
|
6488
6722
|
/**
|
|
6489
|
-
*
|
|
6723
|
+
* Autocomplete users and groups
|
|
6490
6724
|
*
|
|
6491
|
-
*
|
|
6725
|
+
* Search for users and groups to share with. Returns matches by name or email. Respects restricted group visibility.
|
|
6492
6726
|
*
|
|
6493
|
-
* API endpoint: `
|
|
6727
|
+
* API endpoint: `GET /permissions/autocomplete`
|
|
6494
6728
|
*/
|
|
6495
|
-
|
|
6729
|
+
autocomplete(args: Args<"permissions.autocomplete">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.autocomplete">>;
|
|
6496
6730
|
/**
|
|
6497
|
-
* Get
|
|
6731
|
+
* Get sharing permissions
|
|
6498
6732
|
*
|
|
6499
|
-
* Get a
|
|
6733
|
+
* Get a list of users, groups and orgs that have access to a specific resource.
|
|
6500
6734
|
*
|
|
6501
|
-
* API endpoint: `GET /
|
|
6735
|
+
* API endpoint: `GET /permissions/{resource}`
|
|
6502
6736
|
*/
|
|
6503
|
-
|
|
6504
|
-
|
|
6737
|
+
list(resource: string, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6738
|
+
list(args: Args<"permissions.list">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6505
6739
|
/**
|
|
6506
|
-
*
|
|
6740
|
+
* Create permission
|
|
6507
6741
|
*
|
|
6508
|
-
*
|
|
6742
|
+
* Create a new permission for a specific resource, or update the role of an existing actor.
|
|
6509
6743
|
*
|
|
6510
|
-
* API endpoint: `POST /
|
|
6744
|
+
* API endpoint: `POST /permissions/{resource}`
|
|
6511
6745
|
*/
|
|
6512
|
-
|
|
6513
|
-
update(args: Args<"exams.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6746
|
+
assign(args: Args<"permissions.assign">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.assign">>;
|
|
6514
6747
|
/**
|
|
6515
|
-
*
|
|
6748
|
+
* Get actor role
|
|
6516
6749
|
*
|
|
6517
|
-
*
|
|
6750
|
+
* Get the role of a specific actor for a specific resource.
|
|
6518
6751
|
*
|
|
6519
|
-
* API endpoint: `
|
|
6752
|
+
* API endpoint: `GET /permissions/{resource}/{actor}`
|
|
6520
6753
|
*/
|
|
6521
|
-
|
|
6522
|
-
delete(args: Args<"exams.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.delete">>;
|
|
6754
|
+
getActorRole(args: Args<"permissions.getActorRole">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.getActorRole">>;
|
|
6523
6755
|
/**
|
|
6524
|
-
*
|
|
6756
|
+
* Remove permission
|
|
6525
6757
|
*
|
|
6526
|
-
*
|
|
6758
|
+
* Remove a permission for a specific actor on a specific resource.
|
|
6527
6759
|
*
|
|
6528
|
-
* API endpoint: `
|
|
6760
|
+
* API endpoint: `DELETE /permissions/{resource}/{actor}`
|
|
6529
6761
|
*/
|
|
6530
|
-
|
|
6762
|
+
delete(args: Args<"permissions.delete">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.delete">>;
|
|
6763
|
+
}
|
|
6764
|
+
declare class StudentLevels {
|
|
6765
|
+
private readonly ctx;
|
|
6766
|
+
constructor(ctx: ClientContext);
|
|
6531
6767
|
/**
|
|
6532
|
-
*
|
|
6768
|
+
* List available student levels
|
|
6533
6769
|
*
|
|
6534
|
-
*
|
|
6770
|
+
* Get a list of available default student levels.
|
|
6535
6771
|
*
|
|
6536
|
-
* API endpoint: `
|
|
6772
|
+
* API endpoint: `GET /student-levels`
|
|
6537
6773
|
*/
|
|
6538
|
-
|
|
6539
|
-
|
|
6774
|
+
list(args?: Args<"studentLevels.list">, options?: ExamplaryRequestOptions): Promise<Response<"studentLevels.list">>;
|
|
6775
|
+
}
|
|
6776
|
+
declare class Users {
|
|
6777
|
+
private readonly ctx;
|
|
6778
|
+
constructor(ctx: ClientContext);
|
|
6540
6779
|
/**
|
|
6541
|
-
*
|
|
6780
|
+
* List users
|
|
6542
6781
|
*
|
|
6543
|
-
*
|
|
6782
|
+
* Get a list of all users in the workspace.
|
|
6544
6783
|
*
|
|
6545
|
-
* API endpoint: `
|
|
6784
|
+
* API endpoint: `GET /users`
|
|
6546
6785
|
*/
|
|
6547
|
-
|
|
6548
|
-
startGeneration(args: Args<"exams.startGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6786
|
+
list(args?: Args<"users.list">, options?: ExamplaryRequestOptions): Promise<Response<"users.list">>;
|
|
6549
6787
|
/**
|
|
6550
|
-
*
|
|
6788
|
+
* Create user
|
|
6551
6789
|
*
|
|
6552
|
-
*
|
|
6790
|
+
* Create a new user in the workspace.
|
|
6553
6791
|
*
|
|
6554
|
-
* API endpoint: `POST /
|
|
6792
|
+
* API endpoint: `POST /users`
|
|
6555
6793
|
*/
|
|
6556
|
-
|
|
6557
|
-
cancelGeneration(args: Args<"exams.cancelGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6794
|
+
create(args?: Args<"users.create">, options?: ExamplaryRequestOptions): Promise<Response<"users.create">>;
|
|
6558
6795
|
/**
|
|
6559
|
-
*
|
|
6796
|
+
* Update user role
|
|
6560
6797
|
*
|
|
6561
|
-
*
|
|
6798
|
+
* Update a user's role within the workspace.
|
|
6562
6799
|
*
|
|
6563
|
-
* API endpoint: `
|
|
6800
|
+
* API endpoint: `PATCH /users/{id}`
|
|
6564
6801
|
*/
|
|
6565
|
-
|
|
6566
|
-
|
|
6802
|
+
update(id: string, options?: ExamplaryRequestOptions): Promise<Response<"users.update">>;
|
|
6803
|
+
update(args: Args<"users.update">, options?: ExamplaryRequestOptions): Promise<Response<"users.update">>;
|
|
6804
|
+
/**
|
|
6805
|
+
* Delete user
|
|
6806
|
+
*
|
|
6807
|
+
* Delete a user from the workspace.
|
|
6808
|
+
*
|
|
6809
|
+
* API endpoint: `DELETE /users/{id}`
|
|
6810
|
+
*/
|
|
6811
|
+
delete(id: string, options?: ExamplaryRequestOptions): Promise<Response<"users.delete">>;
|
|
6812
|
+
delete(args: Args<"users.delete">, options?: ExamplaryRequestOptions): Promise<Response<"users.delete">>;
|
|
6567
6813
|
}
|
|
6568
6814
|
declare class PracticeSpacesStudents {
|
|
6569
6815
|
private readonly ctx;
|
|
@@ -6949,6 +7195,7 @@ declare class Examplary {
|
|
|
6949
7195
|
readonly library: Library;
|
|
6950
7196
|
readonly oauth: Oauth;
|
|
6951
7197
|
readonly embedSessions: EmbedSessions;
|
|
7198
|
+
readonly exams: Exams;
|
|
6952
7199
|
readonly me: Me;
|
|
6953
7200
|
readonly media: Media;
|
|
6954
7201
|
readonly org: Org;
|
|
@@ -6959,7 +7206,6 @@ declare class Examplary {
|
|
|
6959
7206
|
readonly permissions: Permissions;
|
|
6960
7207
|
readonly studentLevels: StudentLevels;
|
|
6961
7208
|
readonly users: Users;
|
|
6962
|
-
readonly exams: Exams;
|
|
6963
7209
|
readonly practiceSpaces: PracticeSpaces;
|
|
6964
7210
|
readonly sourceMaterials: SourceMaterials;
|
|
6965
7211
|
readonly folders: Folders;
|