recal-sdk 1.1.0 → 1.2.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.
Files changed (46) hide show
  1. package/README.md +52 -21
  2. package/dist/client/sdk.gen.d.ts +41 -41
  3. package/dist/client/sdk.gen.d.ts.map +1 -1
  4. package/dist/client/sdk.gen.js +131 -131
  5. package/dist/client/sdk.gen.js.map +1 -1
  6. package/dist/client/transformers.gen.d.ts +25 -25
  7. package/dist/client/transformers.gen.d.ts.map +1 -1
  8. package/dist/client/transformers.gen.js +50 -25
  9. package/dist/client/transformers.gen.js.map +1 -1
  10. package/dist/client/types.gen.d.ts +573 -214
  11. package/dist/client/types.gen.d.ts.map +1 -1
  12. package/dist/client/zod.gen.d.ts +297 -96
  13. package/dist/client/zod.gen.d.ts.map +1 -1
  14. package/dist/client/zod.gen.js +137 -96
  15. package/dist/client/zod.gen.js.map +1 -1
  16. package/dist/services/calendar.service.d.ts +12 -5
  17. package/dist/services/calendar.service.d.ts.map +1 -1
  18. package/dist/services/calendar.service.js +10 -6
  19. package/dist/services/calendar.service.js.map +1 -1
  20. package/dist/services/events.service.d.ts +2 -2
  21. package/dist/services/events.service.d.ts.map +1 -1
  22. package/dist/services/events.service.js +8 -8
  23. package/dist/services/events.service.js.map +1 -1
  24. package/dist/services/oauth.service.d.ts +7 -7
  25. package/dist/services/oauth.service.d.ts.map +1 -1
  26. package/dist/services/oauth.service.js +8 -8
  27. package/dist/services/oauth.service.js.map +1 -1
  28. package/dist/services/organizations.service.d.ts +35 -17
  29. package/dist/services/organizations.service.d.ts.map +1 -1
  30. package/dist/services/organizations.service.js +23 -11
  31. package/dist/services/organizations.service.js.map +1 -1
  32. package/dist/services/scheduling.service.d.ts +7 -5
  33. package/dist/services/scheduling.service.d.ts.map +1 -1
  34. package/dist/services/scheduling.service.js +3 -3
  35. package/dist/services/scheduling.service.js.map +1 -1
  36. package/dist/services/users.service.d.ts +2 -2
  37. package/dist/services/users.service.d.ts.map +1 -1
  38. package/dist/services/users.service.js +4 -4
  39. package/dist/services/users.service.js.map +1 -1
  40. package/dist/types.d.ts +27 -5
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/utils/response.d.ts +10 -0
  43. package/dist/utils/response.d.ts.map +1 -1
  44. package/dist/utils/response.js +20 -0
  45. package/dist/utils/response.js.map +1 -1
  46. package/package.json +1 -1
@@ -43,6 +43,28 @@ export type TimeRange = {
43
43
  */
44
44
  start: Date;
45
45
  };
46
+ /**
47
+ * Why a calendar or a user could not be read. What each value means and how to resolve it: https://docs.recal.dev/core/troubleshooting
48
+ */
49
+ export type FreeBusyFailureReason = 'accessDenied' | 'authorizationInvalid' | 'insufficientScopes' | 'invalidCalendarId' | 'mailboxUnavailable' | 'notFound' | 'providerError' | 'providerNotConfigured' | 'rateLimited' | 'tooManyCalendars';
50
+ /**
51
+ * A calendar that could not be read
52
+ */
53
+ export type FailedCalendar = {
54
+ calendarId: string;
55
+ message: string;
56
+ provider: 'google' | 'microsoft';
57
+ reason: FreeBusyFailureReason;
58
+ };
59
+ /**
60
+ * A user whose busy times are missing (failedCalendars empty) or incomplete (failedCalendars names the gaps)
61
+ */
62
+ export type FailedFreeBusyUser = {
63
+ customId: string;
64
+ failedCalendars: Array<FailedCalendar>;
65
+ message: string;
66
+ reason: FreeBusyFailureReason;
67
+ };
46
68
  /**
47
69
  * Recal Normalized Calendar
48
70
  */
@@ -201,7 +223,7 @@ export type GetV1OrganizationsResponses = {
201
223
  };
202
224
  export type GetV1OrganizationsResponse = GetV1OrganizationsResponses[keyof GetV1OrganizationsResponses];
