@examplary/sdk 2.8.0 → 2.9.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 CHANGED
@@ -425,6 +425,46 @@ interface paths {
425
425
  patch?: never;
426
426
  trace?: never;
427
427
  };
428
+ "/exams/{id}/sessions/scan-images": {
429
+ parameters: {
430
+ query?: never;
431
+ header?: never;
432
+ path?: never;
433
+ cookie?: never;
434
+ };
435
+ get?: never;
436
+ put?: never;
437
+ /**
438
+ * Scan images for student answers
439
+ * @description Start a background task to extract a student's answers from scanned page images and create a session.
440
+ */
441
+ post: operations["exams.sessions.scanImages"];
442
+ delete?: never;
443
+ options?: never;
444
+ head?: never;
445
+ patch?: never;
446
+ trace?: never;
447
+ };
448
+ "/exams/{id}/sessions/scan-student-name": {
449
+ parameters: {
450
+ query?: never;
451
+ header?: never;
452
+ path?: never;
453
+ cookie?: never;
454
+ };
455
+ get?: never;
456
+ put?: never;
457
+ /**
458
+ * Detect student name from scan
459
+ * @description Start a background task to detect the student name from a scanned page image.
460
+ */
461
+ post: operations["exams.sessions.scanStudentName"];
462
+ delete?: never;
463
+ options?: never;
464
+ head?: never;
465
+ patch?: never;
466
+ trace?: never;
467
+ };
428
468
  "/exams/{id}/sessions/scan-document": {
429
469
  parameters: {
430
470
  query?: never;
@@ -698,7 +738,11 @@ interface paths {
698
738
  delete?: never;
699
739
  options?: never;
700
740
  head?: never;
701
- patch?: never;
741
+ /**
742
+ * Update a question
743
+ * @description Update fields on a single question, such as its scoring configuration. Use `scoring.excludeFromGrading` to exclude a question from grading so it no longer counts towards the total points or grade of a session.
744
+ */
745
+ patch: operations["exams.questions.update"];
702
746
  trace?: never;
703
747
  };
704
748
  "/exams/{id}/questions/{questionId}/generate": {
@@ -1556,6 +1600,26 @@ interface paths {
1556
1600
  patch?: never;
1557
1601
  trace?: never;
1558
1602
  };
1603
+ "/practice-spaces/{id}/questions/{questionId}": {
1604
+ parameters: {
1605
+ query?: never;
1606
+ header?: never;
1607
+ path?: never;
1608
+ cookie?: never;
1609
+ };
1610
+ get?: never;
1611
+ put?: never;
1612
+ post?: never;
1613
+ delete?: never;
1614
+ options?: never;
1615
+ head?: never;
1616
+ /**
1617
+ * Update a practice space question
1618
+ * @description Update a specific question in a practice space.
1619
+ */
1620
+ patch: operations["practiceSpaces.updateQuestion"];
1621
+ trace?: never;
1622
+ };
1559
1623
  "/practice-spaces/{id}/students": {
1560
1624
  parameters: {
1561
1625
  query?: never;
@@ -2286,7 +2350,7 @@ interface operations {
2286
2350
  id: string;
2287
2351
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2288
2352
  title?: string | null;
2289
- /** @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. */
2353
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
2290
2354
  description?: string | null;
2291
2355
  /** @description The default amount of points to assign if this criterion or level is selected. */
2292
2356
  points?: number | null;
@@ -2299,7 +2363,7 @@ interface operations {
2299
2363
  id: string;
2300
2364
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2301
2365
  title?: string | null;
2302
- /** @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. */
2366
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
2303
2367
  description?: string | null;
2304
2368
  /** @description The default amount of points to assign if this criterion or level is selected. */
2305
2369
  points?: number | null;
@@ -2317,6 +2381,8 @@ interface operations {
2317
2381
  modelAnswer?: string | null;
2318
2382
  /** @description The ID of the scoring template applied, if any. */
2319
2383
  templateId?: string | null;
2384
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
2385
+ excludeFromGrading?: boolean | null;
2320
2386
  } | null;
2321
2387
  /** @description Tags associated with the question for categorization and search */
2322
2388
  tags?: string[] | null;
@@ -2828,7 +2894,7 @@ interface operations {
2828
2894
  id: string;
2829
2895
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2830
2896
  title?: string | null;
2831
- /** @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. */
2897
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
2832
2898
  description?: string | null;
2833
2899
  /** @description The default amount of points to assign if this criterion or level is selected. */
2834
2900
  points?: number | null;
@@ -2841,7 +2907,7 @@ interface operations {
2841
2907
  id: string;
2842
2908
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2843
2909
  title?: string | null;
2844
- /** @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. */
2910
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
2845
2911
  description?: string | null;
2846
2912
  /** @description The default amount of points to assign if this criterion or level is selected. */
2847
2913
  points?: number | null;
@@ -2859,6 +2925,8 @@ interface operations {
2859
2925
  modelAnswer?: string | null;
2860
2926
  /** @description The ID of the scoring template applied, if any. */
2861
2927
  templateId?: string | null;
2928
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
2929
+ excludeFromGrading?: boolean | null;
2862
2930
  } | null;
2863
2931
  showDoneButton?: boolean | null;
2864
2932
  hideTemplateOptions?: boolean | null;
@@ -3210,6 +3278,44 @@ interface operations {
3210
3278
  requestBody?: never;
3211
3279
  responses: never;
3212
3280
  };
3281
+ "exams.sessions.scanImages": {
3282
+ parameters: {
3283
+ query?: never;
3284
+ header?: never;
3285
+ path: {
3286
+ id: string;
3287
+ };
3288
+ cookie?: never;
3289
+ };
3290
+ requestBody?: {
3291
+ content: {
3292
+ "application/json": {
3293
+ images: string[];
3294
+ studentName?: string;
3295
+ };
3296
+ };
3297
+ };
3298
+ responses: never;
3299
+ };
3300
+ "exams.sessions.scanStudentName": {
3301
+ parameters: {
3302
+ query?: never;
3303
+ header?: never;
3304
+ path: {
3305
+ id: string;
3306
+ };
3307
+ cookie?: never;
3308
+ };
3309
+ requestBody?: {
3310
+ content: {
3311
+ "application/json": {
3312
+ /** Format: uri */
3313
+ image: string;
3314
+ };
3315
+ };
3316
+ };
3317
+ responses: never;
3318
+ };
3213
3319
  "exams.sessions.scanDocument": {
3214
3320
  parameters: {
3215
3321
  query?: never;
@@ -3224,6 +3330,7 @@ interface operations {
3224
3330
  "application/json": {
3225
3331
  /** Format: uri */
3226
3332
  documentUrl: string;
3333
+ contentType?: string | null;
3227
3334
  };
3228
3335
  };
3229
3336
  };
@@ -3535,6 +3642,67 @@ interface operations {
3535
3642
  requestBody?: never;
3536
3643
  responses: never;
3537
3644
  };
3645
+ "exams.questions.update": {
3646
+ parameters: {
3647
+ query?: never;
3648
+ header?: never;
3649
+ path: {
3650
+ id: string;
3651
+ questionId: string;
3652
+ };
3653
+ cookie?: never;
3654
+ };
3655
+ requestBody?: {
3656
+ content: {
3657
+ "application/json": {
3658
+ /** @description Scoring configuration to merge into the question's existing scoring. */
3659
+ scoring?: {
3660
+ /** @description The type of rubric. Different rubric types have different shapes. */
3661
+ rubricType?: ("simple" | "analytical" | "holistic" | "exact-values") | null;
3662
+ /** @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. */
3663
+ criteria?: {
3664
+ id: string;
3665
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
3666
+ title?: string | null;
3667
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
3668
+ description?: string | null;
3669
+ /** @description The default amount of points to assign if this criterion or level is selected. */
3670
+ points?: number | null;
3671
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
3672
+ minPoints?: number | null;
3673
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
3674
+ maxPoints?: number | null;
3675
+ /** @description The levels of a analytical rubric criterion. Each level represents a different point value and description for the same criterion. */
3676
+ levels?: {
3677
+ id: string;
3678
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
3679
+ title?: string | null;
3680
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
3681
+ description?: string | null;
3682
+ /** @description The default amount of points to assign if this criterion or level is selected. */
3683
+ points?: number | null;
3684
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
3685
+ minPoints?: number | null;
3686
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
3687
+ maxPoints?: number | null;
3688
+ }[] | null;
3689
+ }[] | null;
3690
+ /** @description Whether exact values matching should be case insensitive. Only applicable for 'exact-values' rubric type. */
3691
+ exactValuesCaseInsensitive?: boolean | null;
3692
+ /** @description Optional additional grading guidance text. */
3693
+ guidance?: string | null;
3694
+ /** @description Optional example model answer text to show to graders. */
3695
+ modelAnswer?: string | null;
3696
+ /** @description The ID of the scoring template applied, if any. */
3697
+ templateId?: string | null;
3698
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
3699
+ excludeFromGrading?: boolean | null;
3700
+ };
3701
+ };
3702
+ };
3703
+ };
3704
+ responses: never;
3705
+ };
3538
3706
  "exams.questions.regenerate": {
3539
3707
  parameters: {
3540
3708
  query?: never;
@@ -3669,7 +3837,7 @@ interface operations {
3669
3837
  id: string;
3670
3838
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
3671
3839
  title?: string | null;
3672
- /** @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. */
3840
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
3673
3841
  description?: string | null;
3674
3842
  /** @description The default amount of points to assign if this criterion or level is selected. */
3675
3843
  points?: number | null;
@@ -3682,7 +3850,7 @@ interface operations {
3682
3850
  id: string;
3683
3851
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
3684
3852
  title?: string | null;
3685
- /** @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. */
3853
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
3686
3854
  description?: string | null;
3687
3855
  /** @description The default amount of points to assign if this criterion or level is selected. */
3688
3856
  points?: number | null;
@@ -3700,6 +3868,8 @@ interface operations {
3700
3868
  modelAnswer?: string | null;
3701
3869
  /** @description The ID of the scoring template applied, if any. */
3702
3870
  templateId?: string | null;
3871
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
3872
+ excludeFromGrading?: boolean | null;
3703
3873
  } | null;
3704
3874
  /** @description Tags associated with the question for categorization and search */
3705
3875
  tags?: string[] | null;
@@ -4862,6 +5032,25 @@ interface operations {
4862
5032
  };
4863
5033
  responses: never;
4864
5034
  };
5035
+ "practiceSpaces.updateQuestion": {
5036
+ parameters: {
5037
+ query?: never;
5038
+ header?: never;
5039
+ path: {
5040
+ id: string;
5041
+ questionId: string;
5042
+ };
5043
+ cookie?: never;
5044
+ };
5045
+ requestBody?: {
5046
+ content: {
5047
+ "application/json": {
5048
+ manualScore?: number;
5049
+ };
5050
+ };
5051
+ };
5052
+ responses: never;
5053
+ };
4865
5054
  "practiceSpaces.students.list": {
4866
5055
  parameters: {
4867
5056
  query?: never;
@@ -5792,7 +5981,7 @@ interface operations {
5792
5981
  id: string;
5793
5982
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5794
5983
  title?: string | null;
5795
- /** @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. */
5984
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5796
5985
  description?: string | null;
5797
5986
  /** @description The default amount of points to assign if this criterion or level is selected. */
5798
5987
  points?: number | null;
@@ -5805,7 +5994,7 @@ interface operations {
5805
5994
  id: string;
5806
5995
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5807
5996
  title?: string | null;
5808
- /** @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. */
5997
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5809
5998
  description?: string | null;
5810
5999
  /** @description The default amount of points to assign if this criterion or level is selected. */
5811
6000
  points?: number | null;
@@ -5823,6 +6012,8 @@ interface operations {
5823
6012
  modelAnswer?: string | null;
5824
6013
  /** @description The ID of the scoring template applied, if any. */
5825
6014
  templateId?: string | null;
6015
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
6016
+ excludeFromGrading?: boolean | null;
5826
6017
  } | null;
5827
6018
  /** @description Tags associated with the question for categorization and search */
5828
6019
  tags?: string[] | null;
@@ -5888,7 +6079,7 @@ interface operations {
5888
6079
  id: string;
5889
6080
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5890
6081
  title?: string | null;
5891
- /** @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. */
6082
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5892
6083
  description?: string | null;
5893
6084
  /** @description The default amount of points to assign if this criterion or level is selected. */
5894
6085
  points?: number | null;
@@ -5901,7 +6092,7 @@ interface operations {
5901
6092
  id: string;
5902
6093
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5903
6094
  title?: string | null;
5904
- /** @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. */
6095
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5905
6096
  description?: string | null;
5906
6097
  /** @description The default amount of points to assign if this criterion or level is selected. */
5907
6098
  points?: number | null;
@@ -5919,6 +6110,8 @@ interface operations {
5919
6110
  modelAnswer?: string | null;
5920
6111
  /** @description The ID of the scoring template applied, if any. */
5921
6112
  templateId?: string | null;
6113
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
6114
+ excludeFromGrading?: boolean | null;
5922
6115
  } | null;
5923
6116
  /** @description Tags associated with the question for categorization and search */
5924
6117
  tags?: string[] | null;
@@ -5969,7 +6162,7 @@ interface operations {
5969
6162
  id: string;
5970
6163
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5971
6164
  title?: string | null;
5972
- /** @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. */
6165
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5973
6166
  description?: string | null;
5974
6167
  /** @description The default amount of points to assign if this criterion or level is selected. */
5975
6168
  points?: number | null;
@@ -5982,7 +6175,7 @@ interface operations {
5982
6175
  id: string;
5983
6176
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
5984
6177
  title?: string | null;
5985
- /** @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. */
6178
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
5986
6179
  description?: string | null;
5987
6180
  /** @description The default amount of points to assign if this criterion or level is selected. */
5988
6181
  points?: number | null;
@@ -6000,6 +6193,8 @@ interface operations {
6000
6193
  modelAnswer?: string | null;
6001
6194
  /** @description The ID of the scoring template applied, if any. */
6002
6195
  templateId?: string | null;
6196
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
6197
+ excludeFromGrading?: boolean | null;
6003
6198
  };
6004
6199
  };
6005
6200
  };
@@ -6058,7 +6253,7 @@ interface operations {
6058
6253
  id: string;
6059
6254
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
6060
6255
  title?: string | null;
6061
- /** @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. */
6256
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
6062
6257
  description?: string | null;
6063
6258
  /** @description The default amount of points to assign if this criterion or level is selected. */
6064
6259
  points?: number | null;
@@ -6071,7 +6266,7 @@ interface operations {
6071
6266
  id: string;
6072
6267
  /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
6073
6268
  title?: string | null;
6074
- /** @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. */
6269
+ /** @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. For exact values rubrics, this contains the specific value that must be matched exactly (no AI used in this matching, just string comparison). */
6075
6270
  description?: string | null;
6076
6271
  /** @description The default amount of points to assign if this criterion or level is selected. */
6077
6272
  points?: number | null;
@@ -6089,6 +6284,8 @@ interface operations {
6089
6284
  modelAnswer?: string | null;
6090
6285
  /** @description The ID of the scoring template applied, if any. */
6091
6286
  templateId?: string | null;
6287
+ /** @description Whether this question is excluded from grading. Excluded questions do not count towards the total points or grade of a session, but can still be answered and reviewed. */
6288
+ excludeFromGrading?: boolean | null;
6092
6289
  };
6093
6290
  };
6094
6291
  };
@@ -6246,6 +6443,12 @@ interface _PathOverrides {
6246
6443
  "exams.sessions.scan": {
6247
6444
  examId: string;
6248
6445
  };
6446
+ "exams.sessions.scanImages": {
6447
+ examId: string;
6448
+ };
6449
+ "exams.sessions.scanStudentName": {
6450
+ examId: string;
6451
+ };
6249
6452
  "exams.sessions.scanDocument": {
6250
6453
  examId: string;
6251
6454
  };
@@ -6315,6 +6518,10 @@ interface _PathOverrides {
6315
6518
  examId: string;
6316
6519
  questionId: string;
6317
6520
  };
6521
+ "exams.questions.update": {
6522
+ examId: string;
6523
+ questionId: string;
6524
+ };
6318
6525
  "exams.questions.regenerate": {
6319
6526
  examId: string;
6320
6527
  questionId: string;
@@ -6411,6 +6618,10 @@ interface _PathOverrides {
6411
6618
  "practiceSpaces.generateTopicFeedback": {
6412
6619
  practiceSpaceId: string;
6413
6620
  };
6621
+ "practiceSpaces.updateQuestion": {
6622
+ practiceSpaceId: string;
6623
+ questionId: string;
6624
+ };
6414
6625
  "practiceSpaces.students.list": {
6415
6626
  practiceSpaceId: string;
6416
6627
  };
@@ -6835,6 +7046,22 @@ declare class ExamsSessions {
6835
7046
  */
6836
7047
  scan(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scan">>;
6837
7048
  scan(args: Args<"exams.sessions.scan">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scan">>;
7049
+ /**
7050
+ * Scan images for student answers
7051
+ *
7052
+ * Start a background task to extract a student's answers from scanned page images and create a session.
7053
+ *
7054
+ * API endpoint: `POST /exams/{examId}/sessions/scan-images`
7055
+ */
7056
+ scanImages(args: Args<"exams.sessions.scanImages">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scanImages">>;
7057
+ /**
7058
+ * Detect student name from scan
7059
+ *
7060
+ * Start a background task to detect the student name from a scanned page image.
7061
+ *
7062
+ * API endpoint: `POST /exams/{examId}/sessions/scan-student-name`
7063
+ */
7064
+ scanStudentName(args: Args<"exams.sessions.scanStudentName">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.scanStudentName">>;
6838
7065
  /**
6839
7066
  * Scan document for student answers
6840
7067
  *
@@ -6943,6 +7170,14 @@ declare class ExamsQuestions {
6943
7170
  * API endpoint: `GET /exams/{examId}/questions/{questionId}`
6944
7171
  */
6945
7172
  get(args: Args<"exams.questions.get">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.get">>;
7173
+ /**
7174
+ * Update a question
7175
+ *
7176
+ * Update fields on a single question, such as its scoring configuration. Use `scoring.excludeFromGrading` to exclude a question from grading so it no longer counts towards the total points or grade of a session.
7177
+ *
7178
+ * API endpoint: `PATCH /exams/{examId}/questions/{questionId}`
7179
+ */
7180
+ update(args: Args<"exams.questions.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.questions.update">>;
6946
7181
  /**
6947
7182
  * Regenerate question
6948
7183
  *
@@ -7545,6 +7780,14 @@ declare class PracticeSpaces {
7545
7780
  * API endpoint: `POST /practice-spaces/{practiceSpaceId}/progress/topic-feedback`
7546
7781
  */
7547
7782
  generateTopicFeedback(args: Args<"practiceSpaces.generateTopicFeedback">, options?: ExamplaryRequestOptions): Promise<Response<"practiceSpaces.generateTopicFeedback">>;
7783
+ /**
7784
+ * Update a practice space question
7785
+ *
7786
+ * Update a specific question in a practice space.
7787
+ *
7788
+ * API endpoint: `PATCH /practice-spaces/{practiceSpaceId}/questions/{questionId}`
7789
+ */
7790
+ updateQuestion(args: Args<"practiceSpaces.updateQuestion">, options?: ExamplaryRequestOptions): Promise<Response<"practiceSpaces.updateQuestion">>;
7548
7791
  }
7549
7792
  declare class SourceMaterials {
7550
7793
  private readonly ctx;