@examplary/sdk 2.2.1 → 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 +1605 -1348
- package/dist/index.d.ts +1605 -1348
- package/dist/index.js +201 -143
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +201 -143
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
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,252 +3283,291 @@ 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
|
-
};
|
|
3444
|
+
}[] | null;
|
|
3258
3445
|
};
|
|
3259
3446
|
};
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3447
|
+
};
|
|
3448
|
+
responses: never;
|
|
3449
|
+
};
|
|
3450
|
+
"exams.import": {
|
|
3451
|
+
parameters: {
|
|
3452
|
+
query?: never;
|
|
3453
|
+
header?: never;
|
|
3454
|
+
path?: never;
|
|
3455
|
+
cookie?: never;
|
|
3456
|
+
};
|
|
3457
|
+
requestBody?: {
|
|
3458
|
+
content: {
|
|
3459
|
+
"application/json": {
|
|
3460
|
+
name: string;
|
|
3461
|
+
sourceMaterialIds?: string[];
|
|
3264
3462
|
};
|
|
3265
|
-
content?: never;
|
|
3266
3463
|
};
|
|
3267
3464
|
};
|
|
3465
|
+
responses: never;
|
|
3268
3466
|
};
|
|
3269
|
-
"
|
|
3467
|
+
"exams.get": {
|
|
3270
3468
|
parameters: {
|
|
3271
3469
|
query?: never;
|
|
3272
3470
|
header?: never;
|
|
3273
3471
|
path: {
|
|
3274
|
-
|
|
3275
|
-
actor: ((string) | "me") | string;
|
|
3276
|
-
/** @description The ID of the resource to check role for, e.g. `exam_1234`. */
|
|
3277
|
-
resource: string;
|
|
3472
|
+
id: string;
|
|
3278
3473
|
};
|
|
3279
3474
|
cookie?: never;
|
|
3280
3475
|
};
|
|
3281
3476
|
requestBody?: never;
|
|
3282
|
-
responses:
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
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
|
-
};
|
|
3477
|
+
responses: never;
|
|
3478
|
+
};
|
|
3479
|
+
"exams.update": {
|
|
3480
|
+
parameters: {
|
|
3481
|
+
query?: never;
|
|
3482
|
+
header?: never;
|
|
3483
|
+
path: {
|
|
3484
|
+
id: string;
|
|
3309
3485
|
};
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3486
|
+
cookie?: never;
|
|
3487
|
+
};
|
|
3488
|
+
requestBody?: never;
|
|
3489
|
+
responses: never;
|
|
3490
|
+
};
|
|
3491
|
+
"exams.delete": {
|
|
3492
|
+
parameters: {
|
|
3493
|
+
query?: never;
|
|
3494
|
+
header?: never;
|
|
3495
|
+
path: {
|
|
3496
|
+
id: string;
|
|
3316
3497
|
};
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3498
|
+
cookie?: never;
|
|
3499
|
+
};
|
|
3500
|
+
requestBody?: never;
|
|
3501
|
+
responses: never;
|
|
3502
|
+
};
|
|
3503
|
+
"exams.duplicate": {
|
|
3504
|
+
parameters: {
|
|
3505
|
+
query?: never;
|
|
3506
|
+
header?: never;
|
|
3507
|
+
path: {
|
|
3508
|
+
id: string;
|
|
3509
|
+
};
|
|
3510
|
+
cookie?: never;
|
|
3511
|
+
};
|
|
3512
|
+
requestBody?: {
|
|
3513
|
+
content: {
|
|
3514
|
+
"application/json": {
|
|
3515
|
+
name: string;
|
|
3516
|
+
includeSessions?: boolean;
|
|
3321
3517
|
};
|
|
3322
|
-
content?: never;
|
|
3323
3518
|
};
|
|
3324
3519
|
};
|
|
3520
|
+
responses: never;
|
|
3325
3521
|
};
|
|
3326
|
-
"
|
|
3522
|
+
"exams.print": {
|
|
3327
3523
|
parameters: {
|
|
3328
3524
|
query?: never;
|
|
3329
3525
|
header?: never;
|
|
3330
3526
|
path: {
|
|
3331
|
-
|
|
3332
|
-
|
|
3527
|
+
id: string;
|
|
3528
|
+
};
|
|
3529
|
+
cookie?: never;
|
|
3530
|
+
};
|
|
3531
|
+
requestBody?: never;
|
|
3532
|
+
responses: never;
|
|
3533
|
+
};
|
|
3534
|
+
"exams.startGeneration": {
|
|
3535
|
+
parameters: {
|
|
3536
|
+
query?: never;
|
|
3537
|
+
header?: never;
|
|
3538
|
+
path: {
|
|
3539
|
+
id: string;
|
|
3540
|
+
};
|
|
3541
|
+
cookie?: never;
|
|
3542
|
+
};
|
|
3543
|
+
requestBody?: never;
|
|
3544
|
+
responses: never;
|
|
3545
|
+
};
|
|
3546
|
+
"exams.cancelGeneration": {
|
|
3547
|
+
parameters: {
|
|
3548
|
+
query?: never;
|
|
3549
|
+
header?: never;
|
|
3550
|
+
path: {
|
|
3551
|
+
id: string;
|
|
3333
3552
|
};
|
|
3334
3553
|
cookie?: never;
|
|
3335
3554
|
};
|
|
3336
3555
|
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
|
-
};
|
|
3556
|
+
responses: never;
|
|
3353
3557
|
};
|
|
3354
|
-
"
|
|
3558
|
+
"exams.getContextSuggestions": {
|
|
3355
3559
|
parameters: {
|
|
3356
3560
|
query?: never;
|
|
3357
3561
|
header?: never;
|
|
3358
|
-
path
|
|
3562
|
+
path: {
|
|
3563
|
+
id: string;
|
|
3564
|
+
};
|
|
3359
3565
|
cookie?: never;
|
|
3360
3566
|
};
|
|
3361
3567
|
requestBody?: never;
|
|
3362
3568
|
responses: never;
|
|
3363
3569
|
};
|
|
3364
|
-
"
|
|
3570
|
+
"me.get": {
|
|
3365
3571
|
parameters: {
|
|
3366
3572
|
query?: never;
|
|
3367
3573
|
header?: never;
|
|
@@ -3371,7 +3577,7 @@ interface operations {
|
|
|
3371
3577
|
requestBody?: never;
|
|
3372
3578
|
responses: never;
|
|
3373
3579
|
};
|
|
3374
|
-
"
|
|
3580
|
+
"me.update": {
|
|
3375
3581
|
parameters: {
|
|
3376
3582
|
query?: never;
|
|
3377
3583
|
header?: never;
|
|
@@ -3381,272 +3587,222 @@ interface operations {
|
|
|
3381
3587
|
requestBody?: {
|
|
3382
3588
|
content: {
|
|
3383
3589
|
"application/json": {
|
|
3384
|
-
/**
|
|
3385
|
-
email: string;
|
|
3590
|
+
/** @description The user's name */
|
|
3386
3591
|
name?: string;
|
|
3387
|
-
/**
|
|
3388
|
-
|
|
3389
|
-
|
|
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;
|
|
3592
|
+
/** @description A map of user preferences */
|
|
3593
|
+
preferences?: {
|
|
3594
|
+
[key: string]: unknown;
|
|
3595
|
+
};
|
|
3397
3596
|
};
|
|
3398
3597
|
};
|
|
3399
3598
|
};
|
|
3400
3599
|
responses: never;
|
|
3401
3600
|
};
|
|
3402
|
-
"
|
|
3601
|
+
"media.upload": {
|
|
3403
3602
|
parameters: {
|
|
3404
|
-
query?:
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
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;
|
|
3408
3610
|
};
|
|
3611
|
+
header?: never;
|
|
3612
|
+
path?: never;
|
|
3409
3613
|
cookie?: never;
|
|
3410
3614
|
};
|
|
3411
3615
|
requestBody?: never;
|
|
3412
|
-
responses:
|
|
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
|
+
};
|
|
3629
|
+
};
|
|
3630
|
+
};
|
|
3413
3631
|
};
|
|
3414
|
-
"
|
|
3632
|
+
"org.get": {
|
|
3415
3633
|
parameters: {
|
|
3416
3634
|
query?: never;
|
|
3417
3635
|
header?: never;
|
|
3418
|
-
path
|
|
3419
|
-
id: string;
|
|
3420
|
-
};
|
|
3636
|
+
path?: never;
|
|
3421
3637
|
cookie?: never;
|
|
3422
3638
|
};
|
|
3423
3639
|
requestBody?: never;
|
|
3424
3640
|
responses: never;
|
|
3425
3641
|
};
|
|
3426
|
-
"
|
|
3642
|
+
"org.delete": {
|
|
3427
3643
|
parameters: {
|
|
3428
3644
|
query?: never;
|
|
3429
3645
|
header?: never;
|
|
3430
|
-
path
|
|
3431
|
-
id: string;
|
|
3432
|
-
};
|
|
3646
|
+
path?: never;
|
|
3433
3647
|
cookie?: never;
|
|
3434
3648
|
};
|
|
3435
3649
|
requestBody?: never;
|
|
3436
3650
|
responses: never;
|
|
3437
3651
|
};
|
|
3438
|
-
"
|
|
3652
|
+
"org.update": {
|
|
3439
3653
|
parameters: {
|
|
3440
3654
|
query?: never;
|
|
3441
3655
|
header?: never;
|
|
3442
|
-
path
|
|
3443
|
-
id: string;
|
|
3444
|
-
};
|
|
3656
|
+
path?: never;
|
|
3445
3657
|
cookie?: never;
|
|
3446
3658
|
};
|
|
3447
3659
|
requestBody?: {
|
|
3448
3660
|
content: {
|
|
3449
3661
|
"application/json": {
|
|
3450
|
-
|
|
3451
|
-
/**
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
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
|
-
}[];
|
|
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
|
+
};
|
|
3476
3676
|
};
|
|
3477
3677
|
};
|
|
3478
3678
|
};
|
|
3479
3679
|
responses: never;
|
|
3480
3680
|
};
|
|
3481
|
-
"
|
|
3681
|
+
"org.customDomain.get": {
|
|
3482
3682
|
parameters: {
|
|
3483
3683
|
query?: never;
|
|
3484
3684
|
header?: never;
|
|
3485
|
-
path
|
|
3486
|
-
id: string;
|
|
3487
|
-
};
|
|
3685
|
+
path?: never;
|
|
3488
3686
|
cookie?: never;
|
|
3489
3687
|
};
|
|
3490
3688
|
requestBody?: never;
|
|
3491
3689
|
responses: never;
|
|
3492
3690
|
};
|
|
3493
|
-
"
|
|
3691
|
+
"org.customDomain.update": {
|
|
3494
3692
|
parameters: {
|
|
3495
3693
|
query?: never;
|
|
3496
3694
|
header?: never;
|
|
3497
|
-
path
|
|
3498
|
-
id: string;
|
|
3499
|
-
};
|
|
3695
|
+
path?: never;
|
|
3500
3696
|
cookie?: never;
|
|
3501
3697
|
};
|
|
3502
3698
|
requestBody?: {
|
|
3503
3699
|
content: {
|
|
3504
3700
|
"application/json": {
|
|
3505
|
-
|
|
3506
|
-
documentUrl: string;
|
|
3701
|
+
customDomain?: string | null;
|
|
3507
3702
|
};
|
|
3508
3703
|
};
|
|
3509
3704
|
};
|
|
3510
3705
|
responses: never;
|
|
3511
3706
|
};
|
|
3512
|
-
"
|
|
3513
|
-
parameters: {
|
|
3514
|
-
query?: never;
|
|
3515
|
-
header?: never;
|
|
3516
|
-
path: {
|
|
3517
|
-
id: string;
|
|
3518
|
-
sessionId: string;
|
|
3519
|
-
};
|
|
3520
|
-
cookie?: never;
|
|
3521
|
-
};
|
|
3522
|
-
requestBody?: never;
|
|
3523
|
-
responses: never;
|
|
3524
|
-
};
|
|
3525
|
-
"exams.sessions.delete": {
|
|
3707
|
+
"orgs.list": {
|
|
3526
3708
|
parameters: {
|
|
3527
3709
|
query?: never;
|
|
3528
3710
|
header?: never;
|
|
3529
|
-
path
|
|
3530
|
-
id: string;
|
|
3531
|
-
sessionId: string;
|
|
3532
|
-
};
|
|
3711
|
+
path?: never;
|
|
3533
3712
|
cookie?: never;
|
|
3534
3713
|
};
|
|
3535
3714
|
requestBody?: never;
|
|
3536
3715
|
responses: never;
|
|
3537
3716
|
};
|
|
3538
|
-
"
|
|
3717
|
+
"orgs.create": {
|
|
3539
3718
|
parameters: {
|
|
3540
3719
|
query?: never;
|
|
3541
3720
|
header?: never;
|
|
3542
|
-
path
|
|
3543
|
-
id: string;
|
|
3544
|
-
sessionId: string;
|
|
3545
|
-
};
|
|
3721
|
+
path?: never;
|
|
3546
3722
|
cookie?: never;
|
|
3547
3723
|
};
|
|
3548
3724
|
requestBody?: {
|
|
3549
3725
|
content: {
|
|
3550
3726
|
"application/json": {
|
|
3551
|
-
|
|
3552
|
-
question: string;
|
|
3553
|
-
/** @description Points to award for the answer */
|
|
3554
|
-
pointsAwarded?: number;
|
|
3555
|
-
/** @description Optional teacher feedback for the answer */
|
|
3556
|
-
feedback?: string;
|
|
3727
|
+
name: string;
|
|
3557
3728
|
};
|
|
3558
3729
|
};
|
|
3559
3730
|
};
|
|
3560
3731
|
responses: never;
|
|
3561
3732
|
};
|
|
3562
|
-
"
|
|
3733
|
+
"apiKeys.get": {
|
|
3563
3734
|
parameters: {
|
|
3564
3735
|
query?: never;
|
|
3565
3736
|
header?: never;
|
|
3566
|
-
path
|
|
3567
|
-
id: string;
|
|
3568
|
-
sessionId: string;
|
|
3569
|
-
};
|
|
3737
|
+
path?: never;
|
|
3570
3738
|
cookie?: never;
|
|
3571
3739
|
};
|
|
3572
|
-
requestBody?:
|
|
3573
|
-
content: {
|
|
3574
|
-
"application/json": {
|
|
3575
|
-
/** @description Teacher feedback for the test as a whole */
|
|
3576
|
-
feedback?: string | null;
|
|
3577
|
-
};
|
|
3578
|
-
};
|
|
3579
|
-
};
|
|
3740
|
+
requestBody?: never;
|
|
3580
3741
|
responses: never;
|
|
3581
3742
|
};
|
|
3582
|
-
"
|
|
3743
|
+
"apiKeys.reset": {
|
|
3583
3744
|
parameters: {
|
|
3584
3745
|
query?: never;
|
|
3585
3746
|
header?: never;
|
|
3586
|
-
path
|
|
3587
|
-
id: string;
|
|
3588
|
-
sessionId: string;
|
|
3589
|
-
};
|
|
3747
|
+
path?: never;
|
|
3590
3748
|
cookie?: never;
|
|
3591
3749
|
};
|
|
3592
3750
|
requestBody?: never;
|
|
3593
3751
|
responses: never;
|
|
3594
3752
|
};
|
|
3595
|
-
"
|
|
3753
|
+
"attributes.list": {
|
|
3596
3754
|
parameters: {
|
|
3597
3755
|
query?: never;
|
|
3598
3756
|
header?: never;
|
|
3599
|
-
path
|
|
3600
|
-
id: string;
|
|
3601
|
-
sessionId: string;
|
|
3602
|
-
};
|
|
3757
|
+
path?: never;
|
|
3603
3758
|
cookie?: never;
|
|
3604
3759
|
};
|
|
3605
3760
|
requestBody?: never;
|
|
3606
3761
|
responses: never;
|
|
3607
3762
|
};
|
|
3608
|
-
"
|
|
3763
|
+
"attributes.create": {
|
|
3609
3764
|
parameters: {
|
|
3610
3765
|
query?: never;
|
|
3611
3766
|
header?: never;
|
|
3612
|
-
path
|
|
3613
|
-
id: string;
|
|
3614
|
-
sessionId: string;
|
|
3615
|
-
questionId: string;
|
|
3616
|
-
};
|
|
3767
|
+
path?: never;
|
|
3617
3768
|
cookie?: never;
|
|
3618
3769
|
};
|
|
3619
|
-
requestBody?:
|
|
3770
|
+
requestBody?: {
|
|
3771
|
+
content: {
|
|
3772
|
+
"application/json": {
|
|
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;
|
|
3781
|
+
};
|
|
3782
|
+
};
|
|
3783
|
+
};
|
|
3620
3784
|
responses: never;
|
|
3621
3785
|
};
|
|
3622
|
-
"
|
|
3786
|
+
"attributes.reorder": {
|
|
3623
3787
|
parameters: {
|
|
3624
3788
|
query?: never;
|
|
3625
3789
|
header?: never;
|
|
3626
|
-
path
|
|
3627
|
-
id: string;
|
|
3628
|
-
sessionId: string;
|
|
3629
|
-
questionId: string;
|
|
3630
|
-
};
|
|
3790
|
+
path?: never;
|
|
3631
3791
|
cookie?: never;
|
|
3632
3792
|
};
|
|
3633
3793
|
requestBody?: {
|
|
3634
3794
|
content: {
|
|
3635
3795
|
"application/json": {
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
context?: unknown | null;
|
|
3641
|
-
};
|
|
3642
|
-
/** @description Whether to automatically grade the answer after editing */
|
|
3643
|
-
autoGrade?: boolean;
|
|
3796
|
+
order: {
|
|
3797
|
+
id: string;
|
|
3798
|
+
position: number;
|
|
3799
|
+
}[];
|
|
3644
3800
|
};
|
|
3645
3801
|
};
|
|
3646
3802
|
};
|
|
3647
3803
|
responses: never;
|
|
3648
3804
|
};
|
|
3649
|
-
"
|
|
3805
|
+
"attributes.update": {
|
|
3650
3806
|
parameters: {
|
|
3651
3807
|
query?: never;
|
|
3652
3808
|
header?: never;
|
|
@@ -3658,22 +3814,20 @@ interface operations {
|
|
|
3658
3814
|
requestBody?: {
|
|
3659
3815
|
content: {
|
|
3660
3816
|
"application/json": {
|
|
3661
|
-
/** @description File name */
|
|
3662
3817
|
name?: string;
|
|
3663
|
-
/** @
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
keepExistingSettings?: boolean;
|
|
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;
|
|
3671
3825
|
};
|
|
3672
3826
|
};
|
|
3673
3827
|
};
|
|
3674
3828
|
responses: never;
|
|
3675
3829
|
};
|
|
3676
|
-
"
|
|
3830
|
+
"attributes.delete": {
|
|
3677
3831
|
parameters: {
|
|
3678
3832
|
query?: never;
|
|
3679
3833
|
header?: never;
|
|
@@ -3682,54 +3836,68 @@ interface operations {
|
|
|
3682
3836
|
};
|
|
3683
3837
|
cookie?: never;
|
|
3684
3838
|
};
|
|
3685
|
-
requestBody?:
|
|
3686
|
-
content: {
|
|
3687
|
-
"application/json": {
|
|
3688
|
-
message: string;
|
|
3689
|
-
questionType?: string;
|
|
3690
|
-
};
|
|
3691
|
-
};
|
|
3692
|
-
};
|
|
3839
|
+
requestBody?: never;
|
|
3693
3840
|
responses: never;
|
|
3694
3841
|
};
|
|
3695
|
-
"
|
|
3842
|
+
"taxonomies.list": {
|
|
3696
3843
|
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
|
-
};
|
|
3844
|
+
query?: never;
|
|
3701
3845
|
header?: never;
|
|
3702
|
-
path
|
|
3703
|
-
/** @description Exam ID, e.g. `exam_1234`. */
|
|
3704
|
-
id: string;
|
|
3705
|
-
/** @description Question ID, e.g. `question_1234`, or `first` to get the first question. */
|
|
3706
|
-
questionId: string;
|
|
3707
|
-
};
|
|
3846
|
+
path?: never;
|
|
3708
3847
|
cookie?: never;
|
|
3709
3848
|
};
|
|
3710
3849
|
requestBody?: never;
|
|
3711
3850
|
responses: never;
|
|
3712
3851
|
};
|
|
3713
|
-
"
|
|
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;
|
|
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";
|
|
3837
3970
|
};
|
|
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;
|
|
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
|
+
}[];
|
|
3979
|
+
};
|
|
3980
|
+
};
|
|
3981
|
+
/** @description No access to this resource. */
|
|
3982
|
+
403: {
|
|
3983
|
+
headers: {
|
|
3984
|
+
[name: string]: unknown;
|
|
3901
3985
|
};
|
|
3986
|
+
content?: never;
|
|
3902
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;
|
|
@@ -4545,25 +4748,13 @@ interface operations {
|
|
|
4545
4748
|
type?: string;
|
|
4546
4749
|
name?: string;
|
|
4547
4750
|
size?: number;
|
|
4548
|
-
contentType?: string;
|
|
4549
|
-
expires?: string;
|
|
4550
|
-
} & {
|
|
4551
|
-
[key: string]: unknown;
|
|
4552
|
-
};
|
|
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
|
-
}[];
|
|
4751
|
+
contentType?: string;
|
|
4752
|
+
expires?: string;
|
|
4753
|
+
} & {
|
|
4754
|
+
[key: string]: unknown;
|
|
4755
|
+
};
|
|
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
|
};
|
|
@@ -5477,6 +5668,17 @@ interface operations {
|
|
|
5477
5668
|
};
|
|
5478
5669
|
}
|
|
5479
5670
|
|
|
5671
|
+
type Args$1 = {
|
|
5672
|
+
filename?: string;
|
|
5673
|
+
type?: string;
|
|
5674
|
+
contentType?: string;
|
|
5675
|
+
content?: Buffer | string;
|
|
5676
|
+
};
|
|
5677
|
+
type Response$1 = {
|
|
5678
|
+
publicUrl: string;
|
|
5679
|
+
uploadUrl: string;
|
|
5680
|
+
};
|
|
5681
|
+
|
|
5480
5682
|
interface _PathOverrides {
|
|
5481
5683
|
"questionTypes.get": {
|
|
5482
5684
|
id: string;
|
|
@@ -5517,38 +5719,6 @@ interface _PathOverrides {
|
|
|
5517
5719
|
"embedSessions.revoke": {
|
|
5518
5720
|
id: string;
|
|
5519
5721
|
};
|
|
5520
|
-
"attributes.update": {
|
|
5521
|
-
id: string;
|
|
5522
|
-
};
|
|
5523
|
-
"attributes.delete": {
|
|
5524
|
-
id: string;
|
|
5525
|
-
};
|
|
5526
|
-
"taxonomies.update": {
|
|
5527
|
-
id: string;
|
|
5528
|
-
};
|
|
5529
|
-
"taxonomies.delete": {
|
|
5530
|
-
id: string;
|
|
5531
|
-
};
|
|
5532
|
-
"permissions.list": {
|
|
5533
|
-
resource: string;
|
|
5534
|
-
};
|
|
5535
|
-
"permissions.assign": {
|
|
5536
|
-
resource: string;
|
|
5537
|
-
};
|
|
5538
|
-
"permissions.getActorRole": {
|
|
5539
|
-
actor: string;
|
|
5540
|
-
resource: string;
|
|
5541
|
-
};
|
|
5542
|
-
"permissions.delete": {
|
|
5543
|
-
resource: string;
|
|
5544
|
-
actor: string;
|
|
5545
|
-
};
|
|
5546
|
-
"users.update": {
|
|
5547
|
-
id: string;
|
|
5548
|
-
};
|
|
5549
|
-
"users.delete": {
|
|
5550
|
-
id: string;
|
|
5551
|
-
};
|
|
5552
5722
|
"exams.sessions.list": {
|
|
5553
5723
|
examId: string;
|
|
5554
5724
|
};
|
|
@@ -5595,6 +5765,24 @@ interface _PathOverrides {
|
|
|
5595
5765
|
sessionId: string;
|
|
5596
5766
|
questionId: string;
|
|
5597
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
|
+
};
|
|
5598
5786
|
"exams.questions.import": {
|
|
5599
5787
|
examId: string;
|
|
5600
5788
|
};
|
|
@@ -5639,6 +5827,38 @@ interface _PathOverrides {
|
|
|
5639
5827
|
"exams.getContextSuggestions": {
|
|
5640
5828
|
examId: string;
|
|
5641
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
|
+
};
|
|
5642
5862
|
"practiceSpaces.get": {
|
|
5643
5863
|
id: string;
|
|
5644
5864
|
};
|
|
@@ -6006,553 +6226,590 @@ declare class EmbedSessions {
|
|
|
6006
6226
|
revoke(id: string, options?: ExamplaryRequestOptions): Promise<Response<"embedSessions.revoke">>;
|
|
6007
6227
|
revoke(args: Args<"embedSessions.revoke">, options?: ExamplaryRequestOptions): Promise<Response<"embedSessions.revoke">>;
|
|
6008
6228
|
}
|
|
6009
|
-
declare class
|
|
6229
|
+
declare class ExamsSessionsComments {
|
|
6010
6230
|
private readonly ctx;
|
|
6011
6231
|
constructor(ctx: ClientContext);
|
|
6012
6232
|
/**
|
|
6013
|
-
*
|
|
6233
|
+
* List session comments
|
|
6014
6234
|
*
|
|
6015
|
-
* Get
|
|
6235
|
+
* Get a list of all comments left on a student's assessment session.
|
|
6016
6236
|
*
|
|
6017
|
-
* API endpoint: `GET /
|
|
6237
|
+
* API endpoint: `GET /exams/{examId}/sessions/{sessionId}/comments`
|
|
6018
6238
|
*/
|
|
6019
|
-
|
|
6239
|
+
list(args: Args<"exams.sessions.comments.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.list">>;
|
|
6020
6240
|
/**
|
|
6021
|
-
*
|
|
6241
|
+
* Create session comment
|
|
6022
6242
|
*
|
|
6023
|
-
*
|
|
6243
|
+
* Add a new comment to a question in a student's assessment session.
|
|
6024
6244
|
*
|
|
6025
|
-
* API endpoint: `
|
|
6245
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/comments`
|
|
6026
6246
|
*/
|
|
6027
|
-
|
|
6028
|
-
}
|
|
6029
|
-
declare class Media {
|
|
6030
|
-
private readonly ctx;
|
|
6031
|
-
constructor(ctx: ClientContext);
|
|
6247
|
+
create(args: Args<"exams.sessions.comments.create">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.create">>;
|
|
6032
6248
|
/**
|
|
6033
|
-
*
|
|
6249
|
+
* Update session comment
|
|
6034
6250
|
*
|
|
6035
|
-
*
|
|
6251
|
+
* Edit the body of an existing session comment.
|
|
6036
6252
|
*
|
|
6037
|
-
* API endpoint: `
|
|
6253
|
+
* API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}/comments/{commentId}`
|
|
6254
|
+
*/
|
|
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}`
|
|
6038
6262
|
*/
|
|
6039
|
-
|
|
6263
|
+
delete(args: Args<"exams.sessions.comments.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.comments.delete">>;
|
|
6040
6264
|
}
|
|
6041
|
-
declare class
|
|
6265
|
+
declare class ExamsSessions {
|
|
6042
6266
|
private readonly ctx;
|
|
6267
|
+
readonly comments: ExamsSessionsComments;
|
|
6043
6268
|
constructor(ctx: ClientContext);
|
|
6044
6269
|
/**
|
|
6045
|
-
*
|
|
6270
|
+
* List exam sessions
|
|
6046
6271
|
*
|
|
6047
|
-
*
|
|
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`
|
|
6048
6275
|
*/
|
|
6049
|
-
|
|
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">>;
|
|
6050
6278
|
/**
|
|
6051
|
-
*
|
|
6279
|
+
* Create session
|
|
6052
6280
|
*
|
|
6053
|
-
*
|
|
6281
|
+
* Manually create a session, possibly from uploaded data.
|
|
6282
|
+
*
|
|
6283
|
+
* API endpoint: `POST /exams/{examId}/sessions`
|
|
6054
6284
|
*/
|
|
6055
|
-
|
|
6056
|
-
}
|
|
6057
|
-
declare class Org {
|
|
6058
|
-
private readonly ctx;
|
|
6059
|
-
readonly customDomain: OrgCustomDomain;
|
|
6060
|
-
constructor(ctx: ClientContext);
|
|
6285
|
+
import(args: Args<"exams.sessions.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.import">>;
|
|
6061
6286
|
/**
|
|
6062
|
-
* Get
|
|
6287
|
+
* Get answers from scan
|
|
6063
6288
|
*
|
|
6064
|
-
*
|
|
6289
|
+
* Scan student answers from a document.
|
|
6290
|
+
*
|
|
6291
|
+
* API endpoint: `POST /exams/{examId}/sessions/scan`
|
|
6065
6292
|
*/
|
|
6066
|
-
|
|
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">>;
|
|
6067
6295
|
/**
|
|
6068
|
-
*
|
|
6296
|
+
* Scan document for student answers
|
|
6069
6297
|
*
|
|
6070
|
-
*
|
|
6298
|
+
* Start a background task to extract student answers from an uploaded PDF document.
|
|
6299
|
+
*
|
|
6300
|
+
* API endpoint: `POST /exams/{examId}/sessions/scan-document`
|
|
6071
6301
|
*/
|
|
6072
|
-
|
|
6302
|
+
scanDocument(args: Args<"exams.sessions.scanDocument">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scanDocument">>;
|
|
6073
6303
|
/**
|
|
6074
|
-
*
|
|
6304
|
+
* Get exam session
|
|
6075
6305
|
*
|
|
6076
|
-
*
|
|
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}`
|
|
6077
6309
|
*/
|
|
6078
|
-
|
|
6079
|
-
}
|
|
6080
|
-
declare class Orgs {
|
|
6081
|
-
private readonly ctx;
|
|
6082
|
-
constructor(ctx: ClientContext);
|
|
6310
|
+
get(args: Args<"exams.sessions.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.get">>;
|
|
6083
6311
|
/**
|
|
6084
|
-
*
|
|
6312
|
+
* Delete exam session
|
|
6085
6313
|
*
|
|
6086
|
-
*
|
|
6314
|
+
* Remove an exam session.
|
|
6315
|
+
*
|
|
6316
|
+
* API endpoint: `DELETE /exams/{examId}/sessions/{sessionId}`
|
|
6087
6317
|
*/
|
|
6088
|
-
|
|
6318
|
+
delete(args: Args<"exams.sessions.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.delete">>;
|
|
6089
6319
|
/**
|
|
6090
|
-
*
|
|
6320
|
+
* Provide feedback
|
|
6091
6321
|
*
|
|
6092
|
-
*
|
|
6322
|
+
* Set teacher feedback and/or a grade for a specific question in an exam session.
|
|
6093
6323
|
*
|
|
6094
|
-
* API endpoint: `POST /
|
|
6324
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/feedback`
|
|
6095
6325
|
*/
|
|
6096
|
-
|
|
6097
|
-
}
|
|
6098
|
-
declare class ApiKeys {
|
|
6099
|
-
private readonly ctx;
|
|
6100
|
-
constructor(ctx: ClientContext);
|
|
6326
|
+
saveFeedback(args: Args<"exams.sessions.saveFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.saveFeedback">>;
|
|
6101
6327
|
/**
|
|
6102
|
-
*
|
|
6328
|
+
* Provide overall feedback
|
|
6103
6329
|
*
|
|
6104
|
-
*
|
|
6330
|
+
* Set teacher feedback for the test as a whole in an exam session.
|
|
6331
|
+
*
|
|
6332
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/overall-feedback`
|
|
6333
|
+
*/
|
|
6334
|
+
saveOverallFeedback(args: Args<"exams.sessions.saveOverallFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.saveOverallFeedback">>;
|
|
6335
|
+
/**
|
|
6336
|
+
* Generate overall feedback
|
|
6337
|
+
*
|
|
6338
|
+
* Generate feedback for the test as a whole in an exam session.
|
|
6339
|
+
*
|
|
6340
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/generate-overall-feedback`
|
|
6341
|
+
*/
|
|
6342
|
+
generateOverallFeedback(args: Args<"exams.sessions.generateOverallFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.generateOverallFeedback">>;
|
|
6343
|
+
/**
|
|
6344
|
+
* Accept AI grading suggestions
|
|
6345
|
+
*
|
|
6346
|
+
* Accept all AI-generated grading suggestions for the exam session.
|
|
6347
|
+
*
|
|
6348
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/accept-all`
|
|
6349
|
+
*/
|
|
6350
|
+
acceptAllSuggestions(args: Args<"exams.sessions.acceptAllSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.acceptAllSuggestions">>;
|
|
6351
|
+
/**
|
|
6352
|
+
* Accept single AI grading suggestion
|
|
6353
|
+
*
|
|
6354
|
+
* Accept a single AI-generated grading suggestion for the exam session.
|
|
6105
6355
|
*
|
|
6106
|
-
* API endpoint: `
|
|
6356
|
+
* API endpoint: `POST /exams/{examId}/sessions/{sessionId}/suggestions/{questionId}/accept`
|
|
6107
6357
|
*/
|
|
6108
|
-
|
|
6358
|
+
acceptSuggestion(args: Args<"exams.sessions.acceptSuggestion">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.acceptSuggestion">>;
|
|
6109
6359
|
/**
|
|
6110
|
-
*
|
|
6360
|
+
* Edit answer
|
|
6111
6361
|
*
|
|
6112
|
-
*
|
|
6362
|
+
* Edit a single answer in an exam session.
|
|
6113
6363
|
*
|
|
6114
|
-
* API endpoint: `
|
|
6364
|
+
* API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}/answers/{questionId}`
|
|
6115
6365
|
*/
|
|
6116
|
-
|
|
6366
|
+
editAnswer(args: Args<"exams.sessions.editAnswer">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.editAnswer">>;
|
|
6117
6367
|
}
|
|
6118
|
-
declare class
|
|
6368
|
+
declare class ExamsQuestions {
|
|
6119
6369
|
private readonly ctx;
|
|
6120
6370
|
constructor(ctx: ClientContext);
|
|
6121
6371
|
/**
|
|
6122
|
-
*
|
|
6123
|
-
*
|
|
6124
|
-
* Get all custom attributes configured for the current workspace.
|
|
6125
|
-
*
|
|
6126
|
-
* API endpoint: `GET /attributes`
|
|
6127
|
-
*/
|
|
6128
|
-
list(args?: Args<"attributes.list">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.list">>;
|
|
6129
|
-
/**
|
|
6130
|
-
* Create attribute
|
|
6372
|
+
* Import questions
|
|
6131
6373
|
*
|
|
6132
|
-
*
|
|
6374
|
+
* Import questions into an exam from a file. Support Word, PDF, Moodle quiz XML and plain text files.
|
|
6133
6375
|
*
|
|
6134
|
-
* API endpoint: `POST /
|
|
6376
|
+
* API endpoint: `POST /exams/{examId}/questions/import`
|
|
6135
6377
|
*/
|
|
6136
|
-
|
|
6378
|
+
import(args: Args<"exams.questions.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.import">>;
|
|
6137
6379
|
/**
|
|
6138
|
-
*
|
|
6380
|
+
* Generate question
|
|
6139
6381
|
*
|
|
6140
|
-
*
|
|
6382
|
+
* Generate a new question for the exam using an AI prompt.
|
|
6141
6383
|
*
|
|
6142
|
-
* API endpoint: `POST /
|
|
6384
|
+
* API endpoint: `POST /exams/{examId}/questions/generate`
|
|
6143
6385
|
*/
|
|
6144
|
-
|
|
6386
|
+
generate(args: Args<"exams.questions.generate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.generate">>;
|
|
6145
6387
|
/**
|
|
6146
|
-
*
|
|
6388
|
+
* Get question
|
|
6147
6389
|
*
|
|
6148
|
-
*
|
|
6390
|
+
* Retrieve a question by its ID.
|
|
6149
6391
|
*
|
|
6150
|
-
* API endpoint: `
|
|
6392
|
+
* API endpoint: `GET /exams/{examId}/questions/{questionId}`
|
|
6151
6393
|
*/
|
|
6152
|
-
|
|
6394
|
+
get(args: Args<"exams.questions.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.get">>;
|
|
6153
6395
|
/**
|
|
6154
|
-
*
|
|
6396
|
+
* Regenerate question
|
|
6155
6397
|
*
|
|
6156
|
-
*
|
|
6398
|
+
* Update a question using an AI prompt.
|
|
6157
6399
|
*
|
|
6158
|
-
* API endpoint: `
|
|
6400
|
+
* API endpoint: `POST /exams/{examId}/questions/{questionId}/generate`
|
|
6159
6401
|
*/
|
|
6160
|
-
|
|
6161
|
-
delete(args: Args<"attributes.delete">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.delete">>;
|
|
6402
|
+
regenerate(args: Args<"exams.questions.regenerate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.regenerate">>;
|
|
6162
6403
|
}
|
|
6163
|
-
declare class
|
|
6404
|
+
declare class ExamsExport {
|
|
6164
6405
|
private readonly ctx;
|
|
6165
6406
|
constructor(ctx: ClientContext);
|
|
6166
6407
|
/**
|
|
6167
|
-
*
|
|
6168
|
-
*
|
|
6169
|
-
* Get a list available taxonomies, including defaults and taxonomies created in the current workspace.
|
|
6170
|
-
*
|
|
6171
|
-
* API endpoint: `GET /taxonomies`
|
|
6172
|
-
*/
|
|
6173
|
-
list(args?: Args<"taxonomies.list">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.list">>;
|
|
6174
|
-
/**
|
|
6175
|
-
* Create taxonomy
|
|
6408
|
+
* Export QTI 3 package
|
|
6176
6409
|
*
|
|
6177
|
-
*
|
|
6410
|
+
* Export an exam as a QTI 3 ZIP package.
|
|
6178
6411
|
*
|
|
6179
|
-
* API endpoint: `POST /
|
|
6412
|
+
* API endpoint: `POST /exams/{examId}/export/qti3-zip`
|
|
6180
6413
|
*/
|
|
6181
|
-
|
|
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">>;
|
|
6182
6416
|
/**
|
|
6183
|
-
*
|
|
6417
|
+
* Export QTI 2.1 package
|
|
6184
6418
|
*
|
|
6185
|
-
*
|
|
6419
|
+
* Export an exam as a QTI 2.1 ZIP package.
|
|
6186
6420
|
*
|
|
6187
|
-
* API endpoint: `POST /
|
|
6421
|
+
* API endpoint: `POST /exams/{examId}/export/qti21-zip`
|
|
6188
6422
|
*/
|
|
6189
|
-
|
|
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">>;
|
|
6425
|
+
}
|
|
6426
|
+
declare class Exams {
|
|
6427
|
+
private readonly ctx;
|
|
6428
|
+
readonly sessions: ExamsSessions;
|
|
6429
|
+
readonly questions: ExamsQuestions;
|
|
6430
|
+
readonly export: ExamsExport;
|
|
6431
|
+
constructor(ctx: ClientContext);
|
|
6190
6432
|
/**
|
|
6191
|
-
*
|
|
6433
|
+
* List exams
|
|
6192
6434
|
*
|
|
6193
|
-
*
|
|
6435
|
+
* Get a list of all exams within your workspace.
|
|
6194
6436
|
*
|
|
6195
|
-
* API endpoint: `
|
|
6437
|
+
* API endpoint: `GET /exams`
|
|
6196
6438
|
*/
|
|
6197
|
-
|
|
6198
|
-
delete(args: Args<"taxonomies.delete">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.delete">>;
|
|
6199
|
-
}
|
|
6200
|
-
declare class Permissions {
|
|
6201
|
-
private readonly ctx;
|
|
6202
|
-
constructor(ctx: ClientContext);
|
|
6439
|
+
list(args?: Args<"exams.list">, options?: ExamplaryRequestOptions): Promise<Response<"exams.list">>;
|
|
6203
6440
|
/**
|
|
6204
|
-
*
|
|
6441
|
+
* Create exam
|
|
6205
6442
|
*
|
|
6206
|
-
*
|
|
6443
|
+
* Create a new exam within your workspace.
|
|
6207
6444
|
*
|
|
6208
|
-
* API endpoint: `
|
|
6445
|
+
* API endpoint: `POST /exams`
|
|
6209
6446
|
*/
|
|
6210
|
-
|
|
6447
|
+
create(args?: Args<"exams.create">, options?: ExamplaryRequestOptions): Promise<Response<"exams.create">>;
|
|
6211
6448
|
/**
|
|
6212
|
-
*
|
|
6449
|
+
* Import exam
|
|
6213
6450
|
*
|
|
6214
|
-
*
|
|
6451
|
+
* Create an exam by importing one or more source materials (e.g. an existing exam).
|
|
6215
6452
|
*
|
|
6216
|
-
* API endpoint: `
|
|
6453
|
+
* API endpoint: `POST /exams/import`
|
|
6217
6454
|
*/
|
|
6218
|
-
|
|
6219
|
-
list(args: Args<"permissions.list">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6455
|
+
import(args?: Args<"exams.import">, options?: ExamplaryRequestOptions): Promise<Response<"exams.import">>;
|
|
6220
6456
|
/**
|
|
6221
|
-
*
|
|
6457
|
+
* Get exam
|
|
6222
6458
|
*
|
|
6223
|
-
*
|
|
6459
|
+
* Get a single exam by its ID.
|
|
6224
6460
|
*
|
|
6225
|
-
* API endpoint: `
|
|
6461
|
+
* API endpoint: `GET /exams/{id}`
|
|
6226
6462
|
*/
|
|
6227
|
-
|
|
6463
|
+
get(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.get">>;
|
|
6464
|
+
get(args: Args<"exams.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.get">>;
|
|
6228
6465
|
/**
|
|
6229
|
-
*
|
|
6466
|
+
* Update exam
|
|
6230
6467
|
*
|
|
6231
|
-
*
|
|
6468
|
+
* Update an existing exam.
|
|
6232
6469
|
*
|
|
6233
|
-
* API endpoint: `
|
|
6470
|
+
* API endpoint: `POST /exams/{id}`
|
|
6234
6471
|
*/
|
|
6235
|
-
|
|
6472
|
+
update(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6473
|
+
update(args: Args<"exams.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6236
6474
|
/**
|
|
6237
|
-
*
|
|
6475
|
+
* Delete exam
|
|
6238
6476
|
*
|
|
6239
|
-
*
|
|
6477
|
+
* Delete the exam.
|
|
6240
6478
|
*
|
|
6241
|
-
* API endpoint: `DELETE /
|
|
6479
|
+
* API endpoint: `DELETE /exams/{id}`
|
|
6242
6480
|
*/
|
|
6243
|
-
delete(
|
|
6244
|
-
|
|
6245
|
-
declare class StudentLevels {
|
|
6246
|
-
private readonly ctx;
|
|
6247
|
-
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">>;
|
|
6248
6483
|
/**
|
|
6249
|
-
*
|
|
6484
|
+
* Duplicate exam
|
|
6250
6485
|
*
|
|
6251
|
-
*
|
|
6486
|
+
* Duplicate the exam's questions and settings to a new exam.
|
|
6252
6487
|
*
|
|
6253
|
-
* API endpoint: `
|
|
6488
|
+
* API endpoint: `POST /exams/{examId}/duplicate`
|
|
6254
6489
|
*/
|
|
6255
|
-
|
|
6256
|
-
}
|
|
6257
|
-
declare class Users {
|
|
6258
|
-
private readonly ctx;
|
|
6259
|
-
constructor(ctx: ClientContext);
|
|
6490
|
+
duplicate(args: Args<"exams.duplicate">, options?: ExamplaryRequestOptions): Promise<Response<"exams.duplicate">>;
|
|
6260
6491
|
/**
|
|
6261
|
-
*
|
|
6492
|
+
* Print exam
|
|
6262
6493
|
*
|
|
6263
|
-
*
|
|
6494
|
+
* Export an exam to a PDF file or Word document.
|
|
6264
6495
|
*
|
|
6265
|
-
* API endpoint: `
|
|
6496
|
+
* API endpoint: `POST /exams/{examId}/print`
|
|
6266
6497
|
*/
|
|
6267
|
-
|
|
6498
|
+
print(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.print">>;
|
|
6499
|
+
print(args: Args<"exams.print">, options?: ExamplaryRequestOptions): Promise<Response<"exams.print">>;
|
|
6268
6500
|
/**
|
|
6269
|
-
*
|
|
6501
|
+
* Generate exam
|
|
6270
6502
|
*
|
|
6271
|
-
*
|
|
6503
|
+
* Initiate a job to generate new questions for the exam using AI, based on the source materials and metadata specified.
|
|
6272
6504
|
*
|
|
6273
|
-
* API endpoint: `POST /
|
|
6505
|
+
* API endpoint: `POST /exams/{examId}/generate`
|
|
6274
6506
|
*/
|
|
6275
|
-
|
|
6507
|
+
startGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6508
|
+
startGeneration(args: Args<"exams.startGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6276
6509
|
/**
|
|
6277
|
-
*
|
|
6510
|
+
* Cancel exam generation
|
|
6278
6511
|
*
|
|
6279
|
-
*
|
|
6512
|
+
* Cancel an ongoing job to generate new questions for the exam using AI.
|
|
6280
6513
|
*
|
|
6281
|
-
* API endpoint: `
|
|
6514
|
+
* API endpoint: `POST /exams/{examId}/generate/cancel`
|
|
6282
6515
|
*/
|
|
6283
|
-
|
|
6284
|
-
|
|
6516
|
+
cancelGeneration(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6517
|
+
cancelGeneration(args: Args<"exams.cancelGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6285
6518
|
/**
|
|
6286
|
-
*
|
|
6519
|
+
* Get exam context suggestions
|
|
6287
6520
|
*
|
|
6288
|
-
*
|
|
6521
|
+
* Get AI-generated suggestions for context/instructions to include in the exam generation prompt, based on the source materials linked to the exam.
|
|
6289
6522
|
*
|
|
6290
|
-
* API endpoint: `
|
|
6523
|
+
* API endpoint: `GET /exams/{examId}/context-suggestions`
|
|
6291
6524
|
*/
|
|
6292
|
-
|
|
6293
|
-
|
|
6525
|
+
getContextSuggestions(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
|
|
6526
|
+
getContextSuggestions(args: Args<"exams.getContextSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
|
|
6294
6527
|
}
|
|
6295
|
-
declare class
|
|
6528
|
+
declare class Me {
|
|
6296
6529
|
private readonly ctx;
|
|
6297
6530
|
constructor(ctx: ClientContext);
|
|
6298
6531
|
/**
|
|
6299
|
-
*
|
|
6532
|
+
* Get me
|
|
6300
6533
|
*
|
|
6301
|
-
* Get
|
|
6534
|
+
* Get the current user's account details.
|
|
6302
6535
|
*
|
|
6303
|
-
* API endpoint: `GET /
|
|
6536
|
+
* API endpoint: `GET /me`
|
|
6304
6537
|
*/
|
|
6305
|
-
|
|
6306
|
-
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">>;
|
|
6307
6539
|
/**
|
|
6308
|
-
*
|
|
6540
|
+
* Update me
|
|
6309
6541
|
*
|
|
6310
|
-
*
|
|
6542
|
+
* Update the current user's account details.
|
|
6311
6543
|
*
|
|
6312
|
-
* API endpoint: `
|
|
6544
|
+
* API endpoint: `PATCH /me`
|
|
6313
6545
|
*/
|
|
6314
|
-
|
|
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);
|
|
6315
6551
|
/**
|
|
6316
|
-
* Get
|
|
6552
|
+
* Get file upload URL
|
|
6317
6553
|
*
|
|
6318
|
-
*
|
|
6554
|
+
* Returns a signed URL for uploading a file, and a public URL for accessing it afterwards.
|
|
6319
6555
|
*
|
|
6320
|
-
* API endpoint: `
|
|
6556
|
+
* API endpoint: `GET /media/upload`
|
|
6321
6557
|
*/
|
|
6322
|
-
|
|
6323
|
-
|
|
6558
|
+
upload(args: Args$1, options?: ExamplaryRequestOptions): Promise<Response$1>;
|
|
6559
|
+
}
|
|
6560
|
+
declare class OrgCustomDomain {
|
|
6561
|
+
private readonly ctx;
|
|
6562
|
+
constructor(ctx: ClientContext);
|
|
6324
6563
|
/**
|
|
6325
|
-
*
|
|
6326
|
-
*
|
|
6327
|
-
* Start a background task to extract student answers from an uploaded PDF document.
|
|
6564
|
+
* Get custom domain configuration
|
|
6328
6565
|
*
|
|
6329
|
-
* API endpoint: `
|
|
6566
|
+
* API endpoint: `GET /org/custom-domain`
|
|
6330
6567
|
*/
|
|
6331
|
-
|
|
6568
|
+
get(args?: Args<"org.customDomain.get">, options?: ExamplaryRequestOptions): Promise<Response<"org.customDomain.get">>;
|
|
6332
6569
|
/**
|
|
6333
|
-
*
|
|
6334
|
-
*
|
|
6335
|
-
* Get a single exam session by its ID, representing a set of answers from a student.
|
|
6570
|
+
* Update custom domain configuration
|
|
6336
6571
|
*
|
|
6337
|
-
* API endpoint: `
|
|
6572
|
+
* API endpoint: `POST /org/custom-domain`
|
|
6338
6573
|
*/
|
|
6339
|
-
|
|
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);
|
|
6340
6580
|
/**
|
|
6341
|
-
*
|
|
6342
|
-
*
|
|
6343
|
-
* Remove an exam session.
|
|
6581
|
+
* Get organization
|
|
6344
6582
|
*
|
|
6345
|
-
* API endpoint: `
|
|
6583
|
+
* API endpoint: `GET /org`
|
|
6346
6584
|
*/
|
|
6347
|
-
|
|
6585
|
+
get(args?: Args<"org.get">, options?: ExamplaryRequestOptions): Promise<Response<"org.get">>;
|
|
6348
6586
|
/**
|
|
6349
|
-
*
|
|
6350
|
-
*
|
|
6351
|
-
* Set teacher feedback and/or a grade for a specific question in an exam session.
|
|
6587
|
+
* Update organization
|
|
6352
6588
|
*
|
|
6353
|
-
* API endpoint: `
|
|
6589
|
+
* API endpoint: `PATCH /org`
|
|
6354
6590
|
*/
|
|
6355
|
-
|
|
6591
|
+
update(args?: Args<"org.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.update">>;
|
|
6356
6592
|
/**
|
|
6357
|
-
*
|
|
6358
|
-
*
|
|
6359
|
-
* Set teacher feedback for the test as a whole in an exam session.
|
|
6593
|
+
* Delete organization
|
|
6360
6594
|
*
|
|
6361
|
-
* API endpoint: `
|
|
6595
|
+
* API endpoint: `DELETE /org`
|
|
6362
6596
|
*/
|
|
6363
|
-
|
|
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);
|
|
6364
6602
|
/**
|
|
6365
|
-
*
|
|
6366
|
-
*
|
|
6367
|
-
* Generate feedback for the test as a whole in an exam session.
|
|
6603
|
+
* List all organizations
|
|
6368
6604
|
*
|
|
6369
|
-
* API endpoint: `
|
|
6605
|
+
* API endpoint: `GET /orgs`
|
|
6370
6606
|
*/
|
|
6371
|
-
|
|
6607
|
+
list(args?: Args<"orgs.list">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.list">>;
|
|
6372
6608
|
/**
|
|
6373
|
-
*
|
|
6609
|
+
* Create a new organization
|
|
6374
6610
|
*
|
|
6375
|
-
*
|
|
6611
|
+
* Create a new workspace to collaborate with others on exams.
|
|
6376
6612
|
*
|
|
6377
|
-
* API endpoint: `POST /
|
|
6613
|
+
* API endpoint: `POST /orgs`
|
|
6378
6614
|
*/
|
|
6379
|
-
|
|
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);
|
|
6380
6620
|
/**
|
|
6381
|
-
*
|
|
6621
|
+
* Get API key
|
|
6382
6622
|
*
|
|
6383
|
-
*
|
|
6623
|
+
* Get the API key for the current org/user combination. Creates one if none exists.
|
|
6384
6624
|
*
|
|
6385
|
-
* API endpoint: `
|
|
6625
|
+
* API endpoint: `GET /api-keys`
|
|
6386
6626
|
*/
|
|
6387
|
-
|
|
6627
|
+
get(args?: Args<"apiKeys.get">, options?: ExamplaryRequestOptions): Promise<Response<"apiKeys.get">>;
|
|
6388
6628
|
/**
|
|
6389
|
-
*
|
|
6629
|
+
* Reset API key
|
|
6390
6630
|
*
|
|
6391
|
-
*
|
|
6631
|
+
* Invalidate old API keys for this org/user and create a new one.
|
|
6392
6632
|
*
|
|
6393
|
-
* API endpoint: `
|
|
6633
|
+
* API endpoint: `POST /api-keys/reset`
|
|
6394
6634
|
*/
|
|
6395
|
-
|
|
6635
|
+
reset(args?: Args<"apiKeys.reset">, options?: ExamplaryRequestOptions): Promise<Response<"apiKeys.reset">>;
|
|
6396
6636
|
}
|
|
6397
|
-
declare class
|
|
6637
|
+
declare class Attributes {
|
|
6398
6638
|
private readonly ctx;
|
|
6399
6639
|
constructor(ctx: ClientContext);
|
|
6400
6640
|
/**
|
|
6401
|
-
*
|
|
6641
|
+
* List attributes
|
|
6402
6642
|
*
|
|
6403
|
-
*
|
|
6643
|
+
* Get all custom attributes configured for the current workspace.
|
|
6404
6644
|
*
|
|
6405
|
-
* API endpoint: `
|
|
6645
|
+
* API endpoint: `GET /attributes`
|
|
6406
6646
|
*/
|
|
6407
|
-
|
|
6647
|
+
list(args?: Args<"attributes.list">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.list">>;
|
|
6408
6648
|
/**
|
|
6409
|
-
*
|
|
6649
|
+
* Create attribute
|
|
6410
6650
|
*
|
|
6411
|
-
*
|
|
6651
|
+
* Create a new custom attribute in the current workspace.
|
|
6412
6652
|
*
|
|
6413
|
-
* API endpoint: `POST /
|
|
6653
|
+
* API endpoint: `POST /attributes`
|
|
6414
6654
|
*/
|
|
6415
|
-
|
|
6655
|
+
create(args?: Args<"attributes.create">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.create">>;
|
|
6416
6656
|
/**
|
|
6417
|
-
*
|
|
6657
|
+
* Reorder attributes
|
|
6418
6658
|
*
|
|
6419
|
-
*
|
|
6659
|
+
* Update the position of multiple attributes at once.
|
|
6420
6660
|
*
|
|
6421
|
-
* API endpoint: `
|
|
6661
|
+
* API endpoint: `POST /attributes/reorder`
|
|
6422
6662
|
*/
|
|
6423
|
-
|
|
6663
|
+
reorder(args?: Args<"attributes.reorder">, options?: ExamplaryRequestOptions): Promise<Response<"attributes.reorder">>;
|
|
6424
6664
|
/**
|
|
6425
|
-
*
|
|
6665
|
+
* Update attribute
|
|
6426
6666
|
*
|
|
6427
|
-
* Update
|
|
6667
|
+
* Update an existing attribute in the current workspace.
|
|
6428
6668
|
*
|
|
6429
|
-
* API endpoint: `POST /
|
|
6669
|
+
* API endpoint: `POST /attributes/{id}`
|
|
6430
6670
|
*/
|
|
6431
|
-
|
|
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">>;
|
|
6432
6681
|
}
|
|
6433
|
-
declare class
|
|
6682
|
+
declare class Taxonomies {
|
|
6434
6683
|
private readonly ctx;
|
|
6435
6684
|
constructor(ctx: ClientContext);
|
|
6436
6685
|
/**
|
|
6437
|
-
*
|
|
6686
|
+
* Get taxonomies
|
|
6438
6687
|
*
|
|
6439
|
-
*
|
|
6688
|
+
* Get a list available taxonomies, including defaults and taxonomies created in the current workspace.
|
|
6440
6689
|
*
|
|
6441
|
-
* API endpoint: `
|
|
6690
|
+
* API endpoint: `GET /taxonomies`
|
|
6442
6691
|
*/
|
|
6443
|
-
|
|
6444
|
-
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">>;
|
|
6445
6693
|
/**
|
|
6446
|
-
*
|
|
6694
|
+
* Create taxonomy
|
|
6447
6695
|
*
|
|
6448
|
-
*
|
|
6696
|
+
* Save a new taxonomy in the current workspace.
|
|
6449
6697
|
*
|
|
6450
|
-
* API endpoint: `POST /
|
|
6698
|
+
* API endpoint: `POST /taxonomies`
|
|
6451
6699
|
*/
|
|
6452
|
-
|
|
6453
|
-
qti21Zip(args: Args<"exams.export.qti21Zip">, options?: ExamplaryRequestOptions): Promise<Response<"exams.export.qti21Zip">>;
|
|
6454
|
-
}
|
|
6455
|
-
declare class Exams {
|
|
6456
|
-
private readonly ctx;
|
|
6457
|
-
readonly sessions: ExamsSessions;
|
|
6458
|
-
readonly questions: ExamsQuestions;
|
|
6459
|
-
readonly export: ExamsExport;
|
|
6460
|
-
constructor(ctx: ClientContext);
|
|
6700
|
+
create(args?: Args<"taxonomies.create">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.create">>;
|
|
6461
6701
|
/**
|
|
6462
|
-
*
|
|
6702
|
+
* Update taxonomy
|
|
6463
6703
|
*
|
|
6464
|
-
*
|
|
6704
|
+
* Update an existing taxonomy in the current workspace.
|
|
6465
6705
|
*
|
|
6466
|
-
* API endpoint: `
|
|
6706
|
+
* API endpoint: `POST /taxonomies/{id}`
|
|
6467
6707
|
*/
|
|
6468
|
-
|
|
6708
|
+
update(args: Args<"taxonomies.update">, options?: ExamplaryRequestOptions): Promise<Response<"taxonomies.update">>;
|
|
6469
6709
|
/**
|
|
6470
|
-
*
|
|
6710
|
+
* Delete taxonomy
|
|
6471
6711
|
*
|
|
6472
|
-
*
|
|
6712
|
+
* Delete a taxonomy from the current workspace. This fails if there are any exams associated with the taxonomy.
|
|
6473
6713
|
*
|
|
6474
|
-
* API endpoint: `
|
|
6714
|
+
* API endpoint: `DELETE /taxonomies/{id}`
|
|
6475
6715
|
*/
|
|
6476
|
-
|
|
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);
|
|
6477
6722
|
/**
|
|
6478
|
-
*
|
|
6723
|
+
* Autocomplete users and groups
|
|
6479
6724
|
*
|
|
6480
|
-
*
|
|
6725
|
+
* Search for users and groups to share with. Returns matches by name or email. Respects restricted group visibility.
|
|
6481
6726
|
*
|
|
6482
|
-
* API endpoint: `
|
|
6727
|
+
* API endpoint: `GET /permissions/autocomplete`
|
|
6483
6728
|
*/
|
|
6484
|
-
|
|
6729
|
+
autocomplete(args: Args<"permissions.autocomplete">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.autocomplete">>;
|
|
6485
6730
|
/**
|
|
6486
|
-
* Get
|
|
6731
|
+
* Get sharing permissions
|
|
6487
6732
|
*
|
|
6488
|
-
* Get a
|
|
6733
|
+
* Get a list of users, groups and orgs that have access to a specific resource.
|
|
6489
6734
|
*
|
|
6490
|
-
* API endpoint: `GET /
|
|
6735
|
+
* API endpoint: `GET /permissions/{resource}`
|
|
6491
6736
|
*/
|
|
6492
|
-
|
|
6493
|
-
|
|
6737
|
+
list(resource: string, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6738
|
+
list(args: Args<"permissions.list">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.list">>;
|
|
6494
6739
|
/**
|
|
6495
|
-
*
|
|
6740
|
+
* Create permission
|
|
6496
6741
|
*
|
|
6497
|
-
*
|
|
6742
|
+
* Create a new permission for a specific resource, or update the role of an existing actor.
|
|
6498
6743
|
*
|
|
6499
|
-
* API endpoint: `POST /
|
|
6744
|
+
* API endpoint: `POST /permissions/{resource}`
|
|
6500
6745
|
*/
|
|
6501
|
-
|
|
6502
|
-
update(args: Args<"exams.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
|
|
6746
|
+
assign(args: Args<"permissions.assign">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.assign">>;
|
|
6503
6747
|
/**
|
|
6504
|
-
*
|
|
6748
|
+
* Get actor role
|
|
6505
6749
|
*
|
|
6506
|
-
*
|
|
6750
|
+
* Get the role of a specific actor for a specific resource.
|
|
6507
6751
|
*
|
|
6508
|
-
* API endpoint: `
|
|
6752
|
+
* API endpoint: `GET /permissions/{resource}/{actor}`
|
|
6509
6753
|
*/
|
|
6510
|
-
|
|
6511
|
-
delete(args: Args<"exams.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.delete">>;
|
|
6754
|
+
getActorRole(args: Args<"permissions.getActorRole">, options?: ExamplaryRequestOptions): Promise<Response<"permissions.getActorRole">>;
|
|
6512
6755
|
/**
|
|
6513
|
-
*
|
|
6756
|
+
* Remove permission
|
|
6514
6757
|
*
|
|
6515
|
-
*
|
|
6758
|
+
* Remove a permission for a specific actor on a specific resource.
|
|
6516
6759
|
*
|
|
6517
|
-
* API endpoint: `
|
|
6760
|
+
* API endpoint: `DELETE /permissions/{resource}/{actor}`
|
|
6518
6761
|
*/
|
|
6519
|
-
|
|
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);
|
|
6520
6767
|
/**
|
|
6521
|
-
*
|
|
6768
|
+
* List available student levels
|
|
6522
6769
|
*
|
|
6523
|
-
*
|
|
6770
|
+
* Get a list of available default student levels.
|
|
6524
6771
|
*
|
|
6525
|
-
* API endpoint: `
|
|
6772
|
+
* API endpoint: `GET /student-levels`
|
|
6526
6773
|
*/
|
|
6527
|
-
|
|
6528
|
-
|
|
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);
|
|
6529
6779
|
/**
|
|
6530
|
-
*
|
|
6780
|
+
* List users
|
|
6531
6781
|
*
|
|
6532
|
-
*
|
|
6782
|
+
* Get a list of all users in the workspace.
|
|
6533
6783
|
*
|
|
6534
|
-
* API endpoint: `
|
|
6784
|
+
* API endpoint: `GET /users`
|
|
6535
6785
|
*/
|
|
6536
|
-
|
|
6537
|
-
startGeneration(args: Args<"exams.startGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.startGeneration">>;
|
|
6786
|
+
list(args?: Args<"users.list">, options?: ExamplaryRequestOptions): Promise<Response<"users.list">>;
|
|
6538
6787
|
/**
|
|
6539
|
-
*
|
|
6788
|
+
* Create user
|
|
6540
6789
|
*
|
|
6541
|
-
*
|
|
6790
|
+
* Create a new user in the workspace.
|
|
6542
6791
|
*
|
|
6543
|
-
* API endpoint: `POST /
|
|
6792
|
+
* API endpoint: `POST /users`
|
|
6544
6793
|
*/
|
|
6545
|
-
|
|
6546
|
-
cancelGeneration(args: Args<"exams.cancelGeneration">, options?: ExamplaryRequestOptions): Promise<Response<"exams.cancelGeneration">>;
|
|
6794
|
+
create(args?: Args<"users.create">, options?: ExamplaryRequestOptions): Promise<Response<"users.create">>;
|
|
6547
6795
|
/**
|
|
6548
|
-
*
|
|
6796
|
+
* Update user role
|
|
6549
6797
|
*
|
|
6550
|
-
*
|
|
6798
|
+
* Update a user's role within the workspace.
|
|
6551
6799
|
*
|
|
6552
|
-
* API endpoint: `
|
|
6800
|
+
* API endpoint: `PATCH /users/{id}`
|
|
6553
6801
|
*/
|
|
6554
|
-
|
|
6555
|
-
|
|
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">>;
|
|
6556
6813
|
}
|
|
6557
6814
|
declare class PracticeSpacesStudents {
|
|
6558
6815
|
private readonly ctx;
|
|
@@ -6938,6 +7195,7 @@ declare class Examplary {
|
|
|
6938
7195
|
readonly library: Library;
|
|
6939
7196
|
readonly oauth: Oauth;
|
|
6940
7197
|
readonly embedSessions: EmbedSessions;
|
|
7198
|
+
readonly exams: Exams;
|
|
6941
7199
|
readonly me: Me;
|
|
6942
7200
|
readonly media: Media;
|
|
6943
7201
|
readonly org: Org;
|
|
@@ -6948,7 +7206,6 @@ declare class Examplary {
|
|
|
6948
7206
|
readonly permissions: Permissions;
|
|
6949
7207
|
readonly studentLevels: StudentLevels;
|
|
6950
7208
|
readonly users: Users;
|
|
6951
|
-
readonly exams: Exams;
|
|
6952
7209
|
readonly practiceSpaces: PracticeSpaces;
|
|
6953
7210
|
readonly sourceMaterials: SourceMaterials;
|
|
6954
7211
|
readonly folders: Folders;
|