@examplary/sdk 2.16.0 → 2.18.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": {
@@ -328,7 +268,7 @@ interface paths {
328
268
  put?: never;
329
269
  /**
330
270
  * OAuth token endpoint
331
- * @description Exchange authorization code for access token, or refresh an existing token.
271
+ * @description Exchange an authorization code for an access token, refresh an existing token, or obtain a client-credentials token (first-party clients only).
332
272
  */
333
273
  post: operations["oauth.token"];
334
274
  delete?: never;
@@ -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;
@@ -1542,7 +1669,11 @@ interface paths {
1542
1669
  path?: never;
1543
1670
  cookie?: never;
1544
1671
  };
1545
- get?: never;
1672
+ /**
1673
+ * Get user
1674
+ * @description Get details of a specific user within the workspace.
1675
+ */
1676
+ get: operations["users.get"];
1546
1677
  put?: never;
1547
1678
  post?: never;
1548
1679
  /**
@@ -1553,8 +1684,8 @@ interface paths {
1553
1684
  options?: never;
1554
1685
  head?: never;
1555
1686
  /**
1556
- * Update user role
1557
- * @description Update a user's role within the workspace.
1687
+ * Update user
1688
+ * @description Update a user's details within the workspace.
1558
1689
  */
1559
1690
  patch: operations["users.update"];
1560
1691
  trace?: never;
@@ -1915,6 +2046,26 @@ interface paths {
1915
2046
  patch?: never;
1916
2047
  trace?: never;
1917
2048
  };
2049
+ "/source-materials/tags": {
2050
+ parameters: {
2051
+ query?: never;
2052
+ header?: never;
2053
+ path?: never;
2054
+ cookie?: never;
2055
+ };
2056
+ /**
2057
+ * List source material tags
2058
+ * @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.
2059
+ */
2060
+ get: operations["sourceMaterials.listTags"];
2061
+ put?: never;
2062
+ post?: never;
2063
+ delete?: never;
2064
+ options?: never;
2065
+ head?: never;
2066
+ patch?: never;
2067
+ trace?: never;
2068
+ };
1918
2069
  "/source-materials/{id}": {
1919
2070
  parameters: {
1920
2071
  query?: never;
@@ -2014,7 +2165,11 @@ interface paths {
2014
2165
  path?: never;
2015
2166
  cookie?: never;
2016
2167
  };
2017
- get?: never;
2168
+ /**
2169
+ * Get folder
2170
+ * @description Get a single folder from the current workspace by its ID.
2171
+ */
2172
+ get: operations["folders.get"];
2018
2173
  put?: never;
2019
2174
  post?: never;
2020
2175
  /**
@@ -2467,6 +2622,8 @@ interface operations {
2467
2622
  enabled: boolean;
2468
2623
  /** @description Optional instructions to guide AI in grading this question type */
2469
2624
  instructions?: string | string[];
2625
+ /** @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 */
2626
+ fileInputs?: string;
2470
2627
  };
2471
2628
  /** @description Options for response processing */
2472
2629
  responseProcessing?: {
@@ -2535,6 +2692,11 @@ interface operations {
2535
2692
  /** @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
2693
  excludeFromGrading?: boolean | null;
2537
2694
  } | null;
2695
+ /** @description Printing configuration for the question */
2696
+ printing?: {
2697
+ /** @description The height of the answer box in print mode, in pixels. */
2698
+ answerBoxHeight?: number;
2699
+ } | null;
2538
2700
  /** @description Tags associated with the question for categorization and search */
2539
2701
  tags?: string[] | null;
2540
2702
  /** @description Optional external ID for the question, used to link to external systems */
@@ -2758,35 +2920,30 @@ interface operations {
2758
2920
  requestBody?: never;
2759
2921
  responses: never;
2760
2922
  };
2761
- "library.publishers.items.list": {
2923
+ "library.collections.items.list": {
2762
2924
  parameters: {
2763
2925
  query?: never;
2764
2926
  header?: never;
2765
2927
  path: {
2766
- publisherId: string;
2928
+ collectionId: string;
2767
2929
  };
2768
2930
  cookie?: never;
2769
2931
  };
2770
2932
  requestBody?: never;
2771
2933
  responses: never;
2772
2934
  };
2773
- "library.publishers.items.create": {
2935
+ "library.collections.items.create": {
2774
2936
  parameters: {
2775
2937
  query?: never;
2776
2938
  header?: never;
2777
2939
  path: {
2778
- publisherId: string;
2940
+ collectionId: string;
2779
2941
  };
2780
2942
  cookie?: never;
2781
2943
  };
2782
2944
  requestBody?: {
2783
2945
  content: {
2784
2946
  "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
2947
  /** @description The ID of the resource being added to the library, e.g. `exam_123`. */
2791
2948
  resourceId: string;
2792
2949
  /** @description A publicly visible description of the library item. */
@@ -2799,21 +2956,14 @@ interface operations {
2799
2956
  subject?: string | null;
2800
2957
  /** @description Optional tags, e.g. ['math', 'science']. */
2801
2958
  tags?: string[] | null;
2959
+ metadata?: {
2960
+ [key: string]: string | number | boolean | null;
2961
+ };
2802
2962
  };
2803
2963
  };
2804
2964
  };
2805
2965
  responses: never;
2806
2966
  };
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
2967
  "library.items.delete": {
2818
2968
  parameters: {
2819
2969
  query?: never;
@@ -2840,30 +2990,22 @@ interface operations {
2840
2990
  "application/json": {
2841
2991
  /** @description A publicly visible description of the library item. */
2842
2992
  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;
2993
+ name?: string;
2845
2994
  /** @description The student level associated with the library item. */
2846
2995
  studentLevel?: string | null;
2847
2996
  /** @description The subject associated with the library item. */
2848
2997
  subject?: string | null;
2849
2998
  /** @description Optional tags, e.g. ['math', 'science']. */
2850
2999
  tags?: string[] | null;
3000
+ metadata?: {
3001
+ [key: string]: string | number | boolean | null;
3002
+ };
2851
3003
  };
2852
3004
  };
2853
3005
  };
2854
3006
  responses: never;
2855
3007
  };
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": {
3008
+ "library.collections.list": {
2867
3009
  parameters: {
2868
3010
  query?: never;
2869
3011
  header?: never;
@@ -2873,7 +3015,7 @@ interface operations {
2873
3015
  requestBody?: never;
2874
3016
  responses: never;
2875
3017
  };
2876
- "library.publishers.create": {
3018
+ "library.collections.create": {
2877
3019
  parameters: {
2878
3020
  query?: never;
2879
3021
  header?: never;
@@ -2884,48 +3026,38 @@ interface operations {
2884
3026
  content: {
2885
3027
  "application/json": {
2886
3028
  name: string;
2887
- bio?: string;
3029
+ publisherName: string;
3030
+ description?: string;
2888
3031
  /** Format: uri */
2889
3032
  logoImageUrl?: string;
2890
- socialLinks?: {
3033
+ permissions?: {
3034
+ actor: string;
2891
3035
  /** @enum {string} */
2892
- type: "facebook" | "instagram" | "website" | "tiktok" | "youtube";
2893
- /** Format: uri */
2894
- href: string;
2895
- }[];
3036
+ role: "owner" | "manager" | "editor" | "viewer" | "participant";
3037
+ }[] | null;
2896
3038
  };
2897
3039
  };
2898
3040
  };
2899
3041
  responses: never;
2900
3042
  };
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": {
3043
+ "library.collections.delete": {
2912
3044
  parameters: {
2913
3045
  query?: never;
2914
3046
  header?: never;
2915
3047
  path: {
2916
- publisherId: string;
3048
+ collectionId: string;
2917
3049
  };
2918
3050
  cookie?: never;
2919
3051
  };
2920
3052
  requestBody?: never;
2921
3053
  responses: never;
2922
3054
  };
2923
- "library.publishers.update": {
3055
+ "library.collections.update": {
2924
3056
  parameters: {
2925
3057
  query?: never;
2926
3058
  header?: never;
2927
3059
  path: {
2928
- publisherId: string;
3060
+ collectionId: string;
2929
3061
  };
2930
3062
  cookie?: never;
2931
3063
  };
@@ -2933,15 +3065,10 @@ interface operations {
2933
3065
  content: {
2934
3066
  "application/json": {
2935
3067
  name?: string;
2936
- bio?: string;
3068
+ publisherName?: string;
3069
+ description?: string;
2937
3070
  /** Format: uri */
2938
3071
  logoImageUrl?: string;
2939
- socialLinks?: {
2940
- /** @enum {string} */
2941
- type: "facebook" | "instagram" | "website" | "tiktok" | "youtube";
2942
- /** Format: uri */
2943
- href: string;
2944
- }[];
2945
3072
  };
2946
3073
  };
2947
3074
  };
@@ -3988,6 +4115,11 @@ interface operations {
3988
4115
  /** @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
4116
  excludeFromGrading?: boolean | null;
3990
4117
  };
4118
+ /** @description Printing configuration to merge into the question's existing printing. */
4119
+ printing?: {
4120
+ /** @description The height of the answer box in print mode, in pixels. */
4121
+ answerBoxHeight?: number;
4122
+ };
3991
4123
  };
3992
4124
  };
3993
4125
  };
@@ -4201,6 +4333,11 @@ interface operations {
4201
4333
  /** @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
4334
  excludeFromGrading?: boolean | null;
4203
4335
  } | null;
4336
+ /** @description Printing configuration for the question */
4337
+ printing?: {
4338
+ /** @description The height of the answer box in print mode, in pixels. */
4339
+ answerBoxHeight?: number;
4340
+ } | null;
4204
4341
  /** @description Tags associated with the question for categorization and search */
4205
4342
  tags?: string[] | null;
4206
4343
  /** @description Optional external ID for the question, used to link to external systems */
@@ -4348,6 +4485,91 @@ interface operations {
4348
4485
  requestBody?: never;
4349
4486
  responses: never;
4350
4487
  };
4488
+ "orgs.list": {
4489
+ parameters: {
4490
+ query?: {
4491
+ /** @description Whether to include organizations the user can join or has a pending join request for. */
4492
+ includeUnconfirmed?: "true" | "false";
4493
+ };
4494
+ header?: never;
4495
+ path?: never;
4496
+ cookie?: never;
4497
+ };
4498
+ requestBody?: never;
4499
+ responses: {
4500
+ /** @description A list of organizations the authenticated user has access to. */
4501
+ 200: {
4502
+ headers: {
4503
+ [name: string]: unknown;
4504
+ };
4505
+ content: {
4506
+ "application/json": {
4507
+ id: string;
4508
+ name: string;
4509
+ /** @enum {string} */
4510
+ status: "approved" | "pending" | "suggested" | "rejected";
4511
+ /** @enum {string} */
4512
+ joinPolicy?: "request" | "auto";
4513
+ logoImageUrl?: string;
4514
+ /** @enum {string} */
4515
+ plan?: "free" | "basic" | "pro" | "enterprise";
4516
+ flags: {
4517
+ [key: string]: unknown;
4518
+ };
4519
+ }[];
4520
+ };
4521
+ };
4522
+ };
4523
+ };
4524
+ "orgs.create": {
4525
+ parameters: {
4526
+ query?: never;
4527
+ header?: never;
4528
+ path?: never;
4529
+ cookie?: never;
4530
+ };
4531
+ requestBody?: {
4532
+ content: {
4533
+ "application/json": {
4534
+ /** @description Name for the workspace. If left empty, a default name will be assigned based on the signed-in user. */
4535
+ name?: string;
4536
+ };
4537
+ };
4538
+ };
4539
+ responses: never;
4540
+ };
4541
+ "orgs.join": {
4542
+ parameters: {
4543
+ query?: never;
4544
+ header?: never;
4545
+ path: {
4546
+ id: string;
4547
+ };
4548
+ cookie?: never;
4549
+ };
4550
+ requestBody?: never;
4551
+ responses: never;
4552
+ };
4553
+ "search.tokens.get": {
4554
+ parameters: {
4555
+ query?: never;
4556
+ header?: never;
4557
+ path?: never;
4558
+ cookie?: never;
4559
+ };
4560
+ requestBody?: never;
4561
+ responses: never;
4562
+ };
4563
+ "search.tokens.get-public": {
4564
+ parameters: {
4565
+ query?: never;
4566
+ header?: never;
4567
+ path?: never;
4568
+ cookie?: never;
4569
+ };
4570
+ requestBody?: never;
4571
+ responses: never;
4572
+ };
4351
4573
  "me.get": {
4352
4574
  parameters: {
4353
4575
  query?: never;
@@ -4379,6 +4601,26 @@ interface operations {
4379
4601
  };
4380
4602
  responses: never;
4381
4603
  };
4604
+ "me.updateEmail": {
4605
+ parameters: {
4606
+ query?: never;
4607
+ header?: never;
4608
+ path?: never;
4609
+ cookie?: never;
4610
+ };
4611
+ requestBody?: {
4612
+ content: {
4613
+ "application/json": {
4614
+ /**
4615
+ * Format: email
4616
+ * @description The new email address to sign in with
4617
+ */
4618
+ email: string;
4619
+ };
4620
+ };
4621
+ };
4622
+ responses: never;
4623
+ };
4382
4624
  "me.twoFactor.get": {
4383
4625
  parameters: {
4384
4626
  query?: never;
@@ -4483,13 +4725,70 @@ interface operations {
4483
4725
  sharingBlockTeachersInvitingUsers?: boolean;
4484
4726
  /** @description Whether members signing in with a password must use two-factor authentication. */
4485
4727
  requireTwoFactor?: boolean;
4728
+ /**
4729
+ * @description Jurisdiction the organization's AI processing is confined to. Defaults to 'global'.
4730
+ * @enum {string}
4731
+ */
4732
+ aiRegion?: "global" | "eu";
4486
4733
  };
4487
4734
  };
4488
4735
  };
4489
4736
  };
4490
4737
  responses: never;
4491
4738
  };
4492
- "org.limits": {
4739
+ "org.limits": {
4740
+ parameters: {
4741
+ query?: never;
4742
+ header?: never;
4743
+ path?: never;
4744
+ cookie?: never;
4745
+ };
4746
+ requestBody?: never;
4747
+ responses: {
4748
+ /** @description Organization limits */
4749
+ 200: {
4750
+ headers: {
4751
+ [name: string]: unknown;
4752
+ };
4753
+ content: {
4754
+ "application/json": {
4755
+ /** @enum {string} */
4756
+ type: "daily-ai-credits" | "max-exams" | "max-practice-spaces";
4757
+ currentPercentage: number;
4758
+ warnThreshold: number;
4759
+ reached: boolean;
4760
+ }[];
4761
+ };
4762
+ };
4763
+ };
4764
+ };
4765
+ "org.customDomain.get": {
4766
+ parameters: {
4767
+ query?: never;
4768
+ header?: never;
4769
+ path?: never;
4770
+ cookie?: never;
4771
+ };
4772
+ requestBody?: never;
4773
+ responses: never;
4774
+ };
4775
+ "org.customDomain.update": {
4776
+ parameters: {
4777
+ query?: never;
4778
+ header?: never;
4779
+ path?: never;
4780
+ cookie?: never;
4781
+ };
4782
+ requestBody?: {
4783
+ content: {
4784
+ "application/json": {
4785
+ customDomain?: string | null;
4786
+ };
4787
+ };
4788
+ };
4789
+ responses: never;
4790
+ };
4791
+ "org.emailDomains.list": {
4493
4792
  parameters: {
4494
4793
  query?: never;
4495
4794
  header?: never;
@@ -4499,32 +4798,77 @@ interface operations {
4499
4798
  requestBody?: never;
4500
4799
  responses: never;
4501
4800
  };
4502
- "org.customDomain.get": {
4801
+ "org.emailDomains.create": {
4503
4802
  parameters: {
4504
4803
  query?: never;
4505
4804
  header?: never;
4506
4805
  path?: never;
4507
4806
  cookie?: never;
4508
4807
  };
4808
+ requestBody?: {
4809
+ content: {
4810
+ "application/json": {
4811
+ domain: string;
4812
+ /** @enum {string} */
4813
+ joinPolicy: "request" | "auto";
4814
+ /**
4815
+ * @default teacher
4816
+ * @enum {string}
4817
+ */
4818
+ autoJoinRole?: "teacher" | "student";
4819
+ };
4820
+ };
4821
+ };
4822
+ responses: never;
4823
+ };
4824
+ "org.emailDomains.delete": {
4825
+ parameters: {
4826
+ query?: never;
4827
+ header?: never;
4828
+ path: {
4829
+ domain: string;
4830
+ };
4831
+ cookie?: never;
4832
+ };
4509
4833
  requestBody?: never;
4510
4834
  responses: never;
4511
4835
  };
4512
- "org.customDomain.update": {
4836
+ "org.emailDomains.update": {
4513
4837
  parameters: {
4514
4838
  query?: never;
4515
4839
  header?: never;
4516
- path?: never;
4840
+ path: {
4841
+ domain: string;
4842
+ };
4517
4843
  cookie?: never;
4518
4844
  };
4519
4845
  requestBody?: {
4520
4846
  content: {
4521
4847
  "application/json": {
4522
- customDomain?: string | null;
4848
+ /** @enum {string} */
4849
+ joinPolicy: "request" | "auto";
4850
+ /**
4851
+ * @default teacher
4852
+ * @enum {string}
4853
+ */
4854
+ autoJoinRole?: "teacher" | "student";
4523
4855
  };
4524
4856
  };
4525
4857
  };
4526
4858
  responses: never;
4527
4859
  };
4860
+ "org.emailDomains.verify": {
4861
+ parameters: {
4862
+ query?: never;
4863
+ header?: never;
4864
+ path: {
4865
+ domain: string;
4866
+ };
4867
+ cookie?: never;
4868
+ };
4869
+ requestBody?: never;
4870
+ responses: never;
4871
+ };
4528
4872
  "org.identityProvider.get": {
4529
4873
  parameters: {
4530
4874
  query?: never;
@@ -4578,7 +4922,7 @@ interface operations {
4578
4922
  requestBody?: never;
4579
4923
  responses: never;
4580
4924
  };
4581
- "orgs.list": {
4925
+ "org.joinRequests.list": {
4582
4926
  parameters: {
4583
4927
  query?: never;
4584
4928
  header?: never;
@@ -4588,22 +4932,37 @@ interface operations {
4588
4932
  requestBody?: never;
4589
4933
  responses: never;
4590
4934
  };
4591
- "orgs.create": {
4935
+ "org.joinRequests.approve": {
4592
4936
  parameters: {
4593
4937
  query?: never;
4594
4938
  header?: never;
4595
- path?: never;
4939
+ path: {
4940
+ userId: string;
4941
+ };
4596
4942
  cookie?: never;
4597
4943
  };
4598
4944
  requestBody?: {
4599
4945
  content: {
4600
4946
  "application/json": {
4601
- name: string;
4947
+ /** @enum {string} */
4948
+ role: "student" | "teacher" | "admin";
4602
4949
  };
4603
4950
  };
4604
4951
  };
4605
4952
  responses: never;
4606
4953
  };
4954
+ "org.joinRequests.reject": {
4955
+ parameters: {
4956
+ query?: never;
4957
+ header?: never;
4958
+ path: {
4959
+ userId: string;
4960
+ };
4961
+ cookie?: never;
4962
+ };
4963
+ requestBody?: never;
4964
+ responses: never;
4965
+ };
4607
4966
  "audit-logs.list": {
4608
4967
  parameters: {
4609
4968
  query?: {
@@ -4876,7 +5235,7 @@ interface operations {
4876
5235
  /** Format: uri */
4877
5236
  avatar?: string;
4878
5237
  /** @enum {string} */
4879
- type: "user" | "group" | "org";
5238
+ type: "user" | "group" | "org" | "public";
4880
5239
  /** @enum {string} */
4881
5240
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
4882
5241
  };
@@ -4921,7 +5280,7 @@ interface operations {
4921
5280
  requestBody?: {
4922
5281
  content: {
4923
5282
  "application/json": {
4924
- /** @description The ID of the actor to assign the permission to, e.g. `user_1234`, `group_1234` or `org_1234`. */
5283
+ /** @description The ID of the actor to assign the permission to, e.g. `user_1234`, `group_1234`, `org_1234` or `public`. */
4925
5284
  actor: string;
4926
5285
  /** @enum {string} */
4927
5286
  role: "owner" | "manager" | "editor" | "viewer" | "participant";
@@ -4955,7 +5314,7 @@ interface operations {
4955
5314
  /** Format: uri */
4956
5315
  avatar?: string;
4957
5316
  /** @enum {string} */
4958
- type: "user" | "group" | "org";
5317
+ type: "user" | "group" | "org" | "public";
4959
5318
  /** @enum {string} */
4960
5319
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
4961
5320
  };
@@ -4993,7 +5352,7 @@ interface operations {
4993
5352
  header?: never;
4994
5353
  path: {
4995
5354
  /** @description The ID of the actor to check role for, e.g. `user_abcd`. */
4996
- actor: ((string) | "me") | string;
5355
+ actor: (((string) | "me") | "public") | string;
4997
5356
  /** @description The ID of the resource to check role for, e.g. `exam_1234`. */
4998
5357
  resource: string;
4999
5358
  };
@@ -5014,7 +5373,7 @@ interface operations {
5014
5373
  /** Format: uri */
5015
5374
  avatar?: string;
5016
5375
  /** @enum {string} */
5017
- type: "user" | "group" | "org";
5376
+ type: "user" | "group" | "org" | "public";
5018
5377
  /** @enum {string} */
5019
5378
  orgRole?: "owner" | "admin" | "teacher" | "student" | "member";
5020
5379
  };
@@ -5059,7 +5418,7 @@ interface operations {
5059
5418
  header?: never;
5060
5419
  path: {
5061
5420
  resource: string;
5062
- actor: (string) | string;
5421
+ actor: ((string) | string) | "public";
5063
5422
  };
5064
5423
  cookie?: never;
5065
5424
  };
@@ -5118,17 +5477,32 @@ interface operations {
5118
5477
  * @default teacher
5119
5478
  * @enum {string}
5120
5479
  */
5121
- role?: "owner" | "admin" | "teacher" | "student" | "member";
5480
+ role?: "admin" | "teacher" | "student" | "member";
5122
5481
  /**
5123
5482
  * @description Whether to send an invitation email. Defaults to false.
5124
5483
  * @default false
5125
5484
  */
5126
5485
  sendInvite?: boolean;
5486
+ metadata?: {
5487
+ [key: string]: string | number | boolean | null;
5488
+ };
5127
5489
  };
5128
5490
  };
5129
5491
  };
5130
5492
  responses: never;
5131
5493
  };
5494
+ "users.get": {
5495
+ parameters: {
5496
+ query?: never;
5497
+ header?: never;
5498
+ path: {
5499
+ id: string;
5500
+ };
5501
+ cookie?: never;
5502
+ };
5503
+ requestBody?: never;
5504
+ responses: never;
5505
+ };
5132
5506
  "users.delete": {
5133
5507
  parameters: {
5134
5508
  query?: never;
@@ -5150,7 +5524,23 @@ interface operations {
5150
5524
  };
5151
5525
  cookie?: never;
5152
5526
  };
5153
- requestBody?: never;
5527
+ requestBody?: {
5528
+ content: {
5529
+ "application/json": {
5530
+ /** @description The user's name */
5531
+ name?: string;
5532
+ /** @enum {string} */
5533
+ role?: "admin" | "teacher" | "student" | "member";
5534
+ /** @description A map of user preferences */
5535
+ preferences?: {
5536
+ [key: string]: unknown;
5537
+ };
5538
+ metadata?: {
5539
+ [key: string]: string | number | boolean | null;
5540
+ };
5541
+ };
5542
+ };
5543
+ };
5154
5544
  responses: never;
5155
5545
  };
5156
5546
  "users.resetTwoFactor": {
@@ -5618,6 +6008,7 @@ interface operations {
5618
6008
  /** @enum {string} */
5619
6009
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5620
6010
  numberOfPages?: number;
6011
+ tags?: string[];
5621
6012
  chapterMarkers?: {
5622
6013
  title: string;
5623
6014
  startPage: number;
@@ -5671,6 +6062,8 @@ interface operations {
5671
6062
  expires?: string;
5672
6063
  /** @description An optional external identifier for the source material. */
5673
6064
  externalId?: string;
6065
+ /** @description Optional tags for the source material */
6066
+ tags?: string[];
5674
6067
  } & {
5675
6068
  [key: string]: unknown;
5676
6069
  };
@@ -5712,6 +6105,7 @@ interface operations {
5712
6105
  /** @enum {string} */
5713
6106
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5714
6107
  numberOfPages?: number;
6108
+ tags?: string[];
5715
6109
  chapterMarkers?: {
5716
6110
  title: string;
5717
6111
  startPage: number;
@@ -5746,6 +6140,25 @@ interface operations {
5746
6140
  };
5747
6141
  };
5748
6142
  };
6143
+ "sourceMaterials.listTags": {
6144
+ parameters: {
6145
+ query?: never;
6146
+ header?: never;
6147
+ path?: never;
6148
+ cookie?: never;
6149
+ };
6150
+ requestBody?: never;
6151
+ responses: {
6152
+ 200: {
6153
+ headers: {
6154
+ [name: string]: unknown;
6155
+ };
6156
+ content: {
6157
+ "application/json": string[];
6158
+ };
6159
+ };
6160
+ };
6161
+ };
5749
6162
  "sourceMaterials.get": {
5750
6163
  parameters: {
5751
6164
  query?: never;
@@ -5792,6 +6205,7 @@ interface operations {
5792
6205
  /** @enum {string} */
5793
6206
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5794
6207
  numberOfPages?: number;
6208
+ tags?: string[];
5795
6209
  chapterMarkers?: {
5796
6210
  title: string;
5797
6211
  startPage: number;
@@ -5852,6 +6266,8 @@ interface operations {
5852
6266
  "application/json": {
5853
6267
  /** @description The new name of the source material. */
5854
6268
  name?: string;
6269
+ /** @description Optional tags for the source material */
6270
+ tags?: string[];
5855
6271
  };
5856
6272
  };
5857
6273
  };
@@ -5875,6 +6291,8 @@ interface operations {
5875
6291
  endPage: number;
5876
6292
  /** @description Optional name for the new source material */
5877
6293
  name?: string;
6294
+ /** @description Optional tags for the source material */
6295
+ tags?: string[];
5878
6296
  };
5879
6297
  };
5880
6298
  };
@@ -5914,6 +6332,7 @@ interface operations {
5914
6332
  /** @enum {string} */
5915
6333
  processingStatus?: "pending" | "converting" | "summarizing" | "extracting_topics" | "extracting_facts" | "completed" | "failed";
5916
6334
  numberOfPages?: number;
6335
+ tags?: string[];
5917
6336
  chapterMarkers?: {
5918
6337
  title: string;
5919
6338
  startPage: number;
@@ -5989,6 +6408,18 @@ interface operations {
5989
6408
  };
5990
6409
  responses: never;
5991
6410
  };
6411
+ "folders.get": {
6412
+ parameters: {
6413
+ query?: never;
6414
+ header?: never;
6415
+ path: {
6416
+ id: string;
6417
+ };
6418
+ cookie?: never;
6419
+ };
6420
+ requestBody?: never;
6421
+ responses: never;
6422
+ };
5992
6423
  "folders.delete": {
5993
6424
  parameters: {
5994
6425
  query?: never;
@@ -6426,6 +6857,11 @@ interface operations {
6426
6857
  /** @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
6858
  excludeFromGrading?: boolean | null;
6428
6859
  } | null;
6860
+ /** @description Printing configuration for the question */
6861
+ printing?: {
6862
+ /** @description The height of the answer box in print mode, in pixels. */
6863
+ answerBoxHeight?: number;
6864
+ } | null;
6429
6865
  /** @description Tags associated with the question for categorization and search */
6430
6866
  tags?: string[] | null;
6431
6867
  /** @description Optional external ID for the question, used to link to external systems */
@@ -6524,6 +6960,11 @@ interface operations {
6524
6960
  /** @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
6961
  excludeFromGrading?: boolean | null;
6526
6962
  } | null;
6963
+ /** @description Printing configuration for the question */
6964
+ printing?: {
6965
+ /** @description The height of the answer box in print mode, in pixels. */
6966
+ answerBoxHeight?: number;
6967
+ } | null;
6527
6968
  /** @description Tags associated with the question for categorization and search */
6528
6969
  tags?: string[] | null;
6529
6970
  /** @description Optional external ID for the question, used to link to external systems */
@@ -6821,11 +7262,11 @@ interface _PathOverrides {
6821
7262
  "questionTypes.disable": {
6822
7263
  questionTypeId: string;
6823
7264
  };
6824
- "library.publishers.items.list": {
6825
- publisherId: string;
7265
+ "library.collections.items.list": {
7266
+ collectionId: string;
6826
7267
  };
6827
- "library.publishers.items.create": {
6828
- publisherId: string;
7268
+ "library.collections.items.create": {
7269
+ collectionId: string;
6829
7270
  };
6830
7271
  "library.items.update": {
6831
7272
  itemId: string;
@@ -6833,11 +7274,11 @@ interface _PathOverrides {
6833
7274
  "library.items.delete": {
6834
7275
  itemId: string;
6835
7276
  };
6836
- "library.publishers.update": {
6837
- publisherId: string;
7277
+ "library.collections.update": {
7278
+ collectionId: string;
6838
7279
  };
6839
- "library.publishers.delete": {
6840
- publisherId: string;
7280
+ "library.collections.delete": {
7281
+ collectionId: string;
6841
7282
  };
6842
7283
  "embedSessions.get": {
6843
7284
  id: string;
@@ -6984,6 +7425,24 @@ interface _PathOverrides {
6984
7425
  "exams.getContextSuggestions": {
6985
7426
  examId: string;
6986
7427
  };
7428
+ "orgs.join": {
7429
+ orgId: string;
7430
+ };
7431
+ "org.emailDomains.update": {
7432
+ domain: string;
7433
+ };
7434
+ "org.emailDomains.delete": {
7435
+ domain: string;
7436
+ };
7437
+ "org.emailDomains.verify": {
7438
+ domain: string;
7439
+ };
7440
+ "org.joinRequests.approve": {
7441
+ userId: string;
7442
+ };
7443
+ "org.joinRequests.reject": {
7444
+ userId: string;
7445
+ };
6987
7446
  "attributes.update": {
6988
7447
  id: string;
6989
7448
  };
@@ -7010,6 +7469,9 @@ interface _PathOverrides {
7010
7469
  resource: string;
7011
7470
  actor: string;
7012
7471
  };
7472
+ "users.get": {
7473
+ id: string;
7474
+ };
7013
7475
  "users.update": {
7014
7476
  id: string;
7015
7477
  };
@@ -7084,6 +7546,9 @@ interface _PathOverrides {
7084
7546
  "sourceMaterials.slice": {
7085
7547
  sourceMaterialId: string;
7086
7548
  };
7549
+ "folders.get": {
7550
+ id: string;
7551
+ };
7087
7552
  "folders.update": {
7088
7553
  id: string;
7089
7554
  };
@@ -7245,96 +7710,72 @@ declare class QuestionTypes {
7245
7710
  disable(questionTypeId: string, options?: ExamplaryRequestOptions): Promise<Response<"questionTypes.disable">>;
7246
7711
  disable(args: Args<"questionTypes.disable">, options?: ExamplaryRequestOptions): Promise<Response<"questionTypes.disable">>;
7247
7712
  }
7248
- declare class LibraryPublishersItems {
7713
+ declare class LibraryCollectionsItems {
7249
7714
  private readonly ctx;
7250
7715
  constructor(ctx: ClientContext);
7251
7716
  /**
7252
- * List items by publisher
7717
+ * List items by collection
7253
7718
  *
7254
- * Lists all library items for the specified publisher profile.
7719
+ * Lists all library items in the specified collection. Requires at least viewer access to the collection.
7255
7720
  *
7256
- * API endpoint: `GET /library/publishers/{publisherId}/items`
7721
+ * API endpoint: `GET /library/collections/{collectionId}/items`
7257
7722
  */
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">>;
7723
+ list(collectionId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.list">>;
7724
+ list(args: Args<"library.collections.items.list">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.list">>;
7260
7725
  /**
7261
7726
  * Create library item
7262
7727
  *
7263
- * Adds an item to the library. Only the publisher owner can add items to their publisher profile.
7728
+ * Adds an item to a collection. Requires at least editor access to both the collection and the resource being added.
7264
7729
  *
7265
- * API endpoint: `POST /library/publishers/{publisherId}/items`
7730
+ * API endpoint: `POST /library/collections/{collectionId}/items`
7266
7731
  */
7267
- create(args: Args<"library.publishers.items.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.items.create">>;
7732
+ create(args: Args<"library.collections.items.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.items.create">>;
7268
7733
  }
7269
- declare class LibraryPublishers {
7734
+ declare class LibraryCollections {
7270
7735
  private readonly ctx;
7271
- readonly items: LibraryPublishersItems;
7736
+ readonly items: LibraryCollectionsItems;
7272
7737
  constructor(ctx: ClientContext);
7273
7738
  /**
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
7739
+ * List collections
7291
7740
  *
7292
- * Creates a new library publisher profile.
7741
+ * Lists the library collections the current user has access to.
7293
7742
  *
7294
- * API endpoint: `POST /library/publishers`
7743
+ * API endpoint: `GET /library/collections`
7295
7744
  */
7296
- create(args?: Args<"library.publishers.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.create">>;
7745
+ list(args?: Args<"library.collections.list">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.list">>;
7297
7746
  /**
7298
- * List my publishers
7747
+ * Create collection
7299
7748
  *
7300
- * Lists all library publisher profiles created by the authenticated user.
7749
+ * Creates a new library collection. The creator becomes its owner.
7301
7750
  *
7302
- * API endpoint: `GET /library/publishers/mine`
7751
+ * API endpoint: `POST /library/collections`
7303
7752
  */
7304
- listMine(args?: Args<"library.publishers.listMine">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.listMine">>;
7753
+ create(args?: Args<"library.collections.create">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.create">>;
7305
7754
  /**
7306
- * Update publisher
7755
+ * Update collection
7307
7756
  *
7308
- * Updates a library publisher profile. Only the owner can update their publisher profile.
7757
+ * Updates a library collection. Requires at least manager access to the collection.
7309
7758
  *
7310
- * API endpoint: `PATCH /library/publishers/{publisherId}`
7759
+ * API endpoint: `PATCH /library/collections/{collectionId}`
7311
7760
  */
7312
- update(args: Args<"library.publishers.update">, options?: ExamplaryRequestOptions): Promise<Response<"library.publishers.update">>;
7761
+ update(args: Args<"library.collections.update">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.update">>;
7313
7762
  /**
7314
- * Delete publisher
7763
+ * Delete collection
7315
7764
  *
7316
- * Deletes a library publisher profile. Only the owner can delete their publisher profile.
7765
+ * Deletes a library collection. Only the collection owner can delete it.
7317
7766
  *
7318
- * API endpoint: `DELETE /library/publishers/{publisherId}`
7767
+ * API endpoint: `DELETE /library/collections/{collectionId}`
7319
7768
  */
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">>;
7769
+ delete(collectionId: string, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.delete">>;
7770
+ delete(args: Args<"library.collections.delete">, options?: ExamplaryRequestOptions): Promise<Response<"library.collections.delete">>;
7322
7771
  }
7323
7772
  declare class LibraryItems {
7324
7773
  private readonly ctx;
7325
7774
  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
7775
  /**
7335
7776
  * Update library item
7336
7777
  *
7337
- * Updates a library item. Only the publisher owner can update items in their publisher profile.
7778
+ * Updates a library item. Requires at least editor access to the collection it belongs to.
7338
7779
  *
7339
7780
  * API endpoint: `PATCH /library/items/{itemId}`
7340
7781
  */
@@ -7342,7 +7783,7 @@ declare class LibraryItems {
7342
7783
  /**
7343
7784
  * Delete library item
7344
7785
  *
7345
- * Deletes a library item. Only the publisher owner can delete items from their publisher profile.
7786
+ * Deletes a library item. Requires at least editor access to the collection it belongs to.
7346
7787
  *
7347
7788
  * API endpoint: `DELETE /library/items/{itemId}`
7348
7789
  */
@@ -7351,7 +7792,7 @@ declare class LibraryItems {
7351
7792
  }
7352
7793
  declare class Library {
7353
7794
  private readonly ctx;
7354
- readonly publishers: LibraryPublishers;
7795
+ readonly collections: LibraryCollections;
7355
7796
  readonly items: LibraryItems;
7356
7797
  constructor(ctx: ClientContext);
7357
7798
  }
@@ -7369,7 +7810,7 @@ declare class Oauth {
7369
7810
  /**
7370
7811
  * OAuth token endpoint
7371
7812
  *
7372
- * Exchange authorization code for access token, or refresh an existing token.
7813
+ * Exchange an authorization code for an access token, refresh an existing token, or obtain a client-credentials token (first-party clients only).
7373
7814
  *
7374
7815
  * API endpoint: `POST /oauth/token`
7375
7816
  */
@@ -7777,6 +8218,60 @@ declare class Exams {
7777
8218
  getContextSuggestions(examId: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
7778
8219
  getContextSuggestions(args: Args<"exams.getContextSuggestions">, options?: ExamplaryRequestOptions): Promise<Response<"exams.getContextSuggestions">>;
7779
8220
  }
8221
+ declare class Orgs {
8222
+ private readonly ctx;
8223
+ constructor(ctx: ClientContext);
8224
+ /**
8225
+ * List all organizations
8226
+ *
8227
+ * Retrieve a list of all organizations the authenticated user has access to. Optionally can also return pending and suggested org memberships.
8228
+ *
8229
+ * API endpoint: `GET /orgs`
8230
+ */
8231
+ list(args?: Args<"orgs.list">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.list">>;
8232
+ /**
8233
+ * Create a new organization
8234
+ *
8235
+ * 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.
8236
+ *
8237
+ * API endpoint: `POST /orgs`
8238
+ */
8239
+ create(args?: Args<"orgs.create">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.create">>;
8240
+ /**
8241
+ * Request to join an organization
8242
+ *
8243
+ * Request to join an existing organization. The request will be reviewed by the organization's administrators or auto-accepted.
8244
+ *
8245
+ * API endpoint: `POST /orgs/{orgId}/join`
8246
+ */
8247
+ join(orgId: string, options?: ExamplaryRequestOptions): Promise<Response<"orgs.join">>;
8248
+ join(args: Args<"orgs.join">, options?: ExamplaryRequestOptions): Promise<Response<"orgs.join">>;
8249
+ }
8250
+ declare class SearchTokens {
8251
+ private readonly ctx;
8252
+ constructor(ctx: ClientContext);
8253
+ /**
8254
+ * Get a search token
8255
+ *
8256
+ * 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.
8257
+ *
8258
+ * API endpoint: `GET /search/tokens`
8259
+ */
8260
+ get(args?: Args<"search.tokens.get">, options?: ExamplaryRequestOptions): Promise<Response<"search.tokens.get">>;
8261
+ /**
8262
+ * Get a search token
8263
+ *
8264
+ * Returns a short-lived, permission-scoped TypeSense search key for the public items.
8265
+ *
8266
+ * API endpoint: `GET /search/tokens/public`
8267
+ */
8268
+ getPublic(args?: Args<"search.tokens.get-public">, options?: ExamplaryRequestOptions): Promise<Response<"search.tokens.get-public">>;
8269
+ }
8270
+ declare class Search {
8271
+ private readonly ctx;
8272
+ readonly tokens: SearchTokens;
8273
+ constructor(ctx: ClientContext);
8274
+ }
7780
8275
  declare class MeTwoFactor {
7781
8276
  private readonly ctx;
7782
8277
  constructor(ctx: ClientContext);
@@ -7825,6 +8320,14 @@ declare class Me {
7825
8320
  * API endpoint: `PATCH /me`
7826
8321
  */
7827
8322
  update(args?: Args<"me.update">, options?: ExamplaryRequestOptions): Promise<Response<"me.update">>;
8323
+ /**
8324
+ * Change my email address
8325
+ *
8326
+ * 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.
8327
+ *
8328
+ * API endpoint: `PATCH /me/email`
8329
+ */
8330
+ updateEmail(args?: Args<"me.updateEmail">, options?: ExamplaryRequestOptions): Promise<Response<"me.updateEmail">>;
7828
8331
  }
7829
8332
  declare class Media {
7830
8333
  private readonly ctx;
@@ -7854,6 +8357,42 @@ declare class OrgCustomDomain {
7854
8357
  */
7855
8358
  update(args?: Args<"org.customDomain.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.customDomain.update">>;
7856
8359
  }
8360
+ declare class OrgEmailDomains {
8361
+ private readonly ctx;
8362
+ constructor(ctx: ClientContext);
8363
+ /**
8364
+ * List verified email domains
8365
+ *
8366
+ * API endpoint: `GET /org/email-domains`
8367
+ */
8368
+ list(args?: Args<"org.emailDomains.list">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.list">>;
8369
+ /**
8370
+ * Add an email domain to verify
8371
+ *
8372
+ * API endpoint: `POST /org/email-domains`
8373
+ */
8374
+ create(args?: Args<"org.emailDomains.create">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.create">>;
8375
+ /**
8376
+ * Update an email domain's join settings
8377
+ *
8378
+ * API endpoint: `PATCH /org/email-domains/{domain}`
8379
+ */
8380
+ update(args: Args<"org.emailDomains.update">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.update">>;
8381
+ /**
8382
+ * Remove a verified email domain
8383
+ *
8384
+ * API endpoint: `DELETE /org/email-domains/{domain}`
8385
+ */
8386
+ delete(domain: string, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.delete">>;
8387
+ delete(args: Args<"org.emailDomains.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.delete">>;
8388
+ /**
8389
+ * Re-check an email domain's DNS verification record
8390
+ *
8391
+ * API endpoint: `POST /org/email-domains/{domain}/verify`
8392
+ */
8393
+ verify(domain: string, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.verify">>;
8394
+ verify(args: Args<"org.emailDomains.verify">, options?: ExamplaryRequestOptions): Promise<Response<"org.emailDomains.verify">>;
8395
+ }
7857
8396
  declare class OrgIdentityProvider {
7858
8397
  private readonly ctx;
7859
8398
  constructor(ctx: ClientContext);
@@ -7876,10 +8415,35 @@ declare class OrgIdentityProvider {
7876
8415
  */
7877
8416
  delete(args?: Args<"org.identityProvider.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.identityProvider.delete">>;
7878
8417
  }
8418
+ declare class OrgJoinRequests {
8419
+ private readonly ctx;
8420
+ constructor(ctx: ClientContext);
8421
+ /**
8422
+ * List pending workspace join requests
8423
+ *
8424
+ * API endpoint: `GET /org/join-requests`
8425
+ */
8426
+ list(args?: Args<"org.joinRequests.list">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.list">>;
8427
+ /**
8428
+ * Approve a workspace join request
8429
+ *
8430
+ * API endpoint: `POST /org/join-requests/{userId}/approve`
8431
+ */
8432
+ approve(args: Args<"org.joinRequests.approve">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.approve">>;
8433
+ /**
8434
+ * Reject a workspace join request
8435
+ *
8436
+ * API endpoint: `POST /org/join-requests/{userId}/reject`
8437
+ */
8438
+ reject(userId: string, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.reject">>;
8439
+ reject(args: Args<"org.joinRequests.reject">, options?: ExamplaryRequestOptions): Promise<Response<"org.joinRequests.reject">>;
8440
+ }
7879
8441
  declare class Org {
7880
8442
  private readonly ctx;
7881
8443
  readonly customDomain: OrgCustomDomain;
8444
+ readonly emailDomains: OrgEmailDomains;
7882
8445
  readonly identityProvider: OrgIdentityProvider;
8446
+ readonly joinRequests: OrgJoinRequests;
7883
8447
  constructor(ctx: ClientContext);
7884
8448
  /**
7885
8449
  * Get organization
@@ -7906,24 +8470,6 @@ declare class Org {
7906
8470
  */
7907
8471
  limits(args?: Args<"org.limits">, options?: ExamplaryRequestOptions): Promise<Response<"org.limits">>;
7908
8472
  }
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
8473
  declare class AuditLogs {
7928
8474
  private readonly ctx;
7929
8475
  constructor(ctx: ClientContext);
@@ -8123,13 +8669,21 @@ declare class Users {
8123
8669
  */
8124
8670
  create(args?: Args<"users.create">, options?: ExamplaryRequestOptions): Promise<Response<"users.create">>;
8125
8671
  /**
8126
- * Update user role
8672
+ * Get user
8673
+ *
8674
+ * Get details of a specific user within the workspace.
8675
+ *
8676
+ * API endpoint: `GET /users/{id}`
8677
+ */
8678
+ get(id: string, options?: ExamplaryRequestOptions): Promise<Response<"users.get">>;
8679
+ get(args: Args<"users.get">, options?: ExamplaryRequestOptions): Promise<Response<"users.get">>;
8680
+ /**
8681
+ * Update user
8127
8682
  *
8128
- * Update a user's role within the workspace.
8683
+ * Update a user's details within the workspace.
8129
8684
  *
8130
8685
  * API endpoint: `PATCH /users/{id}`
8131
8686
  */
8132
- update(id: string, options?: ExamplaryRequestOptions): Promise<Response<"users.update">>;
8133
8687
  update(args: Args<"users.update">, options?: ExamplaryRequestOptions): Promise<Response<"users.update">>;
8134
8688
  /**
8135
8689
  * Delete user
@@ -8335,6 +8889,14 @@ declare class SourceMaterials {
8335
8889
  * API endpoint: `POST /source-materials`
8336
8890
  */
8337
8891
  create(args?: Args<"sourceMaterials.create">, options?: ExamplaryRequestOptions): Promise<Response<"sourceMaterials.create">>;
8892
+ /**
8893
+ * List source material tags
8894
+ *
8895
+ * Returns a list of existing tags for the source materials the current user has access to. Useful for filtering, or for presenting autocomplete suggestions.
8896
+ *
8897
+ * API endpoint: `GET /source-materials/tags`
8898
+ */
8899
+ listTags(args?: Args<"sourceMaterials.listTags">, options?: ExamplaryRequestOptions): Promise<Response<"sourceMaterials.listTags">>;
8338
8900
  /**
8339
8901
  * Get source material
8340
8902
  *
@@ -8401,6 +8963,15 @@ declare class Folders {
8401
8963
  * API endpoint: `POST /folders`
8402
8964
  */
8403
8965
  create(args?: Args<"folders.create">, options?: ExamplaryRequestOptions): Promise<Response<"folders.create">>;
8966
+ /**
8967
+ * Get folder
8968
+ *
8969
+ * Get a single folder from the current workspace by its ID.
8970
+ *
8971
+ * API endpoint: `GET /folders/{id}`
8972
+ */
8973
+ get(id: string, options?: ExamplaryRequestOptions): Promise<Response<"folders.get">>;
8974
+ get(args: Args<"folders.get">, options?: ExamplaryRequestOptions): Promise<Response<"folders.get">>;
8404
8975
  /**
8405
8976
  * Update folder
8406
8977
  *
@@ -8631,10 +9202,11 @@ declare class Examplary {
8631
9202
  readonly oauth: Oauth;
8632
9203
  readonly embedSessions: EmbedSessions;
8633
9204
  readonly exams: Exams;
9205
+ readonly orgs: Orgs;
9206
+ readonly search: Search;
8634
9207
  readonly me: Me;
8635
9208
  readonly media: Media;
8636
9209
  readonly org: Org;
8637
- readonly orgs: Orgs;
8638
9210
  readonly auditLogs: AuditLogs;
8639
9211
  readonly apiKeys: ApiKeys;
8640
9212
  readonly attributes: Attributes;