203
225
  export type PostV1OrganizationsData = {
204
- body?: {
226
+ body: {
205
227
  name: string | null;
206
228
  slug: string;
207
229
  };
@@ -210,6 +232,13 @@ export type PostV1OrganizationsData = {
210
232
  url: '/v1/organizations';
211
233
  };
212
234
  export type PostV1OrganizationsErrors = {
235
+ /**
236
+ * Validation Error
237
+ */
238
+ 400: {
239
+ error: string;
240
+ data: null;
241
+ };
213
242
  /**
214
243
  * Organization with slug already exists
215
244
  */
@@ -228,7 +257,7 @@ export type PostV1OrganizationsResponses = {
228
257
  };
229
258
  };
230
259
  export type PostV1OrganizationsResponse = PostV1OrganizationsResponses[keyof PostV1OrganizationsResponses];
231
- export type DeleteV1OrganizationsOrgSlugData = {
260
+ export type DeleteV1OrganizationsByOrgSlugData = {
232
261
  body?: never;
233
262
  path: {
234
263
  orgSlug: string;
@@ -236,7 +265,14 @@ export type DeleteV1OrganizationsOrgSlugData = {
236
265
  query?: never;
237
266
  url: '/v1/organizations/{orgSlug}';
238
267
  };
239
- export type DeleteV1OrganizationsOrgSlugErrors = {
268
+ export type DeleteV1OrganizationsByOrgSlugErrors = {
269
+ /**
270
+ * Validation Error
271
+ */
272
+ 400: {
273
+ error: string;
274
+ data: null;
275
+ };
240
276
  /**
241
277
  * Organization not found
242
278
  */
@@ -245,8 +281,8 @@ export type DeleteV1OrganizationsOrgSlugErrors = {
245
281
  error: string;
246
282
  };
247
283
  };
248
- export type DeleteV1OrganizationsOrgSlugError = DeleteV1OrganizationsOrgSlugErrors[keyof DeleteV1OrganizationsOrgSlugErrors];
249
- export type DeleteV1OrganizationsOrgSlugResponses = {
284
+ export type DeleteV1OrganizationsByOrgSlugError = DeleteV1OrganizationsByOrgSlugErrors[keyof DeleteV1OrganizationsByOrgSlugErrors];
285
+ export type DeleteV1OrganizationsByOrgSlugResponses = {
250
286
  /**
251
287
  * Deleted organization
252
288
  */
@@ -254,8 +290,8 @@ export type DeleteV1OrganizationsOrgSlugResponses = {
254
290
  data: Organization;
255
291
  };
256
292
  };
257
- export type DeleteV1OrganizationsOrgSlugResponse = DeleteV1OrganizationsOrgSlugResponses[keyof DeleteV1OrganizationsOrgSlugResponses];
258
- export type GetV1OrganizationsOrgSlugData = {
293
+ export type DeleteV1OrganizationsByOrgSlugResponse = DeleteV1OrganizationsByOrgSlugResponses[keyof DeleteV1OrganizationsByOrgSlugResponses];
294
+ export type GetV1OrganizationsByOrgSlugData = {
259
295
  body?: never;
260
296
  path: {
261
297
  orgSlug: string;
@@ -263,7 +299,14 @@ export type GetV1OrganizationsOrgSlugData = {
263
299
  query?: never;
264
300
  url: '/v1/organizations/{orgSlug}';
265
301
  };
266
- export type GetV1OrganizationsOrgSlugErrors = {
302
+ export type GetV1OrganizationsByOrgSlugErrors = {
303
+ /**
304
+ * Validation Error
305
+ */
306
+ 400: {
307
+ error: string;
308
+ data: null;
309
+ };
267
310
  /**
268
311
  * Organization not found
269
312
  */
@@ -272,8 +315,8 @@ export type GetV1OrganizationsOrgSlugErrors = {
272
315
  error: string;
273
316
  };
274
317
  };
275
- export type GetV1OrganizationsOrgSlugError = GetV1OrganizationsOrgSlugErrors[keyof GetV1OrganizationsOrgSlugErrors];
276
- export type GetV1OrganizationsOrgSlugResponses = {
318
+ export type GetV1OrganizationsByOrgSlugError = GetV1OrganizationsByOrgSlugErrors[keyof GetV1OrganizationsByOrgSlugErrors];
319
+ export type GetV1OrganizationsByOrgSlugResponses = {
277
320
  /**
278
321
  * Organization
279
322
  */
@@ -281,9 +324,9 @@ export type GetV1OrganizationsOrgSlugResponses = {
281
324
  data: Organization;
282
325
  };
283
326
  };
284
- export type GetV1OrganizationsOrgSlugResponse = GetV1OrganizationsOrgSlugResponses[keyof GetV1OrganizationsOrgSlugResponses];
285
- export type PutV1OrganizationsOrgSlugData = {
286
- body?: {
327
+ export type GetV1OrganizationsByOrgSlugResponse = GetV1OrganizationsByOrgSlugResponses[keyof GetV1OrganizationsByOrgSlugResponses];
328
+ export type PutV1OrganizationsByOrgSlugData = {
329
+ body: {
287
330
  name: string | null;
288
331
  slug: string;
289
332
  };
@@ -293,7 +336,14 @@ export type PutV1OrganizationsOrgSlugData = {
293
336
  query?: never;
294
337
  url: '/v1/organizations/{orgSlug}';
295
338
  };
296
- export type PutV1OrganizationsOrgSlugErrors = {
339
+ export type PutV1OrganizationsByOrgSlugErrors = {
340
+ /**
341
+ * Validation Error
342
+ */
343
+ 400: {
344
+ error: string;
345
+ data: null;
346
+ };
297
347
  /**
298
348
  * Organization not found
299
349
  */
@@ -302,8 +352,8 @@ export type PutV1OrganizationsOrgSlugErrors = {
302
352
  error: string;
303
353
  };
304
354
  };
305
- export type PutV1OrganizationsOrgSlugError = PutV1OrganizationsOrgSlugErrors[keyof PutV1OrganizationsOrgSlugErrors];
306
- export type PutV1OrganizationsOrgSlugResponses = {
355
+ export type PutV1OrganizationsByOrgSlugError = PutV1OrganizationsByOrgSlugErrors[keyof PutV1OrganizationsByOrgSlugErrors];
356
+ export type PutV1OrganizationsByOrgSlugResponses = {
307
357
  /**
308
358
  * Updated organization
309
359
  */
@@ -311,9 +361,9 @@ export type PutV1OrganizationsOrgSlugResponses = {
311
361
  data: Organization;
312
362
  };
313
363
  };
314
- export type PutV1OrganizationsOrgSlugResponse = PutV1OrganizationsOrgSlugResponses[keyof PutV1OrganizationsOrgSlugResponses];
315
- export type DeleteV1OrganizationsOrgSlugMembersData = {
316
- body?: {
364
+ export type PutV1OrganizationsByOrgSlugResponse = PutV1OrganizationsByOrgSlugResponses[keyof PutV1OrganizationsByOrgSlugResponses];
365
+ export type DeleteV1OrganizationsByOrgSlugMembersData = {
366
+ body: {
317
367
  userIds: Array<string>;
318
368
  };
319
369
  path: {
@@ -322,7 +372,14 @@ export type DeleteV1OrganizationsOrgSlugMembersData = {
322
372
  query?: never;
323
373
  url: '/v1/organizations/{orgSlug}/members';
324
374
  };
325
- export type DeleteV1OrganizationsOrgSlugMembersErrors = {
375
+ export type DeleteV1OrganizationsByOrgSlugMembersErrors = {
376
+ /**
377
+ * Validation Error
378
+ */
379
+ 400: {
380
+ error: string;
381
+ data: null;
382
+ };
326
383
  /**
327
384
  * Organization not found
328
385
  */
@@ -331,14 +388,14 @@ export type DeleteV1OrganizationsOrgSlugMembersErrors = {
331
388
  error: string;
332
389
  };
333
390
  };
334
- export type DeleteV1OrganizationsOrgSlugMembersError = DeleteV1OrganizationsOrgSlugMembersErrors[keyof DeleteV1OrganizationsOrgSlugMembersErrors];
335
- export type DeleteV1OrganizationsOrgSlugMembersResponses = {
391
+ export type DeleteV1OrganizationsByOrgSlugMembersError = DeleteV1OrganizationsByOrgSlugMembersErrors[keyof DeleteV1OrganizationsByOrgSlugMembersErrors];
392
+ export type DeleteV1OrganizationsByOrgSlugMembersResponses = {
336
393
  200: {
337
394
  data: string;
338
395
  };
339
396
  };
340
- export type DeleteV1OrganizationsOrgSlugMembersResponse = DeleteV1OrganizationsOrgSlugMembersResponses[keyof DeleteV1OrganizationsOrgSlugMembersResponses];
341
- export type GetV1OrganizationsOrgSlugMembersData = {
397
+ export type DeleteV1OrganizationsByOrgSlugMembersResponse = DeleteV1OrganizationsByOrgSlugMembersResponses[keyof DeleteV1OrganizationsByOrgSlugMembersResponses];
398
+ export type GetV1OrganizationsByOrgSlugMembersData = {
342
399
  body?: never;
343
400
  path: {
344
401
  orgSlug: string;
@@ -348,7 +405,14 @@ export type GetV1OrganizationsOrgSlugMembersData = {
348
405
  };
349
406
  url: '/v1/organizations/{orgSlug}/members';
350
407
  };
351
- export type GetV1OrganizationsOrgSlugMembersErrors = {
408
+ export type GetV1OrganizationsByOrgSlugMembersErrors = {
409
+ /**
410
+ * Validation Error
411
+ */
412
+ 400: {
413
+ error: string;
414
+ data: null;
415
+ };
352
416
  /**
353
417
  * Organization not found
354
418
  */
@@ -357,8 +421,8 @@ export type GetV1OrganizationsOrgSlugMembersErrors = {
357
421
  error: string;
358
422
  };
359
423
  };
360
- export type GetV1OrganizationsOrgSlugMembersError = GetV1OrganizationsOrgSlugMembersErrors[keyof GetV1OrganizationsOrgSlugMembersErrors];
361
- export type GetV1OrganizationsOrgSlugMembersResponses = {
424
+ export type GetV1OrganizationsByOrgSlugMembersError = GetV1OrganizationsByOrgSlugMembersErrors[keyof GetV1OrganizationsByOrgSlugMembersErrors];
425
+ export type GetV1OrganizationsByOrgSlugMembersResponses = {
362
426
  /**
363
427
  * All members of an organization
364
428
  */
@@ -371,9 +435,9 @@ export type GetV1OrganizationsOrgSlugMembersResponses = {
371
435
  }>;
372
436
  };
373
437
  };
374
- export type GetV1OrganizationsOrgSlugMembersResponse = GetV1OrganizationsOrgSlugMembersResponses[keyof GetV1OrganizationsOrgSlugMembersResponses];
375
- export type PostV1OrganizationsOrgSlugMembersData = {
376
- body?: {
438
+ export type GetV1OrganizationsByOrgSlugMembersResponse = GetV1OrganizationsByOrgSlugMembersResponses[keyof GetV1OrganizationsByOrgSlugMembersResponses];
439
+ export type PostV1OrganizationsByOrgSlugMembersData = {
440
+ body: {
377
441
  userIds: Array<string>;
378
442
  };
379
443
  path: {
@@ -382,7 +446,14 @@ export type PostV1OrganizationsOrgSlugMembersData = {
382
446
  query?: never;
383
447
  url: '/v1/organizations/{orgSlug}/members';
384
448
  };
385
- export type PostV1OrganizationsOrgSlugMembersErrors = {
449
+ export type PostV1OrganizationsByOrgSlugMembersErrors = {
450
+ /**
451
+ * Validation Error
452
+ */
453
+ 400: {
454
+ error: string;
455
+ data: null;
456
+ };
386
457
  /**
387
458
  * Organization not found
388
459
  */
@@ -391,8 +462,8 @@ export type PostV1OrganizationsOrgSlugMembersErrors = {
391
462
  error: string;
392
463
  };
393
464
  };
394
- export type PostV1OrganizationsOrgSlugMembersError = PostV1OrganizationsOrgSlugMembersErrors[keyof PostV1OrganizationsOrgSlugMembersErrors];
395
- export type PostV1OrganizationsOrgSlugMembersResponses = {
465
+ export type PostV1OrganizationsByOrgSlugMembersError = PostV1OrganizationsByOrgSlugMembersErrors[keyof PostV1OrganizationsByOrgSlugMembersErrors];
466
+ export type PostV1OrganizationsByOrgSlugMembersResponses = {
396
467
  /**
397
468
  * All users are already members of the organization
398
469
  */
@@ -406,8 +477,8 @@ export type PostV1OrganizationsOrgSlugMembersResponses = {
406
477
  data: string;
407
478
  };
408
479
  };
409
- export type PostV1OrganizationsOrgSlugMembersResponse = PostV1OrganizationsOrgSlugMembersResponses[keyof PostV1OrganizationsOrgSlugMembersResponses];
410
- export type GetV1OrganizationsOrgSlugCalendarBusyData = {
480
+ export type PostV1OrganizationsByOrgSlugMembersResponse = PostV1OrganizationsByOrgSlugMembersResponses[keyof PostV1OrganizationsByOrgSlugMembersResponses];
481
+ export type GetV1OrganizationsByOrgSlugCalendarBusyData = {
411
482
  body?: never;
412
483
  path: {
413
484
  orgSlug: string;
@@ -423,13 +494,13 @@ export type GetV1OrganizationsOrgSlugCalendarBusyData = {
423
494
  };
424
495
  url: '/v1/organizations/{orgSlug}/calendar/busy';
425
496
  };
426
- export type GetV1OrganizationsOrgSlugCalendarBusyErrors = {
497
+ export type GetV1OrganizationsByOrgSlugCalendarBusyErrors = {
427
498
  /**
428
- * Calendar provider rejected the stored access token
499
+ * Bad request
429
500
  */
430
- 401: {
431
- data: null;
501
+ 400: {
432
502
  error: string;
503
+ data: null;
433
504
  };
434
505
  /**
435
506
  * Organization not found
@@ -438,25 +509,19 @@ export type GetV1OrganizationsOrgSlugCalendarBusyErrors = {
438
509
  data: null;
439
510
  error: string;
440
511
  };
441
- /**
442
- * Calendar provider unreachable or returned an unreadable response
443
- */
444
- 502: {
445
- data: null;
446
- error: string;
447
- };
448
512
  };
449
- export type GetV1OrganizationsOrgSlugCalendarBusyError = GetV1OrganizationsOrgSlugCalendarBusyErrors[keyof GetV1OrganizationsOrgSlugCalendarBusyErrors];
450
- export type GetV1OrganizationsOrgSlugCalendarBusyResponses = {
513
+ export type GetV1OrganizationsByOrgSlugCalendarBusyError = GetV1OrganizationsByOrgSlugCalendarBusyErrors[keyof GetV1OrganizationsByOrgSlugCalendarBusyErrors];
514
+ export type GetV1OrganizationsByOrgSlugCalendarBusyResponses = {
451
515
  /**
452
- * Busy times of all users of an organization
516
+ * Busy times of all users of an organization, plus the users that could not be read
453
517
  */
454
518
  200: {
455
519
  data: Array<TimeRange>;
520
+ failedUsers: Array<FailedFreeBusyUser>;
456
521
  };
457
522
  };
458
- export type GetV1OrganizationsOrgSlugCalendarBusyResponse = GetV1OrganizationsOrgSlugCalendarBusyResponses[keyof GetV1OrganizationsOrgSlugCalendarBusyResponses];
459
- export type GetV1OrganizationsOrgSlugSchedulingData = {
523
+ export type GetV1OrganizationsByOrgSlugCalendarBusyResponse = GetV1OrganizationsByOrgSlugCalendarBusyResponses[keyof GetV1OrganizationsByOrgSlugCalendarBusyResponses];
524
+ export type GetV1OrganizationsByOrgSlugSchedulingData = {
460
525
  body?: never;
461
526
  path: {
462
527
  orgSlug: string;
@@ -494,19 +559,26 @@ export type GetV1OrganizationsOrgSlugSchedulingData = {
494
559
  };
495
560
  url: '/v1/organizations/{orgSlug}/scheduling';
496
561
  };
497
- export type GetV1OrganizationsOrgSlugSchedulingErrors = {
562
+ export type GetV1OrganizationsByOrgSlugSchedulingErrors = {
498
563
  /**
499
- * Organization not found
564
+ * Validation Error
565
+ */
566
+ 400: {
567
+ error: string;
568
+ data: null;
569
+ };
570
+ /**
571
+ * Organization not found, or it has no members
500
572
  */
501
573
  404: {
502
574
  data: null;
503
575
  error: string;
504
576
  };
505
577
  };
506
- export type GetV1OrganizationsOrgSlugSchedulingError = GetV1OrganizationsOrgSlugSchedulingErrors[keyof GetV1OrganizationsOrgSlugSchedulingErrors];
507
- export type GetV1OrganizationsOrgSlugSchedulingResponses = {
578
+ export type GetV1OrganizationsByOrgSlugSchedulingError = GetV1OrganizationsByOrgSlugSchedulingErrors[keyof GetV1OrganizationsByOrgSlugSchedulingErrors];
579
+ export type GetV1OrganizationsByOrgSlugSchedulingResponses = {
508
580
  /**
509
- * Available time slots
581
+ * Available time slots, plus the users that could not be read
510
582
  */
511
583
  200: {
512
584
  data: {
@@ -549,9 +621,10 @@ export type GetV1OrganizationsOrgSlugSchedulingResponses = {
549
621
  latestTimeEachDay?: string;
550
622
  };
551
623
  };
624
+ failedUsers: Array<FailedFreeBusyUser>;
552
625
  };
553
626
  };
554
- export type GetV1OrganizationsOrgSlugSchedulingResponse = GetV1OrganizationsOrgSlugSchedulingResponses[keyof GetV1OrganizationsOrgSlugSchedulingResponses];
627
+ export type GetV1OrganizationsByOrgSlugSchedulingResponse = GetV1OrganizationsByOrgSlugSchedulingResponses[keyof GetV1OrganizationsByOrgSlugSchedulingResponses];
555
628
  export type GetV1UsersData = {
556
629
  body?: never;
557
630
  path?: never;
@@ -573,7 +646,7 @@ export type GetV1UsersResponses = {
573
646
  };
574
647
  export type GetV1UsersResponse = GetV1UsersResponses[keyof GetV1UsersResponses];
575
648
  export type PostV1UsersData = {
576
- body?: {
649
+ body: {
577
650
  id: string;
578
651
  organizationSlugs?: Array<string>;
579
652
  };
@@ -582,6 +655,13 @@ export type PostV1UsersData = {
582
655
  url: '/v1/users';
583
656
  };
584
657
  export type PostV1UsersErrors = {
658
+ /**
659
+ * Validation Error
660
+ */
661
+ 400: {
662
+ error: string;
663
+ data: null;
664
+ };
585
665
  /**
586
666
  * Organization not found
587
667
  */
@@ -612,7 +692,7 @@ export type PostV1UsersResponses = {
612
692
  };
613
693
  };
614
694
  export type PostV1UsersResponse = PostV1UsersResponses[keyof PostV1UsersResponses];
615
- export type DeleteV1UsersUserIdData = {
695
+ export type DeleteV1UsersByUserIdData = {
616
696
  body?: never;
617
697
  path: {
618
698
  userId: string;
@@ -620,7 +700,14 @@ export type DeleteV1UsersUserIdData = {
620
700
  query?: never;
621
701
  url: '/v1/users/{userId}';
622
702
  };
623
- export type DeleteV1UsersUserIdErrors = {
703
+ export type DeleteV1UsersByUserIdErrors = {
704
+ /**
705
+ * Validation Error
706
+ */
707
+ 400: {
708
+ error: string;
709
+ data: null;
710
+ };
624
711
  /**
625
712
  * User not found
626
713
  */
@@ -629,8 +716,8 @@ export type DeleteV1UsersUserIdErrors = {
629
716
  error: string;
630
717
  };
631
718
  };
632
- export type DeleteV1UsersUserIdError = DeleteV1UsersUserIdErrors[keyof DeleteV1UsersUserIdErrors];
633
- export type DeleteV1UsersUserIdResponses = {
719
+ export type DeleteV1UsersByUserIdError = DeleteV1UsersByUserIdErrors[keyof DeleteV1UsersByUserIdErrors];
720
+ export type DeleteV1UsersByUserIdResponses = {
634
721
  /**
635
722
  * User
636
723
  */
@@ -643,8 +730,8 @@ export type DeleteV1UsersUserIdResponses = {
643
730
  };
644
731
  };
645
732
  };
646
- export type DeleteV1UsersUserIdResponse = DeleteV1UsersUserIdResponses[keyof DeleteV1UsersUserIdResponses];
647
- export type GetV1UsersUserIdData = {
733
+ export type DeleteV1UsersByUserIdResponse = DeleteV1UsersByUserIdResponses[keyof DeleteV1UsersByUserIdResponses];
734
+ export type GetV1UsersByUserIdData = {
648
735
  body?: never;
649
736
  path: {
650
737
  userId: string;
@@ -654,7 +741,14 @@ export type GetV1UsersUserIdData = {
654
741
  };
655
742
  url: '/v1/users/{userId}';
656
743
  };
657
- export type GetV1UsersUserIdErrors = {
744
+ export type GetV1UsersByUserIdErrors = {
745
+ /**
746
+ * Validation Error
747
+ */
748
+ 400: {
749
+ error: string;
750
+ data: null;
751
+ };
658
752
  /**
659
753
  * User not found
660
754
  */
@@ -663,8 +757,8 @@ export type GetV1UsersUserIdErrors = {
663
757
  error: string;
664
758
  };
665
759
  };
666
- export type GetV1UsersUserIdError = GetV1UsersUserIdErrors[keyof GetV1UsersUserIdErrors];
667
- export type GetV1UsersUserIdResponses = {
760
+ export type GetV1UsersByUserIdError = GetV1UsersByUserIdErrors[keyof GetV1UsersByUserIdErrors];
761
+ export type GetV1UsersByUserIdResponses = {
668
762
  /**
669
763
  * User
670
764
  */
@@ -677,9 +771,9 @@ export type GetV1UsersUserIdResponses = {
677
771
  };
678
772
  };
679
773
  };
680
- export type GetV1UsersUserIdResponse = GetV1UsersUserIdResponses[keyof GetV1UsersUserIdResponses];
681
- export type PutV1UsersUserIdData = {
682
- body?: {
774
+ export type GetV1UsersByUserIdResponse = GetV1UsersByUserIdResponses[keyof GetV1UsersByUserIdResponses];
775
+ export type PutV1UsersByUserIdData = {
776
+ body: {
683
777
  userId: string;
684
778
  };
685
779
  path: {
@@ -688,7 +782,14 @@ export type PutV1UsersUserIdData = {
688
782
  query?: never;
689
783
  url: '/v1/users/{userId}';
690
784
  };
691
- export type PutV1UsersUserIdErrors = {
785
+ export type PutV1UsersByUserIdErrors = {
786
+ /**
787
+ * Validation Error
788
+ */
789
+ 400: {
790
+ error: string;
791
+ data: null;
792
+ };
692
793
  /**
693
794
  * User not found
694
795
  */
@@ -704,8 +805,8 @@ export type PutV1UsersUserIdErrors = {
704
805
  error: string;
705
806
  };
706
807
  };
707
- export type PutV1UsersUserIdError = PutV1UsersUserIdErrors[keyof PutV1UsersUserIdErrors];
708
- export type PutV1UsersUserIdResponses = {
808
+ export type PutV1UsersByUserIdError = PutV1UsersByUserIdErrors[keyof PutV1UsersByUserIdErrors];
809
+ export type PutV1UsersByUserIdResponses = {
709
810
  /**
710
811
  * User
711
812
  */
@@ -718,8 +819,8 @@ export type PutV1UsersUserIdResponses = {
718
819
  };
719
820
  };
720
821
  };
721
- export type PutV1UsersUserIdResponse = PutV1UsersUserIdResponses[keyof PutV1UsersUserIdResponses];
722
- export type GetV1UsersUserIdOrganizationsData = {
822
+ export type PutV1UsersByUserIdResponse = PutV1UsersByUserIdResponses[keyof PutV1UsersByUserIdResponses];
823
+ export type GetV1UsersByUserIdOrganizationsData = {
723
824
  body?: never;
724
825
  path: {
725
826
  userId: string;
@@ -727,7 +828,14 @@ export type GetV1UsersUserIdOrganizationsData = {
727
828
  query?: never;
728
829
  url: '/v1/users/{userId}/organizations';
729
830
  };
730
- export type GetV1UsersUserIdOrganizationsErrors = {
831
+ export type GetV1UsersByUserIdOrganizationsErrors = {
832
+ /**
833
+ * Validation Error
834
+ */
835
+ 400: {
836
+ error: string;
837
+ data: null;
838
+ };
731
839
  /**
732
840
  * User not found
733
841
  */
@@ -736,8 +844,8 @@ export type GetV1UsersUserIdOrganizationsErrors = {
736
844
  error: string;
737
845
  };
738
846
  };
739
- export type GetV1UsersUserIdOrganizationsError = GetV1UsersUserIdOrganizationsErrors[keyof GetV1UsersUserIdOrganizationsErrors];
740
- export type GetV1UsersUserIdOrganizationsResponses = {
847
+ export type GetV1UsersByUserIdOrganizationsError = GetV1UsersByUserIdOrganizationsErrors[keyof GetV1UsersByUserIdOrganizationsErrors];
848
+ export type GetV1UsersByUserIdOrganizationsResponses = {
741
849
  /**
742
850
  * List of organizations
743
851
  */
@@ -745,8 +853,8 @@ export type GetV1UsersUserIdOrganizationsResponses = {
745
853
  data: Array<Organization>;
746
854
  };
747
855
  };
748
- export type GetV1UsersUserIdOrganizationsResponse = GetV1UsersUserIdOrganizationsResponses[keyof GetV1UsersUserIdOrganizationsResponses];
749
- export type GetV1UsersUserIdCalendarData = {
856
+ export type GetV1UsersByUserIdOrganizationsResponse = GetV1UsersByUserIdOrganizationsResponses[keyof GetV1UsersByUserIdOrganizationsResponses];
857
+ export type GetV1UsersByUserIdCalendarData = {
750
858
  body?: never;
751
859
  path: {
752
860
  userId: string;
@@ -756,13 +864,13 @@ export type GetV1UsersUserIdCalendarData = {
756
864
  };
757
865
  url: '/v1/users/{userId}/calendar';
758
866
  };
759
- export type GetV1UsersUserIdCalendarErrors = {
867
+ export type GetV1UsersByUserIdCalendarErrors = {
760
868
  /**
761
869
  * Bad request
762
870
  */
763
871
  400: {
764
- data: null;
765
872
  error: string;
873
+ data: null;
766
874
  };
767
875
  /**
768
876
  * Calendar provider rejected the stored access token
@@ -771,6 +879,13 @@ export type GetV1UsersUserIdCalendarErrors = {
771
879
  data: null;
772
880
  error: string;
773
881
  };
882
+ /**
883
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
884
+ */
885
+ 403: {
886
+ data: null;
887
+ error: string;
888
+ };
774
889
  /**
775
890
  * User not found
776
891
  */
@@ -778,6 +893,13 @@ export type GetV1UsersUserIdCalendarErrors = {
778
893
  data: null;
779
894
  error: string;
780
895
  };
896
+ /**
897
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
898
+ */
899
+ 429: {
900
+ data: null;
901
+ error: string;
902
+ };
781
903
  /**
782
904
  * Calendar provider unreachable or returned an unreadable response
783
905
  */
@@ -786,8 +908,8 @@ export type GetV1UsersUserIdCalendarErrors = {
786
908
  error: string;
787
909
  };
788
910
  };
789
- export type GetV1UsersUserIdCalendarError = GetV1UsersUserIdCalendarErrors[keyof GetV1UsersUserIdCalendarErrors];
790
- export type GetV1UsersUserIdCalendarResponses = {
911
+ export type GetV1UsersByUserIdCalendarError = GetV1UsersByUserIdCalendarErrors[keyof GetV1UsersByUserIdCalendarErrors];
912
+ export type GetV1UsersByUserIdCalendarResponses = {
791
913
  /**
792
914
  * List of calendars
793
915
  */
@@ -795,8 +917,8 @@ export type GetV1UsersUserIdCalendarResponses = {
795
917
  data: Array<Calendar>;
796
918
  };
797
919
  };
798
- export type GetV1UsersUserIdCalendarResponse = GetV1UsersUserIdCalendarResponses[keyof GetV1UsersUserIdCalendarResponses];
799
- export type GetV1UsersUserIdCalendarBusyData = {
920
+ export type GetV1UsersByUserIdCalendarResponse = GetV1UsersByUserIdCalendarResponses[keyof GetV1UsersByUserIdCalendarResponses];
921
+ export type GetV1UsersByUserIdCalendarBusyData = {
800
922
  body?: never;
801
923
  path: {
802
924
  userId: string;
@@ -815,13 +937,13 @@ export type GetV1UsersUserIdCalendarBusyData = {
815
937
  };
816
938
  url: '/v1/users/{userId}/calendar/busy';
817
939
  };
818
- export type GetV1UsersUserIdCalendarBusyErrors = {
940
+ export type GetV1UsersByUserIdCalendarBusyErrors = {
819
941
  /**
820
- * Bad request
942
+ * Bad request, more calendars requested than the limit allows, or every requested calendar id is invalid
821
943
  */
822
944
  400: {
823
- data: null;
824
945
  error: string;
946
+ data: null;
825
947
  };
826
948
  /**
827
949
  * Calendar provider rejected the stored access token
@@ -831,31 +953,46 @@ export type GetV1UsersUserIdCalendarBusyErrors = {
831
953
  error: string;
832
954
  };
833
955
  /**
834
- * User not found
956
+ * Every requested calendar was denied by the provider, has no mailbox behind it, or the authorization does not cover busy times
957
+ */
958
+ 403: {
959
+ data: null;
960
+ error: string;
961
+ };
962
+ /**
963
+ * User not found, or none of the requested calendars exists
835
964
  */
836
965
  404: {
837
966
  data: null;
838
967
  error: string;
839
968
  };
840
969
  /**
841
- * Calendar provider unreachable or returned an unreadable response
970
+ * The calendar provider throttled every requested calendar
971
+ */
972
+ 429: {
973
+ data: null;
974
+ error: string;
975
+ };
976
+ /**
977
+ * Every requested calendar could not be read
842
978
  */
843
979
  502: {
844
980
  data: null;
845
981
  error: string;
846
982
  };
847
983
  };
848
- export type GetV1UsersUserIdCalendarBusyError = GetV1UsersUserIdCalendarBusyErrors[keyof GetV1UsersUserIdCalendarBusyErrors];
849
- export type GetV1UsersUserIdCalendarBusyResponses = {
984
+ export type GetV1UsersByUserIdCalendarBusyError = GetV1UsersByUserIdCalendarBusyErrors[keyof GetV1UsersByUserIdCalendarBusyErrors];
985
+ export type GetV1UsersByUserIdCalendarBusyResponses = {
850
986
  /**
851
- * List of busy intervals
987
+ * List of busy intervals, plus the calendars that could not be read
852
988
  */
853
989
  200: {
854
990
  data: Array<TimeRange>;
991
+ failedCalendars: Array<FailedCalendar>;
855
992
  };
856
993
  };
857
- export type GetV1UsersUserIdCalendarBusyResponse = GetV1UsersUserIdCalendarBusyResponses[keyof GetV1UsersUserIdCalendarBusyResponses];
858
- export type GetV1UsersUserIdCalendarEventsData = {
994
+ export type GetV1UsersByUserIdCalendarBusyResponse = GetV1UsersByUserIdCalendarBusyResponses[keyof GetV1UsersByUserIdCalendarBusyResponses];
995
+ export type GetV1UsersByUserIdCalendarEventsData = {
859
996
  body?: never;
860
997
  path: {
861
998
  userId: string;
@@ -874,13 +1011,13 @@ export type GetV1UsersUserIdCalendarEventsData = {
874
1011
  };
875
1012
  url: '/v1/users/{userId}/calendar/events';
876
1013
  };
877
- export type GetV1UsersUserIdCalendarEventsErrors = {
1014
+ export type GetV1UsersByUserIdCalendarEventsErrors = {
878
1015
  /**
879
1016
  * Bad request
880
1017
  */
881
1018
  400: {
882
- data: null;
883
1019
  error: string;
1020
+ data: null;
884
1021
  };
885
1022
  /**
886
1023
  * Calendar provider rejected the stored access token
@@ -889,6 +1026,13 @@ export type GetV1UsersUserIdCalendarEventsErrors = {
889
1026
  data: null;
890
1027
  error: string;
891
1028
  };
1029
+ /**
1030
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1031
+ */
1032
+ 403: {
1033
+ data: null;
1034
+ error: string;
1035
+ };
892
1036
  /**
893
1037
  * User not found
894
1038
  */
@@ -896,6 +1040,13 @@ export type GetV1UsersUserIdCalendarEventsErrors = {
896
1040
  data: null;
897
1041
  error: string;
898
1042
  };
1043
+ /**
1044
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1045
+ */
1046
+ 429: {
1047
+ data: null;
1048
+ error: string;
1049
+ };
899
1050
  /**
900
1051
  * Calendar provider unreachable or returned an unreadable response
901
1052
  */
@@ -904,8 +1055,8 @@ export type GetV1UsersUserIdCalendarEventsErrors = {
904
1055
  error: string;
905
1056
  };
906
1057
  };
907
- export type GetV1UsersUserIdCalendarEventsError = GetV1UsersUserIdCalendarEventsErrors[keyof GetV1UsersUserIdCalendarEventsErrors];
908
- export type GetV1UsersUserIdCalendarEventsResponses = {
1058
+ export type GetV1UsersByUserIdCalendarEventsError = GetV1UsersByUserIdCalendarEventsErrors[keyof GetV1UsersByUserIdCalendarEventsErrors];
1059
+ export type GetV1UsersByUserIdCalendarEventsResponses = {
909
1060
  /**
910
1061
  * List of events
911
1062
  */
@@ -913,9 +1064,9 @@ export type GetV1UsersUserIdCalendarEventsResponses = {
913
1064
  data: Array<Event>;
914
1065
  };
915
1066
  };
916
- export type GetV1UsersUserIdCalendarEventsResponse = GetV1UsersUserIdCalendarEventsResponses[keyof GetV1UsersUserIdCalendarEventsResponses];
917
- export type PostV1UsersUserIdCalendarEventsMetaData = {
918
- body?: CreateMetaEvent;
1067
+ export type GetV1UsersByUserIdCalendarEventsResponse = GetV1UsersByUserIdCalendarEventsResponses[keyof GetV1UsersByUserIdCalendarEventsResponses];
1068
+ export type PostV1UsersByUserIdCalendarEventsMetaData = {
1069
+ body: CreateMetaEvent;
919
1070
  path: {
920
1071
  userId: string;
921
1072
  };
@@ -924,13 +1075,13 @@ export type PostV1UsersUserIdCalendarEventsMetaData = {
924
1075
  };
925
1076
  url: '/v1/users/{userId}/calendar/events/meta';
926
1077
  };
927
- export type PostV1UsersUserIdCalendarEventsMetaErrors = {
1078
+ export type PostV1UsersByUserIdCalendarEventsMetaErrors = {
928
1079
  /**
929
1080
  * Bad request
930
1081
  */
931
1082
  400: {
932
- data: null;
933
1083
  error: string;
1084
+ data: null;
934
1085
  };
935
1086
  /**
936
1087
  * Calendar provider rejected the stored access token
@@ -939,6 +1090,13 @@ export type PostV1UsersUserIdCalendarEventsMetaErrors = {
939
1090
  data: null;
940
1091
  error: string;
941
1092
  };
1093
+ /**
1094
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1095
+ */
1096
+ 403: {
1097
+ data: null;
1098
+ error: string;
1099
+ };
942
1100
  /**
943
1101
  * User not found
944
1102
  */
@@ -946,6 +1104,20 @@ export type PostV1UsersUserIdCalendarEventsMetaErrors = {
946
1104
  data: null;
947
1105
  error: string;
948
1106
  };
1107
+ /**
1108
+ * The provider created the event, but it could not be read back into the Recal event shape
1109
+ */
1110
+ 422: {
1111
+ data: null;
1112
+ error: string;
1113
+ };
1114
+ /**
1115
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1116
+ */
1117
+ 429: {
1118
+ data: null;
1119
+ error: string;
1120
+ };
949
1121
  /**
950
1122
  * Calendar provider unreachable or returned an unreadable response
951
1123
  */
@@ -954,8 +1126,8 @@ export type PostV1UsersUserIdCalendarEventsMetaErrors = {
954
1126
  error: string;
955
1127
  };
956
1128
  };
957
- export type PostV1UsersUserIdCalendarEventsMetaError = PostV1UsersUserIdCalendarEventsMetaErrors[keyof PostV1UsersUserIdCalendarEventsMetaErrors];
958
- export type PostV1UsersUserIdCalendarEventsMetaResponses = {
1129
+ export type PostV1UsersByUserIdCalendarEventsMetaError = PostV1UsersByUserIdCalendarEventsMetaErrors[keyof PostV1UsersByUserIdCalendarEventsMetaErrors];
1130
+ export type PostV1UsersByUserIdCalendarEventsMetaResponses = {
959
1131
  /**
960
1132
  * Meta event created
961
1133
  */
@@ -963,8 +1135,8 @@ export type PostV1UsersUserIdCalendarEventsMetaResponses = {
963
1135
  data: MetaEvent;
964
1136
  };
965
1137
  };
966
- export type PostV1UsersUserIdCalendarEventsMetaResponse = PostV1UsersUserIdCalendarEventsMetaResponses[keyof PostV1UsersUserIdCalendarEventsMetaResponses];
967
- export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdData = {
1138
+ export type PostV1UsersByUserIdCalendarEventsMetaResponse = PostV1UsersByUserIdCalendarEventsMetaResponses[keyof PostV1UsersByUserIdCalendarEventsMetaResponses];
1139
+ export type DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdData = {
968
1140
  body?: never;
969
1141
  path: {
970
1142
  metaId: string;
@@ -975,13 +1147,13 @@ export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdData = {
975
1147
  };
976
1148
  url: '/v1/users/{userId}/calendar/events/meta/{metaId}';
977
1149
  };
978
- export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1150
+ export type DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdErrors = {
979
1151
  /**
980
1152
  * Bad request
981
1153
  */
982
1154
  400: {
983
- data: null;
984
1155
  error: string;
1156
+ data: null;
985
1157
  };
986
1158
  /**
987
1159
  * Calendar provider rejected the stored access token
@@ -990,6 +1162,13 @@ export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
990
1162
  data: null;
991
1163
  error: string;
992
1164
  };
1165
+ /**
1166
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1167
+ */
1168
+ 403: {
1169
+ data: null;
1170
+ error: string;
1171
+ };
993
1172
  /**
994
1173
  * Event not found
995
1174
  */
@@ -997,6 +1176,13 @@ export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
997
1176
  data: null;
998
1177
  error: string;
999
1178
  };
1179
+ /**
1180
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1181
+ */
1182
+ 429: {
1183
+ data: null;
1184
+ error: string;
1185
+ };
1000
1186
  /**
1001
1187
  * Calendar provider unreachable or returned an unreadable response
1002
1188
  */
@@ -1005,8 +1191,8 @@ export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1005
1191
  error: string;
1006
1192
  };
1007
1193
  };
1008
- export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdError = DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors[keyof DeleteV1UsersUserIdCalendarEventsMetaMetaIdErrors];
1009
- export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1194
+ export type DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdError = DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdErrors[keyof DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdErrors];
1195
+ export type DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdResponses = {
1010
1196
  /**
1011
1197
  * Meta event deleted
1012
1198
  */
@@ -1016,8 +1202,8 @@ export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1016
1202
  };
1017
1203
  };
1018
1204
  };
1019
- export type DeleteV1UsersUserIdCalendarEventsMetaMetaIdResponse = DeleteV1UsersUserIdCalendarEventsMetaMetaIdResponses[keyof DeleteV1UsersUserIdCalendarEventsMetaMetaIdResponses];
1020
- export type GetV1UsersUserIdCalendarEventsMetaMetaIdData = {
1205
+ export type DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdResponse = DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdResponses[keyof DeleteV1UsersByUserIdCalendarEventsMetaByMetaIdResponses];
1206
+ export type GetV1UsersByUserIdCalendarEventsMetaByMetaIdData = {
1021
1207
  body?: never;
1022
1208
  path: {
1023
1209
  metaId: string;
@@ -1028,13 +1214,13 @@ export type GetV1UsersUserIdCalendarEventsMetaMetaIdData = {
1028
1214
  };
1029
1215
  url: '/v1/users/{userId}/calendar/events/meta/{metaId}';
1030
1216
  };
1031
- export type GetV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1217
+ export type GetV1UsersByUserIdCalendarEventsMetaByMetaIdErrors = {
1032
1218
  /**
1033
1219
  * Bad request
1034
1220
  */
1035
1221
  400: {
1036
- data: null;
1037
1222
  error: string;
1223
+ data: null;
1038
1224
  };
1039
1225
  /**
1040
1226
  * Calendar provider rejected the stored access token
@@ -1043,6 +1229,13 @@ export type GetV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1043
1229
  data: null;
1044
1230
  error: string;
1045
1231
  };
1232
+ /**
1233
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1234
+ */
1235
+ 403: {
1236
+ data: null;
1237
+ error: string;
1238
+ };
1046
1239
  /**
1047
1240
  * Event not found
1048
1241
  */
@@ -1050,6 +1243,13 @@ export type GetV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1050
1243
  data: null;
1051
1244
  error: string;
1052
1245
  };
1246
+ /**
1247
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1248
+ */
1249
+ 429: {
1250
+ data: null;
1251
+ error: string;
1252
+ };
1053
1253
  /**
1054
1254
  * Calendar provider unreachable or returned an unreadable response
1055
1255
  */
@@ -1058,8 +1258,8 @@ export type GetV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1058
1258
  error: string;
1059
1259
  };
1060
1260
  };
1061
- export type GetV1UsersUserIdCalendarEventsMetaMetaIdError = GetV1UsersUserIdCalendarEventsMetaMetaIdErrors[keyof GetV1UsersUserIdCalendarEventsMetaMetaIdErrors];
1062
- export type GetV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1261
+ export type GetV1UsersByUserIdCalendarEventsMetaByMetaIdError = GetV1UsersByUserIdCalendarEventsMetaByMetaIdErrors[keyof GetV1UsersByUserIdCalendarEventsMetaByMetaIdErrors];
1262
+ export type GetV1UsersByUserIdCalendarEventsMetaByMetaIdResponses = {
1063
1263
  /**
1064
1264
  * Event
1065
1265
  */
@@ -1067,9 +1267,9 @@ export type GetV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1067
1267
  data: MetaEvent;
1068
1268
  };
1069
1269
  };
1070
- export type GetV1UsersUserIdCalendarEventsMetaMetaIdResponse = GetV1UsersUserIdCalendarEventsMetaMetaIdResponses[keyof GetV1UsersUserIdCalendarEventsMetaMetaIdResponses];
1071
- export type PutV1UsersUserIdCalendarEventsMetaMetaIdData = {
1072
- body?: UpdateMetaEvent;
1270
+ export type GetV1UsersByUserIdCalendarEventsMetaByMetaIdResponse = GetV1UsersByUserIdCalendarEventsMetaByMetaIdResponses[keyof GetV1UsersByUserIdCalendarEventsMetaByMetaIdResponses];
1271
+ export type PutV1UsersByUserIdCalendarEventsMetaByMetaIdData = {
1272
+ body: UpdateMetaEvent;
1073
1273
  path: {
1074
1274
  metaId: string;
1075
1275
  userId: string;
@@ -1079,13 +1279,13 @@ export type PutV1UsersUserIdCalendarEventsMetaMetaIdData = {
1079
1279
  };
1080
1280
  url: '/v1/users/{userId}/calendar/events/meta/{metaId}';
1081
1281
  };
1082
- export type PutV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1282
+ export type PutV1UsersByUserIdCalendarEventsMetaByMetaIdErrors = {
1083
1283
  /**
1084
1284
  * Bad request
1085
1285
  */
1086
1286
  400: {
1087
- data: null;
1088
1287
  error: string;
1288
+ data: null;
1089
1289
  };
1090
1290
  /**
1091
1291
  * Calendar provider rejected the stored access token
@@ -1094,6 +1294,13 @@ export type PutV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1094
1294
  data: null;
1095
1295
  error: string;
1096
1296
  };
1297
+ /**
1298
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1299
+ */
1300
+ 403: {
1301
+ data: null;
1302
+ error: string;
1303
+ };
1097
1304
  /**
1098
1305
  * Event not found
1099
1306
  */
@@ -1101,6 +1308,20 @@ export type PutV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1101
1308
  data: null;
1102
1309
  error: string;
1103
1310
  };
1311
+ /**
1312
+ * The provider applied the update, but the event could not be read back into the Recal event shape
1313
+ */
1314
+ 422: {
1315
+ data: null;
1316
+ error: string;
1317
+ };
1318
+ /**
1319
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1320
+ */
1321
+ 429: {
1322
+ data: null;
1323
+ error: string;
1324
+ };
1104
1325
  /**
1105
1326
  * Calendar provider unreachable or returned an unreadable response
1106
1327
  */
@@ -1109,8 +1330,8 @@ export type PutV1UsersUserIdCalendarEventsMetaMetaIdErrors = {
1109
1330
  error: string;
1110
1331
  };
1111
1332
  };
1112
- export type PutV1UsersUserIdCalendarEventsMetaMetaIdError = PutV1UsersUserIdCalendarEventsMetaMetaIdErrors[keyof PutV1UsersUserIdCalendarEventsMetaMetaIdErrors];
1113
- export type PutV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1333
+ export type PutV1UsersByUserIdCalendarEventsMetaByMetaIdError = PutV1UsersByUserIdCalendarEventsMetaByMetaIdErrors[keyof PutV1UsersByUserIdCalendarEventsMetaByMetaIdErrors];
1334
+ export type PutV1UsersByUserIdCalendarEventsMetaByMetaIdResponses = {
1114
1335
  /**
1115
1336
  * Meta event updated
1116
1337
  */
@@ -1118,9 +1339,9 @@ export type PutV1UsersUserIdCalendarEventsMetaMetaIdResponses = {
1118
1339
  data: MetaEvent;
1119
1340
  };
1120
1341
  };
1121
- export type PutV1UsersUserIdCalendarEventsMetaMetaIdResponse = PutV1UsersUserIdCalendarEventsMetaMetaIdResponses[keyof PutV1UsersUserIdCalendarEventsMetaMetaIdResponses];
1122
- export type PostV1UsersUserIdCalendarEventsProviderCalendarIdData = {
1123
- body?: CreateEvent;
1342
+ export type PutV1UsersByUserIdCalendarEventsMetaByMetaIdResponse = PutV1UsersByUserIdCalendarEventsMetaByMetaIdResponses[keyof PutV1UsersByUserIdCalendarEventsMetaByMetaIdResponses];
1343
+ export type PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdData = {
1344
+ body: CreateEvent;
1124
1345
  path: {
1125
1346
  calendarId: string;
1126
1347
  provider: 'google' | 'microsoft';
@@ -1129,13 +1350,13 @@ export type PostV1UsersUserIdCalendarEventsProviderCalendarIdData = {
1129
1350
  query?: never;
1130
1351
  url: '/v1/users/{userId}/calendar/events/{provider}/{calendarId}';
1131
1352
  };
1132
- export type PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors = {
1353
+ export type PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdErrors = {
1133
1354
  /**
1134
1355
  * Bad request
1135
1356
  */
1136
1357
  400: {
1137
- data: null;
1138
1358
  error: string;
1359
+ data: null;
1139
1360
  };
1140
1361
  /**
1141
1362
  * Calendar provider rejected the stored access token
@@ -1144,6 +1365,13 @@ export type PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors = {
1144
1365
  data: null;
1145
1366
  error: string;
1146
1367
  };
1368
+ /**
1369
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1370
+ */
1371
+ 403: {
1372
+ data: null;
1373
+ error: string;
1374
+ };
1147
1375
  /**
1148
1376
  * User not found
1149
1377
  */
@@ -1151,6 +1379,27 @@ export type PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors = {
1151
1379
  data: null;
1152
1380
  error: string;
1153
1381
  };
1382
+ /**
1383
+ * The `id` supplied for the new event is already taken on that calendar. Google only: the Microsoft path never forwards a caller-supplied id
1384
+ */
1385
+ 409: {
1386
+ data: null;
1387
+ error: string;
1388
+ };
1389
+ /**
1390
+ * The provider created the event, but it could not be read back into the Recal event shape
1391
+ */
1392
+ 422: {
1393
+ data: null;
1394
+ error: string;
1395
+ };
1396
+ /**
1397
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1398
+ */
1399
+ 429: {
1400
+ data: null;
1401
+ error: string;
1402
+ };
1154
1403
  /**
1155
1404
  * Calendar provider unreachable or returned an unreadable response
1156
1405
  */
@@ -1159,8 +1408,8 @@ export type PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors = {
1159
1408
  error: string;
1160
1409
  };
1161
1410
  };
1162
- export type PostV1UsersUserIdCalendarEventsProviderCalendarIdError = PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors[keyof PostV1UsersUserIdCalendarEventsProviderCalendarIdErrors];
1163
- export type PostV1UsersUserIdCalendarEventsProviderCalendarIdResponses = {
1411
+ export type PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdError = PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdErrors[keyof PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdErrors];
1412
+ export type PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdResponses = {
1164
1413
  /**
1165
1414
  * Event created
1166
1415
  */
@@ -1168,8 +1417,8 @@ export type PostV1UsersUserIdCalendarEventsProviderCalendarIdResponses = {
1168
1417
  data: Event;
1169
1418
  };
1170
1419
  };
1171
- export type PostV1UsersUserIdCalendarEventsProviderCalendarIdResponse = PostV1UsersUserIdCalendarEventsProviderCalendarIdResponses[keyof PostV1UsersUserIdCalendarEventsProviderCalendarIdResponses];
1172
- export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1420
+ export type PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdResponse = PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdResponses[keyof PostV1UsersByUserIdCalendarEventsByProviderByCalendarIdResponses];
1421
+ export type DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdData = {
1173
1422
  body?: never;
1174
1423
  path: {
1175
1424
  calendarId: string;
@@ -1180,13 +1429,13 @@ export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1180
1429
  query?: never;
1181
1430
  url: '/v1/users/{userId}/calendar/events/{provider}/{calendarId}/{eventId}';
1182
1431
  };
1183
- export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1432
+ export type DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors = {
1184
1433
  /**
1185
1434
  * Bad request
1186
1435
  */
1187
1436
  400: {
1188
- data: null;
1189
1437
  error: string;
1438
+ data: null;
1190
1439
  };
1191
1440
  /**
1192
1441
  * Calendar provider rejected the stored access token
@@ -1195,6 +1444,13 @@ export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1195
1444
  data: null;
1196
1445
  error: string;
1197
1446
  };
1447
+ /**
1448
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1449
+ */
1450
+ 403: {
1451
+ data: null;
1452
+ error: string;
1453
+ };
1198
1454
  /**
1199
1455
  * User not found
1200
1456
  */
@@ -1202,6 +1458,13 @@ export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1202
1458
  data: null;
1203
1459
  error: string;
1204
1460
  };
1461
+ /**
1462
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1463
+ */
1464
+ 429: {
1465
+ data: null;
1466
+ error: string;
1467
+ };
1205
1468
  /**
1206
1469
  * Calendar provider unreachable or returned an unreadable response
1207
1470
  */
@@ -1210,8 +1473,8 @@ export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1210
1473
  error: string;
1211
1474
  };
1212
1475
  };
1213
- export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdError = DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors[keyof DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors];
1214
- export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses = {
1476
+ export type DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdError = DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors[keyof DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors];
1477
+ export type DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses = {
1215
1478
  /**
1216
1479
  * Event deleted
1217
1480
  */
@@ -1221,8 +1484,8 @@ export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses
1221
1484
  };
1222
1485
  };
1223
1486
  };
1224
- export type DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses[keyof DeleteV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses];
1225
- export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1487
+ export type DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponse = DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses[keyof DeleteV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses];
1488
+ export type GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdData = {
1226
1489
  body?: never;
1227
1490
  path: {
1228
1491
  calendarId: string;
@@ -1233,13 +1496,13 @@ export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1233
1496
  query?: never;
1234
1497
  url: '/v1/users/{userId}/calendar/events/{provider}/{calendarId}/{eventId}';
1235
1498
  };
1236
- export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1499
+ export type GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors = {
1237
1500
  /**
1238
1501
  * Bad request
1239
1502
  */
1240
1503
  400: {
1241
- data: null;
1242
1504
  error: string;
1505
+ data: null;
1243
1506
  };
1244
1507
  /**
1245
1508
  * Calendar provider rejected the stored access token
@@ -1248,6 +1511,13 @@ export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1248
1511
  data: null;
1249
1512
  error: string;
1250
1513
  };
1514
+ /**
1515
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1516
+ */
1517
+ 403: {
1518
+ data: null;
1519
+ error: string;
1520
+ };
1251
1521
  /**
1252
1522
  * User not found
1253
1523
  */
@@ -1255,6 +1525,13 @@ export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1255
1525
  data: null;
1256
1526
  error: string;
1257
1527
  };
1528
+ /**
1529
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1530
+ */
1531
+ 429: {
1532
+ data: null;
1533
+ error: string;
1534
+ };
1258
1535
  /**
1259
1536
  * Calendar provider unreachable or returned an unreadable response
1260
1537
  */
@@ -1263,8 +1540,8 @@ export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1263
1540
  error: string;
1264
1541
  };
1265
1542
  };
1266
- export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdError = GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors[keyof GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors];
1267
- export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses = {
1543
+ export type GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdError = GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors[keyof GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors];
1544
+ export type GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses = {
1268
1545
  /**
1269
1546
  * Event found
1270
1547
  */
@@ -1272,9 +1549,9 @@ export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses = {
1272
1549
  data: Event;
1273
1550
  };
1274
1551
  };
1275
- export type GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses[keyof GetV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses];
1276
- export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1277
- body?: UpdateEvent;
1552
+ export type GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponse = GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses[keyof GetV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses];
1553
+ export type PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdData = {
1554
+ body: UpdateEvent;
1278
1555
  path: {
1279
1556
  calendarId: string;
1280
1557
  eventId: string;
@@ -1284,13 +1561,13 @@ export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdData = {
1284
1561
  query?: never;
1285
1562
  url: '/v1/users/{userId}/calendar/events/{provider}/{calendarId}/{eventId}';
1286
1563
  };
1287
- export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1564
+ export type PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors = {
1288
1565
  /**
1289
1566
  * Bad request
1290
1567
  */
1291
1568
  400: {
1292
- data: null;
1293
1569
  error: string;
1570
+ data: null;
1294
1571
  };
1295
1572
  /**
1296
1573
  * Calendar provider rejected the stored access token
@@ -1299,6 +1576,13 @@ export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1299
1576
  data: null;
1300
1577
  error: string;
1301
1578
  };
1579
+ /**
1580
+ * The calendar authorization does not cover the operation. A scope refusal also carries `operation` alongside the envelope, plus `validScopes` when Recal's own pre-flight raised it; a flat denial from the provider carries neither
1581
+ */
1582
+ 403: {
1583
+ data: null;
1584
+ error: string;
1585
+ };
1302
1586
  /**
1303
1587
  * User not found
1304
1588
  */
@@ -1306,6 +1590,20 @@ export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1306
1590
  data: null;
1307
1591
  error: string;
1308
1592
  };
1593
+ /**
1594
+ * The provider applied the update, but the event could not be read back into the Recal event shape
1595
+ */
1596
+ 422: {
1597
+ data: null;
1598
+ error: string;
1599
+ };
1600
+ /**
1601
+ * The calendar provider throttled the request. When it says how long to wait, the response carries a `Retry-After` header and a `retryAfter` field alongside the envelope
1602
+ */
1603
+ 429: {
1604
+ data: null;
1605
+ error: string;
1606
+ };
1309
1607
  /**
1310
1608
  * Calendar provider unreachable or returned an unreadable response
1311
1609
  */
@@ -1314,8 +1612,8 @@ export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors = {
1314
1612
  error: string;
1315
1613
  };
1316
1614
  };
1317
- export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdError = PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors[keyof PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdErrors];
1318
- export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses = {
1615
+ export type PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdError = PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors[keyof PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdErrors];
1616
+ export type PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses = {
1319
1617
  /**
1320
1618
  * Event updated
1321
1619
  */
@@ -1323,8 +1621,8 @@ export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses = {
1323
1621
  data: Event;
1324
1622
  };
1325
1623
  };
1326
- export type PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponse = PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses[keyof PutV1UsersUserIdCalendarEventsProviderCalendarIdEventIdResponses];
1327
- export type GetV1UsersUserIdOauthData = {
1624
+ export type PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponse = PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses[keyof PutV1UsersByUserIdCalendarEventsByProviderByCalendarIdByEventIdResponses];
1625
+ export type GetV1UsersByUserIdOauthData = {
1328
1626
  body?: never;
1329
1627
  path: {
1330
1628
  userId: string;
@@ -1337,7 +1635,14 @@ export type GetV1UsersUserIdOauthData = {
1337
1635
  };
1338
1636
  url: '/v1/users/{userId}/oauth';
1339
1637
  };
1340
- export type GetV1UsersUserIdOauthErrors = {
1638
+ export type GetV1UsersByUserIdOauthErrors = {
1639
+ /**
1640
+ * Validation Error
1641
+ */
1642
+ 400: {
1643
+ error: string;
1644
+ data: null;
1645
+ };
1341
1646
  /**
1342
1647
  * User not found
1343
1648
  */
@@ -1346,8 +1651,8 @@ export type GetV1UsersUserIdOauthErrors = {
1346
1651
  error: string;
1347
1652
  };
1348
1653
  };
1349
- export type GetV1UsersUserIdOauthError = GetV1UsersUserIdOauthErrors[keyof GetV1UsersUserIdOauthErrors];
1350
- export type GetV1UsersUserIdOauthResponses = {
1654
+ export type GetV1UsersByUserIdOauthError = GetV1UsersByUserIdOauthErrors[keyof GetV1UsersByUserIdOauthErrors];
1655
+ export type GetV1UsersByUserIdOauthResponses = {
1351
1656
  /**
1352
1657
  * All oauth connections of the user
1353
1658
  */
@@ -1355,8 +1660,8 @@ export type GetV1UsersUserIdOauthResponses = {
1355
1660
  data: Array<AuthConnection>;
1356
1661
  };
1357
1662
  };
1358
- export type GetV1UsersUserIdOauthResponse = GetV1UsersUserIdOauthResponses[keyof GetV1UsersUserIdOauthResponses];
1359
- export type GetV1UsersUserIdOauthLinksData = {
1663
+ export type GetV1UsersByUserIdOauthResponse = GetV1UsersByUserIdOauthResponses[keyof GetV1UsersByUserIdOauthResponses];
1664
+ export type GetV1UsersByUserIdOauthLinksData = {
1360
1665
  body?: never;
1361
1666
  path: {
1362
1667
  userId: string;
@@ -1374,13 +1679,13 @@ export type GetV1UsersUserIdOauthLinksData = {
1374
1679
  };
1375
1680
  url: '/v1/users/{userId}/oauth/links';
1376
1681
  };
1377
- export type GetV1UsersUserIdOauthLinksErrors = {
1682
+ export type GetV1UsersByUserIdOauthLinksErrors = {
1378
1683
  /**
1379
1684
  * Invalid request
1380
1685
  */
1381
1686
  400: {
1382
- data: null;
1383
1687
  error: string;
1688
+ data: null;
1384
1689
  };
1385
1690
  /**
1386
1691
  * User not found
@@ -1390,8 +1695,8 @@ export type GetV1UsersUserIdOauthLinksErrors = {
1390
1695
  error: string;
1391
1696
  };
1392
1697
  };
1393
- export type GetV1UsersUserIdOauthLinksError = GetV1UsersUserIdOauthLinksErrors[keyof GetV1UsersUserIdOauthLinksErrors];
1394
- export type GetV1UsersUserIdOauthLinksResponses = {
1698
+ export type GetV1UsersByUserIdOauthLinksError = GetV1UsersByUserIdOauthLinksErrors[keyof GetV1UsersByUserIdOauthLinksErrors];
1699
+ export type GetV1UsersByUserIdOauthLinksResponses = {
1395
1700
  /**
1396
1701
  * Auth urls for the oauth providers
1397
1702
  */
@@ -1405,8 +1710,8 @@ export type GetV1UsersUserIdOauthLinksResponses = {
1405
1710
  }>;
1406
1711
  };
1407
1712
  };
1408
- export type GetV1UsersUserIdOauthLinksResponse = GetV1UsersUserIdOauthLinksResponses[keyof GetV1UsersUserIdOauthLinksResponses];
1409
- export type GetV1UsersUserIdOauthProviderLinkData = {
1713
+ export type GetV1UsersByUserIdOauthLinksResponse = GetV1UsersByUserIdOauthLinksResponses[keyof GetV1UsersByUserIdOauthLinksResponses];
1714
+ export type GetV1UsersByUserIdOauthByProviderLinkData = {
1410
1715
  body?: never;
1411
1716
  path: {
1412
1717
  provider: 'google' | 'microsoft';
@@ -1428,13 +1733,13 @@ export type GetV1UsersUserIdOauthProviderLinkData = {
1428
1733
  };
1429
1734
  url: '/v1/users/{userId}/oauth/{provider}/link';
1430
1735
  };
1431
- export type GetV1UsersUserIdOauthProviderLinkErrors = {
1736
+ export type GetV1UsersByUserIdOauthByProviderLinkErrors = {
1432
1737
  /**
1433
1738
  * Invalid request
1434
1739
  */
1435
1740
  400: {
1436
- data: null;
1437
1741
  error: string;
1742
+ data: null;
1438
1743
  };
1439
1744
  /**
1440
1745
  * User not found
@@ -1444,8 +1749,8 @@ export type GetV1UsersUserIdOauthProviderLinkErrors = {
1444
1749
  error: string;
1445
1750
  };
1446
1751
  };
1447
- export type GetV1UsersUserIdOauthProviderLinkError = GetV1UsersUserIdOauthProviderLinkErrors[keyof GetV1UsersUserIdOauthProviderLinkErrors];
1448
- export type GetV1UsersUserIdOauthProviderLinkResponses = {
1752
+ export type GetV1UsersByUserIdOauthByProviderLinkError = GetV1UsersByUserIdOauthByProviderLinkErrors[keyof GetV1UsersByUserIdOauthByProviderLinkErrors];
1753
+ export type GetV1UsersByUserIdOauthByProviderLinkResponses = {
1449
1754
  /**
1450
1755
  * Auth url for the oauth provider
1451
1756
  */
@@ -1458,9 +1763,9 @@ export type GetV1UsersUserIdOauthProviderLinkResponses = {
1458
1763
  };
1459
1764
  };
1460
1765
  };
1461
- export type GetV1UsersUserIdOauthProviderLinkResponse = GetV1UsersUserIdOauthProviderLinkResponses[keyof GetV1UsersUserIdOauthProviderLinkResponses];
1462
- export type PostV1UsersOauthProviderVerifyData = {
1463
- body?: {
1766
+ export type GetV1UsersByUserIdOauthByProviderLinkResponse = GetV1UsersByUserIdOauthByProviderLinkResponses[keyof GetV1UsersByUserIdOauthByProviderLinkResponses];
1767
+ export type PostV1UsersOauthByProviderVerifyData = {
1768
+ body: {
1464
1769
  code: string;
1465
1770
  scope: Array<string>;
1466
1771
  state: string;
@@ -1476,7 +1781,7 @@ export type PostV1UsersOauthProviderVerifyData = {
1476
1781
  };
1477
1782
  url: '/v1/users/oauth/{provider}/verify';
1478
1783
  };
1479
- export type PostV1UsersOauthProviderVerifyErrors = {
1784
+ export type PostV1UsersOauthByProviderVerifyErrors = {
1480
1785
  /**
1481
1786
  * Invalid request
1482
1787
  */
@@ -1492,14 +1797,14 @@ export type PostV1UsersOauthProviderVerifyErrors = {
1492
1797
  error: string;
1493
1798
  };
1494
1799
  };
1495
- export type PostV1UsersOauthProviderVerifyError = PostV1UsersOauthProviderVerifyErrors[keyof PostV1UsersOauthProviderVerifyErrors];
1496
- export type PostV1UsersOauthProviderVerifyResponses = {
1800
+ export type PostV1UsersOauthByProviderVerifyError = PostV1UsersOauthByProviderVerifyErrors[keyof PostV1UsersOauthByProviderVerifyErrors];
1801
+ export type PostV1UsersOauthByProviderVerifyResponses = {
1497
1802
  /**
1498
1803
  * OAuth code verified successfully
1499
1804
  */
1500
1805
  200: unknown;
1501
1806
  };
1502
- export type DeleteV1UsersUserIdOauthProviderData = {
1807
+ export type DeleteV1UsersByUserIdOauthByProviderData = {
1503
1808
  body?: never;
1504
1809
  path: {
1505
1810
  provider: 'google' | 'microsoft';
@@ -1508,7 +1813,14 @@ export type DeleteV1UsersUserIdOauthProviderData = {
1508
1813
  query?: never;
1509
1814
  url: '/v1/users/{userId}/oauth/{provider}';
1510
1815
  };
1511
- export type DeleteV1UsersUserIdOauthProviderErrors = {
1816
+ export type DeleteV1UsersByUserIdOauthByProviderErrors = {
1817
+ /**
1818
+ * Validation Error
1819
+ */
1820
+ 400: {
1821
+ error: string;
1822
+ data: null;
1823
+ };
1512
1824
  /**
1513
1825
  * User not found
1514
1826
  */
@@ -1524,14 +1836,14 @@ export type DeleteV1UsersUserIdOauthProviderErrors = {
1524
1836
  error: string;
1525
1837
  };
1526
1838
  };
1527
- export type DeleteV1UsersUserIdOauthProviderError = DeleteV1UsersUserIdOauthProviderErrors[keyof DeleteV1UsersUserIdOauthProviderErrors];
1528
- export type DeleteV1UsersUserIdOauthProviderResponses = {
1839
+ export type DeleteV1UsersByUserIdOauthByProviderError = DeleteV1UsersByUserIdOauthByProviderErrors[keyof DeleteV1UsersByUserIdOauthByProviderErrors];
1840
+ export type DeleteV1UsersByUserIdOauthByProviderResponses = {
1529
1841
  /**
1530
1842
  * OAuth connection deleted
1531
1843
  */
1532
1844
  200: unknown;
1533
1845
  };
1534
- export type GetV1UsersUserIdOauthProviderData = {
1846
+ export type GetV1UsersByUserIdOauthByProviderData = {
1535
1847
  body?: never;
1536
1848
  path: {
1537
1849
  provider: 'google' | 'microsoft';
@@ -1545,7 +1857,14 @@ export type GetV1UsersUserIdOauthProviderData = {
1545
1857
  };
1546
1858
  url: '/v1/users/{userId}/oauth/{provider}';
1547
1859
  };
1548
- export type GetV1UsersUserIdOauthProviderErrors = {
1860
+ export type GetV1UsersByUserIdOauthByProviderErrors = {
1861
+ /**
1862
+ * Validation Error
1863
+ */
1864
+ 400: {
1865
+ error: string;
1866
+ data: null;
1867
+ };
1549
1868
  /**
1550
1869
  * User not found
1551
1870
  */
@@ -1554,8 +1873,8 @@ export type GetV1UsersUserIdOauthProviderErrors = {
1554
1873
  error: string;
1555
1874
  };
1556
1875
  };
1557
- export type GetV1UsersUserIdOauthProviderError = GetV1UsersUserIdOauthProviderErrors[keyof GetV1UsersUserIdOauthProviderErrors];
1558
- export type GetV1UsersUserIdOauthProviderResponses = {
1876
+ export type GetV1UsersByUserIdOauthByProviderError = GetV1UsersByUserIdOauthByProviderErrors[keyof GetV1UsersByUserIdOauthByProviderErrors];
1877
+ export type GetV1UsersByUserIdOauthByProviderResponses = {
1559
1878
  /**
1560
1879
  * OAuth connection of the user
1561
1880
  */
@@ -1563,9 +1882,9 @@ export type GetV1UsersUserIdOauthProviderResponses = {
1563
1882
  data: AuthConnection;
1564
1883
  };
1565
1884
  };
1566
- export type GetV1UsersUserIdOauthProviderResponse = GetV1UsersUserIdOauthProviderResponses[keyof GetV1UsersUserIdOauthProviderResponses];
1567
- export type PostV1UsersUserIdOauthProviderData = {
1568
- body?: {
1885
+ export type GetV1UsersByUserIdOauthByProviderResponse = GetV1UsersByUserIdOauthByProviderResponses[keyof GetV1UsersByUserIdOauthByProviderResponses];
1886
+ export type PostV1UsersByUserIdOauthByProviderData = {
1887
+ body: {
1569
1888
  accessToken: string;
1570
1889
  email: string | null;
1571
1890
  expiresAt: string | null;
@@ -1579,13 +1898,13 @@ export type PostV1UsersUserIdOauthProviderData = {
1579
1898
  query?: never;
1580
1899
  url: '/v1/users/{userId}/oauth/{provider}';
1581
1900
  };
1582
- export type PostV1UsersUserIdOauthProviderErrors = {
1901
+ export type PostV1UsersByUserIdOauthByProviderErrors = {
1583
1902
  /**
1584
1903
  * Invalid request
1585
1904
  */
1586
1905
  400: {
1587
- data: null;
1588
1906
  error: string;
1907
+ data: null;
1589
1908
  };
1590
1909
  /**
1591
1910
  * User not found
@@ -1595,8 +1914,8 @@ export type PostV1UsersUserIdOauthProviderErrors = {
1595
1914
  error: string;
1596
1915
  };
1597
1916
  };
1598
- export type PostV1UsersUserIdOauthProviderError = PostV1UsersUserIdOauthProviderErrors[keyof PostV1UsersUserIdOauthProviderErrors];
1599
- export type PostV1UsersUserIdOauthProviderResponses = {
1917
+ export type PostV1UsersByUserIdOauthByProviderError = PostV1UsersByUserIdOauthByProviderErrors[keyof PostV1UsersByUserIdOauthByProviderErrors];
1918
+ export type PostV1UsersByUserIdOauthByProviderResponses = {
1600
1919
  /**
1601
1920
  * OAuth connection created
1602
1921
  */
@@ -1604,8 +1923,8 @@ export type PostV1UsersUserIdOauthProviderResponses = {
1604
1923
  data: AuthConnection;
1605
1924
  };
1606
1925
  };
1607
- export type PostV1UsersUserIdOauthProviderResponse = PostV1UsersUserIdOauthProviderResponses[keyof PostV1UsersUserIdOauthProviderResponses];
1608
- export type GetV1UsersUserIdOauthProviderTokenData = {
1926
+ export type PostV1UsersByUserIdOauthByProviderResponse = PostV1UsersByUserIdOauthByProviderResponses[keyof PostV1UsersByUserIdOauthByProviderResponses];
1927
+ export type GetV1UsersByUserIdOauthByProviderTokenData = {
1609
1928
  body?: never;
1610
1929
  path: {
1611
1930
  provider: 'google' | 'microsoft';
@@ -1614,13 +1933,13 @@ export type GetV1UsersUserIdOauthProviderTokenData = {
1614
1933
  query?: never;
1615
1934
  url: '/v1/users/{userId}/oauth/{provider}/token';
1616
1935
  };
1617
- export type GetV1UsersUserIdOauthProviderTokenErrors = {
1936
+ export type GetV1UsersByUserIdOauthByProviderTokenErrors = {
1618
1937
  /**
1619
1938
  * Invalid request
1620
1939
  */
1621
1940
  400: {
1622
- data: null;
1623
1941
  error: string;
1942
+ data: null;
1624
1943
  };
1625
1944
  /**
1626
1945
  * User not found
@@ -1630,8 +1949,8 @@ export type GetV1UsersUserIdOauthProviderTokenErrors = {
1630
1949
  error: string;
1631
1950
  };
1632
1951
  };
1633
- export type GetV1UsersUserIdOauthProviderTokenError = GetV1UsersUserIdOauthProviderTokenErrors[keyof GetV1UsersUserIdOauthProviderTokenErrors];
1634
- export type GetV1UsersUserIdOauthProviderTokenResponses = {
1952
+ export type GetV1UsersByUserIdOauthByProviderTokenError = GetV1UsersByUserIdOauthByProviderTokenErrors[keyof GetV1UsersByUserIdOauthByProviderTokenErrors];
1953
+ export type GetV1UsersByUserIdOauthByProviderTokenResponses = {
1635
1954
  /**
1636
1955
  * Access token
1637
1956
  */
@@ -1641,8 +1960,8 @@ export type GetV1UsersUserIdOauthProviderTokenResponses = {
1641
1960
  };
1642
1961
  };
1643
1962
  };
1644
- export type GetV1UsersUserIdOauthProviderTokenResponse = GetV1UsersUserIdOauthProviderTokenResponses[keyof GetV1UsersUserIdOauthProviderTokenResponses];
1645
- export type GetV1UsersUserIdSchedulingData = {
1963
+ export type GetV1UsersByUserIdOauthByProviderTokenResponse = GetV1UsersByUserIdOauthByProviderTokenResponses[keyof GetV1UsersByUserIdOauthByProviderTokenResponses];
1964
+ export type GetV1UsersByUserIdSchedulingData = {
1646
1965
  body?: never;
1647
1966
  path: {
1648
1967
  userId: string;
@@ -1680,13 +1999,13 @@ export type GetV1UsersUserIdSchedulingData = {
1680
1999
  };
1681
2000
  url: '/v1/users/{userId}/scheduling';
1682
2001
  };
1683
- export type GetV1UsersUserIdSchedulingErrors = {
2002
+ export type GetV1UsersByUserIdSchedulingErrors = {
1684
2003
  /**
1685
2004
  * Bad request
1686
2005
  */
1687
2006
  400: {
1688
- data: null;
1689
2007
  error: string;
2008
+ data: null;
1690
2009
  };
1691
2010
  /**
1692
2011
  * Calendar provider rejected the stored access token
@@ -1695,6 +2014,13 @@ export type GetV1UsersUserIdSchedulingErrors = {
1695
2014
  data: null;
1696
2015
  error: string;
1697
2016
  };
2017
+ /**
2018
+ * Every requested calendar was denied by the provider, has no mailbox behind it, or the authorization does not cover busy times
2019
+ */
2020
+ 403: {
2021
+ data: null;
2022
+ error: string;
2023
+ };
1698
2024
  /**
1699
2025
  * User not found, or the user has no connected calendars
1700
2026
  */
@@ -1703,15 +2029,22 @@ export type GetV1UsersUserIdSchedulingErrors = {
1703
2029
  error: string;
1704
2030
  };
1705
2031
  /**
1706
- * Calendar provider unreachable or returned an unreadable response
2032
+ * The calendar provider throttled every requested calendar
2033
+ */
2034
+ 429: {
2035
+ data: null;
2036
+ error: string;
2037
+ };
2038
+ /**
2039
+ * Every requested calendar could not be read
1707
2040
  */
1708
2041
  502: {
1709
2042
  data: null;
1710
2043
  error: string;
1711
2044
  };
1712
2045
  };
1713
- export type GetV1UsersUserIdSchedulingError = GetV1UsersUserIdSchedulingErrors[keyof GetV1UsersUserIdSchedulingErrors];
1714
- export type GetV1UsersUserIdSchedulingResponses = {
2046
+ export type GetV1UsersByUserIdSchedulingError = GetV1UsersByUserIdSchedulingErrors[keyof GetV1UsersByUserIdSchedulingErrors];
2047
+ export type GetV1UsersByUserIdSchedulingResponses = {
1715
2048
  /**
1716
2049
  * Available time slots
1717
2050
  */
@@ -1748,9 +2081,9 @@ export type GetV1UsersUserIdSchedulingResponses = {
1748
2081
  };
1749
2082
  };
1750
2083
  };
1751
- export type GetV1UsersUserIdSchedulingResponse = GetV1UsersUserIdSchedulingResponses[keyof GetV1UsersUserIdSchedulingResponses];
1752
- export type PostV1UsersUserIdSchedulingData = {
1753
- body?: {
2084
+ export type GetV1UsersByUserIdSchedulingResponse = GetV1UsersByUserIdSchedulingResponses[keyof GetV1UsersByUserIdSchedulingResponses];
2085
+ export type PostV1UsersByUserIdSchedulingData = {
2086
+ body: {
1754
2087
  schedules: Array<{
1755
2088
  /**
1756
2089
  * The days to apply this scheduling element to
@@ -1794,13 +2127,13 @@ export type PostV1UsersUserIdSchedulingData = {
1794
2127
  };
1795
2128
  url: '/v1/users/{userId}/scheduling';
1796
2129
  };
1797
- export type PostV1UsersUserIdSchedulingErrors = {
2130
+ export type PostV1UsersByUserIdSchedulingErrors = {
1798
2131
  /**
1799
2132
  * Bad request
1800
2133
  */
1801
2134
  400: {
1802
- data: null;
1803
2135
  error: string;
2136
+ data: null;
1804
2137
  };
1805
2138
  /**
1806
2139
  * Calendar provider rejected the stored access token
@@ -1809,6 +2142,13 @@ export type PostV1UsersUserIdSchedulingErrors = {
1809
2142
  data: null;
1810
2143
  error: string;
1811
2144
  };
2145
+ /**
2146
+ * Every requested calendar was denied by the provider, has no mailbox behind it, or the authorization does not cover busy times
2147
+ */
2148
+ 403: {
2149
+ data: null;
2150
+ error: string;
2151
+ };
1812
2152
  /**
1813
2153
  * User not found, or the user has no connected calendars
1814
2154
  */
@@ -1817,15 +2157,22 @@ export type PostV1UsersUserIdSchedulingErrors = {
1817
2157
  error: string;
1818
2158
  };
1819
2159
  /**
1820
- * Calendar provider unreachable or returned an unreadable response
2160
+ * The calendar provider throttled every requested calendar
2161
+ */
2162
+ 429: {
2163
+ data: null;
2164
+ error: string;
2165
+ };
2166
+ /**
2167
+ * Every requested calendar could not be read
1821
2168
  */
1822
2169
  502: {
1823
2170
  data: null;
1824
2171
  error: string;
1825
2172
  };
1826
2173
  };
1827
- export type PostV1UsersUserIdSchedulingError = PostV1UsersUserIdSchedulingErrors[keyof PostV1UsersUserIdSchedulingErrors];
1828
- export type PostV1UsersUserIdSchedulingResponses = {
2174
+ export type PostV1UsersByUserIdSchedulingError = PostV1UsersByUserIdSchedulingErrors[keyof PostV1UsersByUserIdSchedulingErrors];
2175
+ export type PostV1UsersByUserIdSchedulingResponses = {
1829
2176
  /**
1830
2177
  * Available time slots
1831
2178
  */
@@ -1862,9 +2209,9 @@ export type PostV1UsersUserIdSchedulingResponses = {
1862
2209
  };
1863
2210
  };
1864
2211
  };
1865
- export type PostV1UsersUserIdSchedulingResponse = PostV1UsersUserIdSchedulingResponses[keyof PostV1UsersUserIdSchedulingResponses];
2212
+ export type PostV1UsersByUserIdSchedulingResponse = PostV1UsersByUserIdSchedulingResponses[keyof PostV1UsersByUserIdSchedulingResponses];
1866
2213
  export type PostV1UsersSchedulingData = {
1867
- body?: {
2214
+ body: {
1868
2215
  users: Array<{
1869
2216
  id: string;
1870
2217
  calendarIds?: string | Array<string>;
@@ -1923,13 +2270,24 @@ export type PostV1UsersSchedulingData = {
1923
2270
  };
1924
2271
  url: '/v1/users/scheduling';
1925
2272
  };
2273
+ export type PostV1UsersSchedulingErrors = {
2274
+ /**
2275
+ * Validation Error
2276
+ */
2277
+ 400: {
2278
+ error: string;
2279
+ data: null;
2280
+ };
2281
+ };
2282
+ export type PostV1UsersSchedulingError = PostV1UsersSchedulingErrors[keyof PostV1UsersSchedulingErrors];
1926
2283
  export type PostV1UsersSchedulingResponses = {
1927
2284
  /**
1928
- * Available time slots for each user
2285
+ * Available time slots for each user, plus the calendars that could not be read
1929
2286
  */
1930
2287
  200: {
1931
2288
  data: Array<{
1932
2289
  availableSlots: Array<TimeRange>;
2290
+ failedCalendars: Array<FailedCalendar>;
1933
2291
  options: {
1934
2292
  /**
1935
2293
  * End time of the time range in ISO format
@@ -1991,6 +2349,7 @@ export type PostV1UsersSchedulingResponses = {
1991
2349
  error: string;
1992
2350
  status: 'error';
1993
2351
  userId: string;
2352
+ reason?: FreeBusyFailureReason;
1994
2353
  }>;
1995
2354
  };
1996
2355
  };