@examplary/sdk 2.16.0 → 2.17.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
@@ -141,7 +141,7 @@ interface paths {
141
141
  patch?: never;
142
142
  trace?: never;
143
143
  };
144
- "/library/publishers/{publisherId}/items": {
144
+ "/library/collections/{collectionId}/items": {
145
145
  parameters: {
146
146
  query?: never;
147
147
  header?: never;
@@ -149,36 +149,16 @@ interface paths {
149
149
  cookie?: never;
150
150
  };
151
151
  /**
152
- * List items by publisher
153
- * @description Lists all library items for the specified publisher profile.
152
+ * List items by collection
153
+ * @description Lists all library items in the specified collection. Requires at least viewer access to the collection.
154
154
  */
155
- get: operations["library.publishers.items.list"];
155
+ get: operations["library.collections.items.list"];
156
156
  put?: never;
157
157
  /**
158
158
  * Create library item
159
- * @description Adds an item to the library. Only the publisher owner can add items to their publisher profile.
159
+ * @description Adds an item to a collection. Requires at least editor access to both the collection and the resource being added.
160
160
  */
161
- post: operations["library.publishers.items.create"];
162
- delete?: never;
163
- options?: never;
164
- head?: never;
165
- patch?: never;
166
- trace?: never;
167
- };
168
- "/library/items/featured": {
169
- parameters: {
170
- query?: never;
171
- header?: never;
172
- path?: never;
173
- cookie?: never;
174
- };
175
- /**
176
- * List featured library items
177
- * @description Lists all library items that are marked as featured.
178
- */
179
- get: operations["library.items.listFeatured"];
180
- put?: never;
181
- post?: never;
161
+ post: operations["library.collections.items.create"];
182
162
  delete?: never;
183
163
  options?: never;
184
164
  head?: never;
@@ -197,39 +177,19 @@ interface paths {
197
177
  post?: never;
198
178
  /**
199
179
  * Delete library item
200
- * @description Deletes a library item. Only the publisher owner can delete items from their publisher profile.
180
+ * @description Deletes a library item. Requires at least editor access to the collection it belongs to.
201
181
  */
202
182
  delete: operations["library.items.delete"];
203
183
  options?: never;
204
184
  head?: never;
205
185
  /**
206
186
  * Update library item
207
- * @description Updates a library item. Only the publisher owner can update items in their publisher profile.
187
+ * @description Updates a library item. Requires at least editor access to the collection it belongs to.
208
188
  */
209
189
  patch: operations["library.items.update"];
210
190
  trace?: never;
211
191
  };
212
- "/library/publishers/featured": {
213
- parameters: {
214
- query?: never;
215
- header?: never;
216
- path?: never;
217
- cookie?: never;
218
- };
219
- /**
220
- * List featured publishers
221
- * @description Lists all library publishers that are marked as featured.
222
- */
223
- get: operations["library.publishers.listFeatured"];
224
- put?: never;
225
- post?: never;
226
- delete?: never;
227
- options?: never;
228
- head?: never;
229
- patch?: never;
230
- trace?: never;
231
- };
232
- "/library/publishers": {
192
+ "/library/collections": {
233
193
  parameters: {
234
194
  query?: never;
235
195
  header?: never;
@@ -237,43 +197,23 @@ interface paths {
237
197
  cookie?: never;
238
198
  };
239
199
  /**
240
- * List all publishers
241
- * @description Lists all library publisher profiles.
200
+ * List collections
201
+ * @description Lists the library collections the current user has access to.
242
202
  */
243
- get: operations["library.publishers.listAll"];
203
+ get: operations["library.collections.list"];
244
204
  put?: never;
245
205
  /**
246
- * Create publisher
247
- * @description Creates a new library publisher profile.
248
- */
249
- post: operations["library.publishers.create"];
250
- delete?: never;
251
- options?: never;
252
- head?: never;
253
- patch?: never;
254
- trace?: never;
255
- };
256
- "/library/publishers/mine": {
257
- parameters: {
258
- query?: never;
259
- header?: never;
260
- path?: never;
261
- cookie?: never;
262
- };
263
- /**
264
- * List my publishers
265
- * @description Lists all library publisher profiles created by the authenticated user.
206
+ * Create collection
207
+ * @description Creates a new library collection. The creator becomes its owner.
266
208
  */
267
- get: operations["library.publishers.listMine"];
268
- put?: never;
269
- post?: never;
209
+ post: operations["library.collections.create"];
270
210
  delete?: never;
271
211
  options?: never;
272
212
  head?: never;
273
213
  patch?: never;
274
214
  trace?: never;
275
215
  };
276
- "/library/publishers/{publisherId}": {
216
+ "/library/collections/{collectionId}": {
277
217
  parameters: {
278
218
  query?: never;
279
219
  header?: never;
@@ -284,17 +224,17 @@ interface paths {
284
224
  put?: never;
285
225
  post?: never;
286
226
  /**
287
- * Delete publisher
288
- * @description Deletes a library publisher profile. Only the owner can delete their publisher profile.
227
+ * Delete collection
228
+ * @description Deletes a library collection. Only the collection owner can delete it.
289
229
  */
290
- delete: operations["library.publishers.delete"];
230
+ delete: operations["library.collections.delete"];
291
231
  options?: never;
292
232
  head?: never;
293
233
  /**
294
- * Update publisher
295
- * @description Updates a library publisher profile. Only the owner can update their publisher profile.
234
+ * Update collection
235
+ * @description Updates a library collection. Requires at least manager access to the collection.
296
236
  */
297
- patch: operations["library.publishers.update"];
237
+ patch: operations["library.collections.update"];
298
238
  trace?: never;
299
239
  };
300
240
  "/oauth/authorize": {
@@ -1061,6 +1001,90 @@ interface paths {
1061
1001
  patch?: never;
1062
1002
  trace?: never;
1063
1003
  };
1004
+ "/orgs": {
1005
+ parameters: {
1006
+ query?: never;
1007
+ header?: never;
1008
+ path?: never;
1009
+ cookie?: never;
1010
+ };
1011
+ /**
1012
+ * List all organizations
1013
+ * @description Retrieve a list of all organizations the authenticated user has access to. Optionally can also return pending and suggested org memberships.
1014
+ */
1015
+ get: operations["orgs.list"];
1016
+ put?: never;
1017
+ /**
1018
+ * Create a new organization
1019
+ * @description Create a new workspace to collaborate on resources within. Either specify a name, or pass an empty body to create a default workspace for the user.
1020
+ */
1021
+ post: operations["orgs.create"];
1022
+ delete?: never;
1023
+ options?: never;
1024
+ head?: never;
1025
+ patch?: never;
1026
+ trace?: never;
1027
+ };
1028
+ "/orgs/{id}/join": {
1029
+ parameters: {
1030
+ query?: never;
1031
+ header?: never;
1032
+ path?: never;
1033
+ cookie?: never;
1034
+ };
1035
+ get?: never;
1036
+ put?: never;
1037
+ /**
1038
+ * Request to join an organization
1039
+ * @description Request to join an existing organization. The request will be reviewed by the organization's administrators or auto-accepted.
1040
+ */
1041
+ post: operations["orgs.join"];
1042
+ delete?: never;
1043
+ options?: never;
1044
+ head?: never;
1045
+ patch?: never;
1046
+ trace?: never;
1047
+ };
1048
+ "/search/tokens": {
1049
+ parameters: {
1050
+ query?: never;
1051
+ header?: never;
1052
+ path?: never;
1053
+ cookie?: never;
1054
+ };
1055
+ /**
1056
+ * Get a search token
1057
+ * @description Returns a short-lived, permission-scoped TypeSense search key for the current user, along with the host and collection to query. The key cannot be widened: the filter it carries is enforced by TypeSense.
1058
+ */
1059
+ get: operations["search.tokens.get"];
1060
+ put?: never;
1061
+ post?: never;
1062
+ delete?: never;
1063
+ options?: never;
1064
+ head?: never;
1065
+ patch?: never;
1066
+ trace?: never;
1067
+ };
1068
+ "/search/tokens/public": {
1069
+ parameters: {
1070
+ query?: never;
1071
+ header?: never;
1072
+ path?: never;
1073
+ cookie?: never;
1074
+ };
1075
+ /**
1076
+ * Get a search token
1077
+ * @description Returns a short-lived, permission-scoped TypeSense search key for the public items.
1078
+ */
1079
+ get: operations["search.tokens.get-public"];
1080
+ put?: never;
1081
+ post?: never;
1082
+ delete?: never;
1083
+ options?: never;
1084
+ head?: never;
1085
+ patch?: never;
1086
+ trace?: never;
1087
+ };
1064
1088
  "/me": {
1065
1089
  parameters: {
1066
1090
  query?: never;
@@ -1085,6 +1109,26 @@ interface paths {
1085
1109
  patch: operations["me.update"];
1086
1110
  trace?: never;
1087
1111
  };
1112
+ "/me/email": {
1113
+ parameters: {
1114
+ query?: never;
1115
+ header?: never;
1116
+ path?: never;
1117
+ cookie?: never;
1118
+ };
1119
+ get?: never;
1120
+ put?: never;
1121
+ post?: never;
1122
+ delete?: never;
1123
+ options?: never;
1124
+ head?: never;
1125
+ /**
1126
+ * Change my email address
1127
+ * @description Send a confirmation link to a new email address. The account only moves to it once that link is opened. Not available in workspaces that manage their members' identities.
1128
+ */
1129
+ patch: operations["me.updateEmail"];
1130
+ trace?: never;
1131
+ };
1088
1132
  "/me/two-factor": {
1089
1133
  parameters: {
1090
1134
  query?: never;
@@ -1187,6 +1231,59 @@ interface paths {
1187
1231
  patch?: never;
1188
1232
  trace?: never;
1189
1233
  };
1234
+ "/org/email-domains": {
1235
+ parameters: {
1236
+ query?: never;
1237
+ header?: never;
1238
+ path?: never;
1239
+ cookie?: never;
1240
+ };
1241
+ /** List verified email domains */
1242
+ get: operations["org.emailDomains.list"];
1243
+ put?: never;
1244
+ /** Add an email domain to verify */
1245
+ post: operations["org.emailDomains.create"];
1246
+ delete?: never;
1247
+ options?: never;
1248
+ head?: never;
1249
+ patch?: never;
1250
+ trace?: never;
1251
+ };
1252
+ "/org/email-domains/{domain}": {
1253
+ parameters: {
1254
+ query?: never;
1255
+ header?: never;
1256
+ path?: never;
1257
+ cookie?: never;
1258
+ };
1259
+ get?: never;
1260
+ put?: never;
1261
+ post?: never;
1262
+ /** Remove a verified email domain */
1263
+ delete: operations["org.emailDomains.delete"];
1264
+ options?: never;
1265
+ head?: never;
1266
+ /** Update an email domain's join settings */
1267
+ patch: operations["org.emailDomains.update"];
1268
+ trace?: never;
1269
+ };
1270
+ "/org/email-domains/{domain}/verify": {
1271
+ parameters: {
1272
+ query?: never;
1273
+ header?: never;
1274
+ path?: never;
1275
+ cookie?: never;
1276
+ };
1277
+ get?: never;
1278
+ put?: never;
1279
+ /** Re-check an email domain's DNS verification record */
1280
+ post: operations["org.emailDomains.verify"];
1281
+ delete?: never;
1282
+ options?: never;
1283
+ head?: never;
1284
+ patch?: never;
1285
+ trace?: never;
1286
+ };
1190
1287
  "/org/identity-provider": {
1191
1288
  parameters: {
1192
1289
  query?: never;
@@ -1206,21 +1303,51 @@ interface paths {
1206
1303
  patch?: never;
1207
1304
  trace?: never;
1208
1305
  };
1209
- "/orgs": {
1306
+ "/org/join-requests": {
1210
1307
  parameters: {
1211
1308
  query?: never;
1212
1309
  header?: never;
1213
1310
  path?: never;
1214
1311
  cookie?: never;
1215
1312
  };
1216
- /** List all organizations */
1217
- get: operations["orgs.list"];
1313
+ /** List pending workspace join requests */
1314
+ get: operations["org.joinRequests.list"];
1218
1315
  put?: never;
1219
- /**
1220
- * Create a new organization
1221
- * @description Create a new workspace to collaborate with others on exams.
1222
- */
1223
- post: operations["orgs.create"];
1316
+ post?: never;
1317
+ delete?: never;
1318
+ options?: never;
1319
+ head?: never;
1320
+ patch?: never;
1321
+ trace?: never;
1322
+ };
1323
+ "/org/join-requests/{userId}/approve": {
1324
+ parameters: {
1325
+ query?: never;
1326
+ header?: never;
1327
+ path?: never;
1328
+ cookie?: never;
1329
+ };
1330
+ get?: never;
1331
+ put?: never;
1332
+ /** Approve a workspace join request */
1333
+ post: operations["org.joinRequests.approve"];
1334
+ delete?: never;
1335
+ options?: never;
1336
+ head?: never;
1337
+ patch?: never;
1338
+ trace?: never;
1339
+ };
1340
+ "/org/join-requests/{userId}/reject": {
1341
+ parameters: {
1342
+ query?: never;
1343
+ header?: never;
1344
+ path?: never;
1345
+ cookie?: never;
1346
+ };
1347
+ get?: never;
1348
+ put?: never;
1349
+ /** Reject a workspace join request */
1350
+ post: operations["org.joinRequests.reject"];
1224
1351
  delete?: never;
1225
1352
  options?: never;
1226
1353
  head?: never;
@@ -1915,6 +2042,26 @@ interface paths {
1915
2042
  patch?: never;
1916
2043
  trace?: never;
1917
2044
  };
2045
+ "/source-materials/tags": {
2046
+ parameters: {
2047
+ query?: never;
2048
+ header?: never;
2049
+ path?: never;
2050
+ cookie?: never;
2051
+ };
2052
+ /**
2053
+ * List source material tags
2054
+ * @description Returns a list of existing tags for the source materials the current user has access to. Useful for filtering, or for presenting autocomplete suggestions.
2055
+ */
2056
+ get: operations["sourceMaterials.listTags"];
2057
+ put?: never;
2058
+ post?: never;
2059
+ delete?: never;
2060
+ options?: never;
2061
+ head?: never;
2062
+ patch?: never;
2063
+ trace?: never;
2064
+ };
1918
2065
  "/source-materials/{id}": {
1919
2066
  parameters: {
1920
2067
  query?: never;
@@ -2014,7 +2161,11 @@ interface paths {
2014
2161
  path?: never;
2015
2162
  cookie?: never;
2016
2163
  };
2017
- get?: never;
2164
+ /**
2165
+ * Get folder
2166
+ * @description Get a single folder from the current workspace by its ID.
2167
+ */
2168
+ get: operations["folders.get"];
2018
2169
  put?: never;
2019
2170
  post?: never;
2020
2171
  /**
@@ -2467,6 +2618,8 @@ interface operations {
2467
2618
  enabled: boolean;
2468
2619
  /** @description Optional instructions to guide AI in grading this question type */
2469
2620
  instructions?: string | string[];
2621
+ /** @description Optional JSONata expression string starting with '=' that evaluates to an array of file URLs (from `answer` and `question`) to attach to the AI grading prompt, so the AI can read files that are part of the answer */
2622
+ fileInputs?: string;
2470
2623
  };
2471
2624
  /** @description Options for response processing */
2472
2625
  responseProcessing?: {
@@ -2535,6 +2688,11 @@ interface operations {
2535
2688
  /** @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. */
2536
2689
  excludeFromGrading?: boolean | null;
2537
2690
  } | null;
2691
+ /** @description Printing configuration for the question */
2692
+ printing?: {
2693
+ /** @description The height of the answer box in print mode, in pixels. */
2694
+ answerBoxHeight?: number;
2695
+ } | null;
2538
2696
  /** @description Tags associated with the question for categorization and search */
2539
2697
  tags?: string[] | null;
2540
2698
  /** @description Optional external ID for the question, used to link to external systems */
@@ -2758,35 +2916,30 @@ interface operations {
2758
2916
  requestBody?: never;
2759
2917
  responses: never;
2760
2918
  };
2761
- "library.publishers.items.list": {
2919
+ "library.collections.items.list": {
2762
2920
  parameters: {
2763
2921
  query?: never;
2764
2922
  header?: never;
2765
2923
  path: {
2766
- publisherId: string;
2924
+ collectionId: string;
2767
2925
  };
2768
2926
  cookie?: never;
2769
2927
  };
2770
2928
  requestBody?: never;
2771
2929
  responses: never;
2772
2930
  };
2773
- "library.publishers.items.create": {
2931
+ "library.collections.items.create": {
2774
2932
  parameters: {
2775
2933
  query?: never;
2776
2934
  header?: never;
2777
2935
  path: {
2778
- publisherId: string;
2936
+ collectionId: string;
2779
2937
  };
2780
2938
  cookie?: never;
2781
2939
  };
2782
2940
  requestBody?: {
2783
2941
  content: {
2784
2942
  "application/json": {
2785
- /**
2786
- * @description The type of resource being added to the library. Currently only 'exam' is supported.
2787
- * @constant
2788
- */
2789
- resourceType: "exam";
2790
2943
  /** @description The ID of the resource being added to the library, e.g. `exam_123`. */
2791
2944
  resourceId: string;
2792
2945
  /** @description A publicly visible description of the library item. */
@@ -2799,21 +2952,14 @@ interface operations {
2799
2952
  subject?: string | null;
2800
2953
  /** @description Optional tags, e.g. ['math', 'science']. */
2801
2954
  tags?: string[] | null;
2955
+ metadata?: {
2956
+ [key: string]: string | number | boolean | null;
2957
+ };
2802
2958
  };
2803
2959
  };
2804
2960
  };
2805
2961
  responses: never;
2806
2962
  };
2807
- "library.items.listFeatured": {
2808
- parameters: {
2809
- query?: never;
2810
- header?: never;
2811
- path?: never;
2812
- cookie?: never;
2813
- };
2814
- requestBody?: never;
2815
- responses: never;
2816
- };
2817
2963
  "library.items.delete": {
2818
2964
  parameters: {
2819
2965
  query?: never;
@@ -2840,30 +2986,22 @@ interface operations {
2840
2986
  "application/json": {
2841
2987
  /** @description A publicly visible description of the library item. */
2842
2988
  description?: string;
2843
- /** @description The name of the library item. If not provided, the name of the original resource will be used. */
2844
- name?: string | null;
2989
+ name?: string;
2845
2990
  /** @description The student level associated with the library item. */
2846
2991
  studentLevel?: string | null;
2847
2992
  /** @description The subject associated with the library item. */
2848
2993
  subject?: string | null;
2849
2994
  /** @description Optional tags, e.g. ['math', 'science']. */
2850
2995
  tags?: string[] | null;
2996
+ metadata?: {
2997
+ [key: string]: string | number | boolean | null;
2998
+ };
2851
2999
  };
2852
3000
  };
2853
3001
  };
2854
3002
  responses: never;
2855
3003
  };
2856
- "library.publishers.listFeatured": {
2857
- parameters: {
2858
- query?: never;
2859
- header?: never;
2860
- path?: never;
2861
- cookie?: never;
2862
- };
2863
- requestBody?: never;
2864
- responses: never;
2865
- };
2866
- "library.publishers.listAll": {
3004
+ "library.collections.list": {
2867
3005
  parameters: {
2868
3006
  query?: never;
2869
3007
  header?: never;
@@ -2873,7 +3011,7 @@ interface operations {
2873
3011
  requestBody?: never;
2874
3012
  responses: never;
2875
3013
  };
2876
- "library.publishers.create": {
3014
+ "library.collections.create": {
2877
3015
  parameters: {
2878
3016
  query?: never;
2879
3017
  header?: never;
@@ -2884,48 +3022,38 @@ interface operations {
2884
3022
  content: {
2885
3023
  "application/json": {
2886
3024
  name: string;
2887
- bio?: string;
3025
+ publisherName: string;
3026
+ description?: string;
2888
3027
  /** Format: uri */
2889
3028
  logoImageUrl?: string;
2890
- socialLinks?: {
3029
+ permissions?: {
3030
+ actor: string;
2891
3031
  /** @enum {string} */
2892
- type: "facebook" | "instagram" | "website" | "tiktok" | "youtube";
2893
- /** Format: uri */
2894
- href: string;
2895
- }[];
3032
+ role: "owner" | "manager" | "editor" | "viewer" | "participant";
3033
+ }[] | null;
2896
3034
  };
2897
3035
  };
2898
3036
  };
2899
3037
  responses: never;
2900
3038
  };
2901
- "library.publishers.listMine": {
2902
- parameters: {
2903
- query?: never;
2904
- header?: never;
2905
- path?: never;
2906
- cookie?: never;
2907
- };
2908
- requestBody?: never;
2909
- responses: never;
2910
- };
2911
- "library.publishers.delete": {
3039
+ "library.collections.delete": {
2912
3040
  parameters: {
2913
3041
  query?: never;
2914
3042
  header?: never;
2915
3043
  path: {
2916
- publisherId: string;
3044
+ collectionId: string;
2917
3045
  };
2918
3046
  cookie?: never;
2919
3047
  };
2920
3048
  requestBody?: never;
2921
3049
  responses: never;
2922
3050
  };
2923
- "library.publishers.update": {
3051
+ "library.collections.update": {
2924
3052
  parameters: {
2925
3053
  query?: never;
2926
3054
  header?: never;
2927
3055
  path: {
2928
- publisherId: string;
3056
+ collectionId: string;
2929
3057
  };
2930
3058
  cookie?: never;
2931
3059
  };
@@ -2933,15 +3061,10 @@ interface operations {
2933
3061
  content: {
2934
3062
  "application/json": {
2935
3063
  name?: string;
2936
- bio?: string;
3064
+ publisherName?: string;
3065
+ description?: string;
2937
3066
  /** Format: uri */
2938
3067
  logoImageUrl?: string;
2939
- socialLinks?: {
2940
- /** @enum {string} */
2941
- type: "facebook" | "instagram" | "website" | "tiktok" | "youtube";
2942
- /** Format: uri */
2943
- href: string;
2944
- }[];
2945
3068
  };
2946
3069
  };
2947
3070
  };
@@ -3988,6 +4111,11 @@ interface operations {
3988
4111
  /** @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. */
3989
4112
  excludeFromGrading?: boolean | null;
3990
4113
  };
4114
+ /** @description Printing configuration to merge into the question's existing printing. */
4115
+ printing?: {
4116
+ /** @description The height of the answer box in print mode, in pixels. */
4117
+ answerBoxHeight?: number;
4118
+ };
3991
4119
  };
3992
4120
  };
3993
4121
  };
@@ -4201,6 +4329,11 @@ interface operations {
4201
4329
  /** @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. */
4202
4330
  excludeFromGrading?: boolean | null;
4203
4331
  } | null;
4332
+ /** @description Printing configuration for the question */
4333
+ printing?: {
4334
+ /** @description The height of the answer box in print mode, in pixels. */
4335
+ answerBoxHeight?: number;
4336
+ } | null;
4204
4337
  /** @description Tags associated with the question for categorization and search */
4205
4338
  tags?: string[] | null;
4206
4339
  /** @description Optional external ID for the question, used to link to external systems */
@@ -4348,6 +4481,91 @@ interface operations {
4348
4481
  requestBody?: never;
4349
4482
  responses: never;
4350
4483
  };
4484
+ "orgs.list": {
4485
+ parameters: {
4486
+ query?: {
4487
+ /** @description Whether to include organizations the user can join or has a pending join request for. */
4488
+ includeUnconfirmed?: "true" | "false";
4489
+ };
4490
+ header?: never;
4491
+ path?: never;
4492
+ cookie?: never;
4493
+ };
4494
+ requestBody?: never;
4495
+ responses: {
4496
+ /** @description A list of organizations the authenticated user has access to. */
4497
+ 200: {
4498
+ headers: {
4499
+ [name: string]: unknown;
4500
+ };
4501
+ content: {
4502
+ "application/json": {
4503
+ id: string;
4504
+ name: string;
4505
+ /** @enum {string} */
4506
+ status: "approved" | "pending" | "suggested" | "rejected";
4507
+ /** @enum {string} */
4508
+ joinPolicy?: "request" | "auto";
4509
+ logoImageUrl?: string;
4510
+ /** @enum {string} */
4511
+ plan?: "free" | "basic" | "pro" | "enterprise";
4512
+ flags: {
4513
+ [key: string]: unknown;
4514
+ };
4515
+ }[];
4516
+ };
4517
+ };
4518
+ };
4519
+ };
4520
+ "orgs.create": {
4521
+ parameters: {
4522
+ query?: never;
4523
+ header?: never;
4524
+ path?: never;
4525
+ cookie?: never;
4526
+ };
4527
+ requestBody?: {
4528
+ content: {
4529
+ "application/json": {
4530
+ /** @description Name for the workspace. If left empty, a default name will be assigned based on the signed-in user. */
4531
+ name?: string;
4532
+ };
4533
+ };
4534
+ };
4535
+ responses: never;
4536
+ };
4537
+ "orgs.join": {
4538
+ parameters: {
4539
+ query?: never;
4540
+ header?: never;
4541
+ path: {
4542
+ id: string;
4543
+ };
4544
+ cookie?: never;
4545
+ };
4546
+ requestBody?: never;
4547
+ responses: never;
4548
+ };
4549
+ "search.tokens.get": {
4550
+ parameters: {
4551
+ query?: never;
4552
+ header?: never;
4553
+ path?: never;
4554
+ cookie?: never;
4555
+ };
4556
+ requestBody?: never;
4557
+ responses: never;
4558
+ };
4559
+ "search.tokens.get-public": {
4560
+ parameters: {
4561
+ query?: never;
4562
+ header?: never;
4563
+ path?: never;
4564
+ cookie?: never;
4565
+ };
4566
+ requestBody?: never;
4567
+ responses: never;
4568
+ };
4351
4569
  "me.get": {
4352
4570
  parameters: {
4353
4571
  query?: never;
@@ -4379,6 +4597,26 @@ interface operations {
4379
4597
  };
4380
4598
  responses: never;
4381
4599
  };
4600
+ "me.updateEmail": {
4601
+ parameters: {
4602
+ query?: never;
4603
+ header?: never;
4604
+ path?: never;
4605
+ cookie?: never;
4606
+ };
4607
+ requestBody?: {
4608
+ content: {
4609
+ "application/json": {
4610
+ /**
4611
+ * Format: email
4612
+ * @description The new email address to sign in with
4613
+ */
4614
+ email: string;
4615
+ };
4616
+ };
4617
+ };
4618
+ responses: never;
4619
+ };
4382
4620
  "me.twoFactor.get": {
4383
4621
  parameters: {
4384
4622
  query?: never;
@@ -4483,6 +4721,11 @@ interface operations {
4483
4721
  sharingBlockTeachersInvitingUsers?: boolean;
4484
4722
  /** @description Whether members signing in with a password must use two-factor authentication. */
4485
4723
  requireTwoFactor?: boolean;
4724
+ /**
4725
+ * @description Jurisdiction the organization's AI processing is confined to. Defaults to 'global'.
4726
+ * @enum {string}
4727
+ */
4728
+ aiRegion?: "global" | "eu";
4486
4729
  };
4487
4730
  };
4488
4731
  };
@@ -4497,7 +4740,23 @@ interface operations {
4497
4740
  cookie?: never;
4498
4741
  };
4499
4742
  requestBody?: never;
4500
- responses: never;
4743
+ responses: {
4744
+ /** @description Organization limits */
4745
+ 200: {
4746
+ headers: {
4747
+ [name: string]: unknown;
4748
+ };
4749
+ content: {
4750
+ "application/json": {
4751
+ /** @enum {string} */
4752
+ type: "daily-ai-credits" | "max-exams" | "max-practice-spaces";
4753
+ currentPercentage: number;
4754
+ warnThreshold: number;
4755
+ reached: boolean;
4756
+ }[];
4757
+ };
4758
+ };
4759
+ };
4501
4760
  };
4502
4761
  "org.customDomain.get": {
4503
4762
  parameters: {
@@ -4525,6 +4784,87 @@ interface operations {
4525
4784
  };
4526
4785
  responses: never;
4527
4786
  };
4787
+ "org.emailDomains.list": {
4788
+ parameters: {
4789
+ query?: never;
4790
+ header?: never;
4791
+ path?: never;
4792
+ cookie?: never;
4793
+ };
4794
+ requestBody?: never;
4795
+ responses: never;
4796
+ };
4797
+ "org.emailDomains.create": {
4798
+ parameters: {
4799
+ query?: never;
4800
+ header?: never;
4801
+ path?: never;
4802
+ cookie?: never;
4803
+ };
4804
+ requestBody?: {
4805
+ content: {
4806
+ "application/json": {
4807
+ domain: string;
4808
+ /** @enum {string} */
4809
+ joinPolicy: "request" | "auto";
4810
+ /**
4811
+ * @default teacher
4812
+ * @enum {string}
4813
+ */
4814
+ autoJoinRole?: "teacher" | "student";
4815
+ };
4816
+ };
4817
+ };
4818
+ responses: never;
4819
+ };
4820
+ "org.emailDomains.delete": {
4821
+ parameters: {
4822
+ query?: never;
4823
+ header?: never;
4824
+ path: {
4825
+ domain: string;
4826
+ };
4827
+ cookie?: never;
4828
+ };
4829
+ requestBody?: never;
4830
+ responses: never;
4831
+ };
4832
+ "org.emailDomains.update": {
4833
+ parameters: {
4834
+ query?: never;
4835
+ header?: never;
4836
+ path: {
4837
+ domain: string;
4838
+ };
4839
+ cookie?: never;
4840
+ };
4841
+ requestBody?: {
4842
+ content: {
4843
+ "application/json": {
4844
+ /** @enum {string} */
4845
+ joinPolicy: "request" | "auto";
4846
+ /**
4847
+ * @default teacher
4848
+ * @enum {string}
4849
+ */
4850
+ autoJoinRole?: "teacher" | "student";
4851
+ };
4852
+ };
4853
+ };
4854
+ responses: never;
4855
+ };
4856
+ "org.emailDomains.verify": {
4857
+ parameters: {
4858
+ query?: never;
4859
+ header?: never;
4860
+ path: {
4861
+ domain: string;
4862
+ };
4863
+ cookie?: never;
4864
+ };
4865
+ requestBody?: never;
4866
+ responses: never;
4867
+ };
4528
4868
  "org.identityProvider.get": {
4529
4869
  parameters: {
4530
4870
  query?: never;
@@ -4578,7 +4918,7 @@ interface operations {
4578
4918
  requestBody?: never;
4579
4919
  responses: never;
4580
4920
  };
4581
- "orgs.list": {
4921
+ "org.joinRequests.list": {
4582
4922
  parameters: {
4583
4923
  query?: never;
4584
4924
  header?: never;
@@ -4588,22 +4928,37 @@ interface operations {
4588
4928
  requestBody?: never;
4589
4929
  responses: never;
4590
4930
  };
4591
- "orgs.create": {
4931
+ "org.joinRequests.approve": {
4592
4932
  parameters: {
4593
4933
  query?: never;
4594
4934
  header?: never;
4595
- path?: never;
4935
+ path: {
4936
+ userId: string;
4937
+ };
4596
4938
  cookie?: never;
4597
4939
  };
4598
4940
  requestBody?: {
4599
4941
  content: {
4600
4942
  "application/json": {
4601
- name: string;
4943
+ /** @enum {string} */
4944
+ role: "student" | "teacher" | "admin";
4602
4945
  };
4603
4946
  };
4604
4947
  };
4605
4948
  responses: never;
4606
4949
  };
4950
+ "org.joinRequests.reject": {
4951
+ parameters: {
4952
+ query?: never;
4953
+ header?: never;
4954
+ path: {
4955
+ userId: string;
4956
+ };
4957
+ cookie?: never;
4958
+ };
4959
+ requestBody?: never;
4960
+ responses: never;
4961
+ };
4607
4962
  "audit-logs.list": {
4608
4963
  parameters: {
4609
4964
  query?: {
@@ -4876,7 +5231,7 @@ interface operations {
4876
5231
  /** Format: uri */
4877
5232
  avatar?: string;
4878
5233
  /** @enum {string} */
4879
- type: "user" | "group" | "org";
5234
+ type: "user" | "group" | "org" | "public";
4880
5235
  /** @enum {string} */
4881
5236
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
4882
5237
  };
@@ -4921,7 +5276,7 @@ interface operations {
4921
5276
  requestBody?: {
4922
5277
  content: {
4923
5278
  "application/json": {
4924
- /** @description The ID of the actor to assign the permission to, e.g. `user_1234`, `group_1234` or `org_1234`. */
5279
+ /** @description The ID of the actor to assign the permission to, e.g. `user_1234`, `group_1234`, `org_1234` or `public`. */
4925
5280
  actor: string;
4926
5281
  /** @enum {string} */
4927
5282
  role: "owner" | "manager" | "editor" | "viewer" | "participant";
@@ -4955,7 +5310,7 @@ interface operations {
4955
5310
  /** Format: uri */
4956
5311
  avatar?: string;
4957
5312
  /** @enum {string} */
4958
- type: "user" | "group" | "org";
5313
+ type: "user" | "group" | "org" | "public";
4959
5314
  /** @enum {string} */
4960
5315
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
4961
5316
  };
@@ -4993,7 +5348,7 @@ interface operations {
4993
5348
  header?: never;
4994
5349
  path: {
4995
5350
  /** @description The ID of the actor to check role for, e.g. `user_abcd`. */
4996
- actor: ((string) | "me") | string;
5351
+ actor: (((string) | "me") | "public") | string;
4997
5352
  /** @description The ID of the resource to check role for, e.g. `exam_1234`. */
4998
5353
  resource: string;
4999
5354
  };
@@ -5014,7 +5369,7 @@ interface operations {
5014
5369
  /** Format: uri */
5015
5370
  avatar?: string;
5016
5371
  /** @enum {string} */
5017
- type: "user" | "group" | "org";
5372
+ type: "user" | "group" | "org" | "public";
5018
5373
  /** @enum {string} */
5019
5374
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
5020
5375
  };
@@ -5059,7 +5414,7 @@ interface operations {
5059
5414
  header?: never;
5060
5415
  path: {
5061
5416
  resource: string;
5062
- actor: (string) | string;
5417
+ actor: ((string) | string) | "public";
5063
5418
  };
5064
5419
  cookie?: never;
5065
5420
  };
@@ -5618,6 +5973,7 @@ interface operations {
5618
5973
  /** @enum {string} */
5619
5974
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5620
5975
  numberOfPages?: number;
5976
+ tags?: string[];
5621
5977
  chapterMarkers?: {
5622
5978
  title: string;
5623
5979
  startPage: number;
@@ -5671,6 +6027,8 @@ interface operations {
5671
6027
  expires?: string;
5672
6028
  /** @description An optional external identifier for the source material. */
5673
6029
  externalId?: string;
6030
+ /** @description Optional tags for the source material */
6031
+ tags?: string[];
5674
6032
  } & {
5675
6033
  [key: string]: unknown;
5676
6034
  };
@@ -5712,6 +6070,7 @@ interface operations {
5712
6070
  /** @enum {string} */
5713
6071
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5714
6072
  numberOfPages?: number;
6073
+ tags?: string[];
5715
6074
  chapterMarkers?: {
5716
6075
  title: string;
5717
6076
  startPage: number;
@@ -5746,6 +6105,25 @@ interface operations {
5746
6105
  };
5747
6106
  };
5748
6107
  };
6108
+ "sourceMaterials.listTags": {
6109
+ parameters: {
6110
+ query?: never;
6111
+ header?: never;
6112
+ path?: never;
6113
+ cookie?: never;
6114
+ };
6115
+ requestBody?: never;
6116
+ responses: {
6117
+ 200: {
6118
+ headers: {
6119
+ [name: string]: unknown;
6120
+ };
6121
+ content: {
6122
+ "application/json": string[];
6123
+ };
6124
+ };
6125
+ };
6126
+ };
5749
6127
  "sourceMaterials.get": {
5750
6128
  parameters: {
5751
6129
  query?: never;
@@ -5792,6 +6170,7 @@ interface operations {
5792
6170
  /** @enum {string} */
5793
6171
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5794
6172
  numberOfPages?: number;
6173
+ tags?: string[];
5795
6174
  chapterMarkers?: {
5796
6175
  title: string;
5797
6176
  startPage: number;
@@ -5852,6 +6231,8 @@ interface operations {
5852
6231
  "application/json": {
5853
6232
  /** @description The new name of the source material. */
5854
6233
  name?: string;
6234
+ /** @description Optional tags for the source material */
6235
+ tags?: string[];
5855
6236
  };
5856
6237
  };
5857
6238
  };
@@ -5875,6 +6256,8 @@ interface operations {
5875
6256
  endPage: number;
5876
6257
  /** @description Optional name for the new source material */
5877
6258
  name?: string;
6259
+ /** @description Optional tags for the source material */
6260
+ tags?: string[];
5878
6261
  };
5879
6262
  };
5880
6263
  };
@@ -5914,6 +6297,7 @@ interface operations {
5914
6297
  /** @enum {string} */
5915
6298
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5916
6299
  numberOfPages?: number;
6300
+ tags?: string[];
5917
6301
  chapterMarkers?: {
5918
6302
  title: string;
5919
6303
  startPage: number;
@@ -5989,6 +6373,18 @@ interface operations {
5989
6373
  };
5990
6374
  responses: never;
5991
6375
  };
6376
+ "folders.get": {
6377
+ parameters: {
6378
+ query?: never;
6379
+ header?: never;
6380
+ path: {
6381
+ id: string;
6382
+ };
6383
+ cookie?: never;
6384
+ };
6385
+ requestBody?: never;
6386
+ responses: never;
6387
+ };
5992
6388
  "folders.delete": {
5993
6389
  parameters: {
5994
6390
  query?: never;
@@ -6426,6 +6822,11 @@ interface operations {
6426
6822
  /** @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. */
6427
6823
  excludeFromGrading?: boolean | null;
6428
6824
  } | null;
6825
+ /** @description Printing configuration for the question */
6826
+ printing?: {
6827
+ /** @description The height of the answer box in print mode, in pixels. */
6828
+ answerBoxHeight?: number;
6829
+ } | null;
6429
6830
  /** @description Tags associated with the question for categorization and search */
6430
6831
  tags?: string[] | null;
6431
6832
  /** @description Optional external ID for the question, used to link to external systems */
@@ -6524,6 +6925,11 @@ interface operations {
6524
6925
  /** @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. */
6525
6926
  excludeFromGrading?: boolean | null;
6526
6927
  } | null;
6928
+ /** @description Printing configuration for the question */
6929
+ printing?: {
6930
+ /** @description The height of the answer box in print mode, in pixels. */
6931
+ answerBoxHeight?: number;
6932
+ } | null;
6527
6933
  /** @description Tags associated with the question for categorization and search */
6528
6934
  tags?: string[] | null;
6529
6935
  /** @description Optional external ID for the question, used to link to external systems */
@@ -6821,11 +7227,11 @@ interface _PathOverrides {
6821
7227
  "questionTypes.disable": {
6822
7228
  questionTypeId: string;
6823
7229
  };
6824
- "library.publishers.items.list": {
6825
- publisherId: string;
7230
+ "library.collections.items.list": {
7231
+ collectionId: string;
6826
7232
  };
6827
- "library.publishers.items.create": {
6828
- publisherId: string;
7233
+ "library.collections.items.create": {
7234
+ collectionId: string;
6829
7235
  };
6830
7236
  "library.items.update": {
6831
7237
  itemId: string;
@@ -6833,11 +7239,11 @@ interface _PathOverrides {
6833
7239
  "library.items.delete": {
6834
7240
  itemId: string;
6835
7241
  };
6836
- "library.publishers.update": {
6837
- publisherId: string;
7242
+ "library.collections.update": {
7243
+ collectionId: string;
6838
7244
  };
6839
- "library.publishers.delete": {
6840
- publisherId: string;
7245
+ "library.collections.delete": {
7246
+ collectionId: string;
6841
7247
  };
6842
7248
  "embedSessions.get": {
6843
7249
  id: string;
@@ -6984,6 +7390,24 @@ interface _PathOverrides {
6984
7390
  "exams.getContextSuggestions": {
6985
7391
  examId: string;
6986
7392
  };
7393
+ "orgs.join": {
7394
+ orgId: string;
7395
+ };
7396
+ "org.emailDomains.update": {
7397
+ domain: string;
7398
+ };
7399
+ "org.emailDomains.delete": {
7400
+ domain: string;
7401
+ };
7402
+ "org.emailDomains.verify": {
7403
+ domain: string;
7404
+ };
7405
+ "org.joinRequests.approve": {
7406
+ userId: string;
7407
+ };
7408
+ "org.joinRequests.reject": {
7409
+ userId: string;
7410
+ };
6987
7411
  "attributes.update": {
6988
7412
  id: string;
6989
7413
  };
@@ -7084,6 +7508,9 @@ interface _PathOverrides {
7084
7508
  "sourceMaterials.slice": {
7085
7509
  sourceMaterialId: string;
7086
7510
  };
7511
+ "folders.get": {
7512
+ id: string;
7513
+ };
7087
7514
  "folders.update": {
7088
7515
  id: string;
7089
7516
  };
@@ -7245,96 +7672,72 @@ declare class QuestionTypes {
7245
7672
  disable(questionTypeId: string, options?: ExamplaryRequestOptions): Promise<Response<"questionTypes.disable">>;
7246
7673
  disable(args: Args<"questionTypes.disable">, options?: ExamplaryRequestOptions): Promise<Response<"questionTypes.disable">>;
7247
7674
  }
7248
- declare class LibraryPublishersItems {
7675
+ declare class LibraryCollectionsItems {
7249
7676
  private readonly ctx;
7250
7677
  constructor(ctx: ClientContext);
7251
7678
  /**
7252
- * List items by publisher
7679
+ * List items by collection
7253
7680
  *
7254
- * Lists all library items for the specified publisher profile.
7681
+ * Lists all library items in the specified collection. Requires at least viewer access to the collection.
7255
7682
  *
7256
- * API endpoint: `GET /library/publishers/{publisherId}/items`
7683
+ * API endpoint: `GET /library/collections/{collectionId}/items`
7257
7684
  */
7258
- list(publisherId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.items.list">>;
7259
- list(args: Args<"library.publishers.items.list">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.items.list">>;
7685
+ list(collectionId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.list">>;
7686
+ list(args: Args<"library.collections.items.list">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.list">>;
7260
7687
  /**
7261
7688
  * Create library item
7262
7689
  *
7263
- * Adds an item to the library. Only the publisher owner can add items to their publisher profile.
7690
+ * Adds an item to a collection. Requires at least editor access to both the collection and the resource being added.
7264
7691
  *
7265
- * API endpoint: `POST /library/publishers/{publisherId}/items`
7692
+ * API endpoint: `POST /library/collections/{collectionId}/items`
7266
7693
  */
7267
- create(args: Args<"library.publishers.items.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.items.create">>;
7694
+ create(args: Args<"library.collections.items.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.create">>;
7268
7695
  }
7269
- declare class LibraryPublishers {
7696
+ declare class LibraryCollections {
7270
7697
  private readonly ctx;
7271
- readonly items: LibraryPublishersItems;
7698
+ readonly items: LibraryCollectionsItems;
7272
7699
  constructor(ctx: ClientContext);
7273
7700
  /**
7274
- * List featured publishers
7275
- *
7276
- * Lists all library publishers that are marked as featured.
7277
- *
7278
- * API endpoint: `GET /library/publishers/featured`
7279
- */
7280
- listFeatured(args?: Args<"library.publishers.listFeatured">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.listFeatured">>;
7281
- /**
7282
- * List all publishers
7283
- *
7284
- * Lists all library publisher profiles.
7285
- *
7286
- * API endpoint: `GET /library/publishers`
7287
- */
7288
- listAll(args?: Args<"library.publishers.listAll">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.listAll">>;
7289
- /**
7290
- * Create publisher
7701
+ * List collections
7291
7702
  *
7292
- * Creates a new library publisher profile.
7703
+ * Lists the library collections the current user has access to.
7293
7704
  *
7294
- * API endpoint: `POST /library/publishers`
7705
+ * API endpoint: `GET /library/collections`
7295
7706
  */
7296
- create(args?: Args<"library.publishers.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.create">>;
7707
+ list(args?: Args<"library.collections.list">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.list">>;
7297
7708
  /**
7298
- * List my publishers
7709
+ * Create collection
7299
7710
  *
7300
- * Lists all library publisher profiles created by the authenticated user.
7711
+ * Creates a new library collection. The creator becomes its owner.
7301
7712
  *
7302
- * API endpoint: `GET /library/publishers/mine`
7713
+ * API endpoint: `POST /library/collections`
7303
7714
  */
7304
- listMine(args?: Args<"library.publishers.listMine">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.listMine">>;
7715
+ create(args?: Args<"library.collections.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.create">>;
7305
7716
  /**
7306
- * Update publisher
7717
+ * Update collection
7307
7718
  *
7308
- * Updates a library publisher profile. Only the owner can update their publisher profile.
7719
+ * Updates a library collection. Requires at least manager access to the collection.
7309
7720
  *
7310
- * API endpoint: `PATCH /library/publishers/{publisherId}`
7721
+ * API endpoint: `PATCH /library/collections/{collectionId}`
7311
7722
  */
7312
- update(args: Args<"library.publishers.update">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.update">>;
7723
+ update(args: Args<"library.collections.update">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.update">>;
7313
7724
  /**
7314
- * Delete publisher
7725
+ * Delete collection
7315
7726
  *
7316
- * Deletes a library publisher profile. Only the owner can delete their publisher profile.
7727
+ * Deletes a library collection. Only the collection owner can delete it.
7317
7728
  *
7318
- * API endpoint: `DELETE /library/publishers/{publisherId}`
7729
+ * API endpoint: `DELETE /library/collections/{collectionId}`
7319
7730
  */
7320
- delete(publisherId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.delete">>;
7321
- delete(args: Args<"library.publishers.delete">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.delete">>;
7731
+ delete(collectionId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.delete">>;
7732
+ delete(args: Args<"library.collections.delete">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.delete">>;
7322
7733
  }
7323
7734
  declare class LibraryItems {
7324
7735
  private readonly ctx;
7325
7736
  constructor(ctx: ClientContext);
7326
- /**
7327
- * List featured library items
7328
- *
7329
- * Lists all library items that are marked as featured.
7330
- *
7331
- * API endpoint: `GET /library/items/featured`
7332
- */
7333
- listFeatured(args?: Args<"library.items.listFeatured">, options?: ExamplaryRequestOptions): Promise<Response<"library.items.listFeatured">>;
7334
7737
  /**
7335
7738
  * Update library item
7336
7739
  *
7337
- * Updates a library item. Only the publisher owner can update items in their publisher profile.
7740
+ * Updates a library item. Requires at least editor access to the collection it belongs to.
7338
7741
  *
7339
7742
  * API endpoint: `PATCH /library/items/{itemId}`
7340
7743
  */
@@ -7342,7 +7745,7 @@ declare class LibraryItems {
7342
7745
  /**
7343
7746
  * Delete library item
7344
7747
  *
7345
- * Deletes a library item. Only the publisher owner can delete items from their publisher profile.
7748
+ * Deletes a library item. Requires at least editor access to the collection it belongs to.
7346
7749
  *
7347
7750
  * API endpoint: `DELETE /library/items/{itemId}`
7348
7751
  */
@@ -7351,7 +7754,7 @@ declare class LibraryItems {
7351
7754
  }
7352
7755
  declare class Library {
7353
7756
  private readonly ctx;
7354
- readonly publishers: LibraryPublishers;
7757
+ readonly collections: LibraryCollections;
7355
7758
  readonly items: LibraryItems;
7356
7759
  constructor(ctx: ClientContext);
7357
7760
  }
@@ -7777,6 +8180,60 @@ declare class Exams {
7777
8180
  getContextSuggestions(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
7778
8181
  getContextSuggestions(args: Args<"exams.getContextSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
7779
8182
  }
8183
+ declare class Orgs {
8184
+ private readonly ctx;
8185
+ constructor(ctx: ClientContext);
8186
+ /**
8187
+ * List all organizations
8188
+ *
8189
+ * Retrieve a list of all organizations the authenticated user has access to. Optionally can also return pending and suggested org memberships.
8190
+ *
8191
+ * API endpoint: `GET /orgs`
8192
+ */
8193
+ list(args?: Args<"orgs.list">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.list">>;
8194
+ /**
8195
+ * Create a new organization
8196
+ *
8197
+ * Create a new workspace to collaborate on resources within. Either specify a name, or pass an empty body to create a default workspace for the user.
8198
+ *
8199
+ * API endpoint: `POST /orgs`
8200
+ */
8201
+ create(args?: Args<"orgs.create">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.create">>;
8202
+ /**
8203
+ * Request to join an organization
8204
+ *
8205
+ * Request to join an existing organization. The request will be reviewed by the organization's administrators or auto-accepted.
8206
+ *
8207
+ * API endpoint: `POST /orgs/{orgId}/join`
8208
+ */
8209
+ join(orgId: string, options?: ExamplaryRequestOptions): Promise<Response<"orgs.join">>;
8210
+ join(args: Args<"orgs.join">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.join">>;
8211
+ }
8212
+ declare class SearchTokens {
8213
+ private readonly ctx;
8214
+ constructor(ctx: ClientContext);
8215
+ /**
8216
+ * Get a search token
8217
+ *
8218
+ * Returns a short-lived, permission-scoped TypeSense search key for the current user, along with the host and collection to query. The key cannot be widened: the filter it carries is enforced by TypeSense.
8219
+ *
8220
+ * API endpoint: `GET /search/tokens`
8221
+ */
8222
+ get(args?: Args<"search.tokens.get">, options?: ExamplaryRequestOptions): Promise<Response<"search.tokens.get">>;
8223
+ /**
8224
+ * Get a search token
8225
+ *
8226
+ * Returns a short-lived, permission-scoped TypeSense search key for the public items.
8227
+ *
8228
+ * API endpoint: `GET /search/tokens/public`
8229
+ */
8230
+ getPublic(args?: Args<"search.tokens.get-public">, options?: ExamplaryRequestOptions): Promise<Response<"search.tokens.get-public">>;
8231
+ }
8232
+ declare class Search {
8233
+ private readonly ctx;
8234
+ readonly tokens: SearchTokens;
8235
+ constructor(ctx: ClientContext);
8236
+ }
7780
8237
  declare class MeTwoFactor {
7781
8238
  private readonly ctx;
7782
8239
  constructor(ctx: ClientContext);
@@ -7825,6 +8282,14 @@ declare class Me {
7825
8282
  * API endpoint: `PATCH /me`
7826
8283
  */
7827
8284
  update(args?: Args<"me.update">, options?: ExamplaryRequestOptions): Promise<Response<"me.update">>;
8285
+ /**
8286
+ * Change my email address
8287
+ *
8288
+ * Send a confirmation link to a new email address. The account only moves to it once that link is opened. Not available in workspaces that manage their members' identities.
8289
+ *
8290
+ * API endpoint: `PATCH /me/email`
8291
+ */
8292
+ updateEmail(args?: Args<"me.updateEmail">, options?: ExamplaryRequestOptions): Promise<Response<"me.updateEmail">>;
7828
8293
  }
7829
8294
  declare class Media {
7830
8295
  private readonly ctx;
@@ -7854,6 +8319,42 @@ declare class OrgCustomDomain {
7854
8319
  */
7855
8320
  update(args?: Args<"org.customDomain.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.customDomain.update">>;
7856
8321
  }
8322
+ declare class OrgEmailDomains {
8323
+ private readonly ctx;
8324
+ constructor(ctx: ClientContext);
8325
+ /**
8326
+ * List verified email domains
8327
+ *
8328
+ * API endpoint: `GET /org/email-domains`
8329
+ */
8330
+ list(args?: Args<"org.emailDomains.list">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.list">>;
8331
+ /**
8332
+ * Add an email domain to verify
8333
+ *
8334
+ * API endpoint: `POST /org/email-domains`
8335
+ */
8336
+ create(args?: Args<"org.emailDomains.create">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.create">>;
8337
+ /**
8338
+ * Update an email domain's join settings
8339
+ *
8340
+ * API endpoint: `PATCH /org/email-domains/{domain}`
8341
+ */
8342
+ update(args: Args<"org.emailDomains.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.update">>;
8343
+ /**
8344
+ * Remove a verified email domain
8345
+ *
8346
+ * API endpoint: `DELETE /org/email-domains/{domain}`
8347
+ */
8348
+ delete(domain: string, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.delete">>;
8349
+ delete(args: Args<"org.emailDomains.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.delete">>;
8350
+ /**
8351
+ * Re-check an email domain's DNS verification record
8352
+ *
8353
+ * API endpoint: `POST /org/email-domains/{domain}/verify`
8354
+ */
8355
+ verify(domain: string, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.verify">>;
8356
+ verify(args: Args<"org.emailDomains.verify">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.verify">>;
8357
+ }
7857
8358
  declare class OrgIdentityProvider {
7858
8359
  private readonly ctx;
7859
8360
  constructor(ctx: ClientContext);
@@ -7876,10 +8377,35 @@ declare class OrgIdentityProvider {
7876
8377
  */
7877
8378
  delete(args?: Args<"org.identityProvider.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.identityProvider.delete">>;
7878
8379
  }
8380
+ declare class OrgJoinRequests {
8381
+ private readonly ctx;
8382
+ constructor(ctx: ClientContext);
8383
+ /**
8384
+ * List pending workspace join requests
8385
+ *
8386
+ * API endpoint: `GET /org/join-requests`
8387
+ */
8388
+ list(args?: Args<"org.joinRequests.list">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.list">>;
8389
+ /**
8390
+ * Approve a workspace join request
8391
+ *
8392
+ * API endpoint: `POST /org/join-requests/{userId}/approve`
8393
+ */
8394
+ approve(args: Args<"org.joinRequests.approve">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.approve">>;
8395
+ /**
8396
+ * Reject a workspace join request
8397
+ *
8398
+ * API endpoint: `POST /org/join-requests/{userId}/reject`
8399
+ */
8400
+ reject(userId: string, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.reject">>;
8401
+ reject(args: Args<"org.joinRequests.reject">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.reject">>;
8402
+ }
7879
8403
  declare class Org {
7880
8404
  private readonly ctx;
7881
8405
  readonly customDomain: OrgCustomDomain;
8406
+ readonly emailDomains: OrgEmailDomains;
7882
8407
  readonly identityProvider: OrgIdentityProvider;
8408
+ readonly joinRequests: OrgJoinRequests;
7883
8409
  constructor(ctx: ClientContext);
7884
8410
  /**
7885
8411
  * Get organization
@@ -7906,24 +8432,6 @@ declare class Org {
7906
8432
  */
7907
8433
  limits(args?: Args<"org.limits">, options?: ExamplaryRequestOptions): Promise<Response<"org.limits">>;
7908
8434
  }
7909
- declare class Orgs {
7910
- private readonly ctx;
7911
- constructor(ctx: ClientContext);
7912
- /**
7913
- * List all organizations
7914
- *
7915
- * API endpoint: `GET /orgs`
7916
- */
7917
- list(args?: Args<"orgs.list">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.list">>;
7918
- /**
7919
- * Create a new organization
7920
- *
7921
- * Create a new workspace to collaborate with others on exams.
7922
- *
7923
- * API endpoint: `POST /orgs`
7924
- */
7925
- create(args?: Args<"orgs.create">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.create">>;
7926
- }
7927
8435
  declare class AuditLogs {
7928
8436
  private readonly ctx;
7929
8437
  constructor(ctx: ClientContext);
@@ -8335,6 +8843,14 @@ declare class SourceMaterials {
8335
8843
  * API endpoint: `POST /source-materials`
8336
8844
  */
8337
8845
  create(args?: Args<"sourceMaterials.create">, options?: ExamplaryRequestOptions): Promise<Response<"sourceMaterials.create">>;
8846
+ /**
8847
+ * List source material tags
8848
+ *
8849
+ * Returns a list of existing tags for the source materials the current user has access to. Useful for filtering, or for presenting autocomplete suggestions.
8850
+ *
8851
+ * API endpoint: `GET /source-materials/tags`
8852
+ */
8853
+ listTags(args?: Args<"sourceMaterials.listTags">, options?: ExamplaryRequestOptions): Promise<Response<"sourceMaterials.listTags">>;
8338
8854
  /**
8339
8855
  * Get source material
8340
8856
  *
@@ -8401,6 +8917,15 @@ declare class Folders {
8401
8917
  * API endpoint: `POST /folders`
8402
8918
  */
8403
8919
  create(args?: Args<"folders.create">, options?: ExamplaryRequestOptions): Promise<Response<"folders.create">>;
8920
+ /**
8921
+ * Get folder
8922
+ *
8923
+ * Get a single folder from the current workspace by its ID.
8924
+ *
8925
+ * API endpoint: `GET /folders/{id}`
8926
+ */
8927
+ get(id: string, options?: ExamplaryRequestOptions): Promise<Response<"folders.get">>;
8928
+ get(args: Args<"folders.get">, options?: ExamplaryRequestOptions): Promise<Response<"folders.get">>;
8404
8929
  /**
8405
8930
  * Update folder
8406
8931
  *
@@ -8631,10 +9156,11 @@ declare class Examplary {
8631
9156
  readonly oauth: Oauth;
8632
9157
  readonly embedSessions: EmbedSessions;
8633
9158
  readonly exams: Exams;
9159
+ readonly orgs: Orgs;
9160
+ readonly search: Search;
8634
9161
  readonly me: Me;
8635
9162
  readonly media: Media;
8636
9163
  readonly org: Org;
8637
- readonly orgs: Orgs;
8638
9164
  readonly auditLogs: AuditLogs;
8639
9165
  readonly apiKeys: ApiKeys;
8640
9166
  readonly attributes: Attributes;