@epilot/email-settings-client 0.10.0 → 0.12.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.
@@ -1 +1 @@
1
- (()=>{"use strict";var e={390:function(e,s,t){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(s,"__esModule",{value:!0});var o=n(t(466));s.default=o.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"paths":{"/v2/email-settings/email-addresses/epilot:provision":{"put":{"operationId":"provisionEpilotEmailAddress","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses/primary":{"post":{"operationId":"setEmailAddressPrimary","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses/{id}":{"get":{"operationId":"getEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"responses":{}},"delete":{"operationId":"deleteEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"responses":{}},"put":{"operationId":"updateEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses":{"get":{"operationId":"listEmailAddresses","responses":{}},"post":{"operationId":"addEmailAddress","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/shared-inboxes/{id}":{"get":{"operationId":"getSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"}],"responses":{}},"delete":{"operationId":"deleteSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"},{"name":"successorInboxId","in":"query","required":false}],"responses":{}},"put":{"operationId":"updateSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/shared-inboxes":{"get":{"operationId":"listSharedInboxes","responses":{}},"post":{"operationId":"addSharedInbox","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/inbox-buckets":{"get":{"operationId":"listInboxBuckets","responses":{}}},"/v1/email-settings":{"get":{"operationId":"getSettings","parameters":[{"name":"type","in":"query","required":true},{"name":"id","in":"query"}],"responses":{}},"post":{"operationId":"addSetting","requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteSetting","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/{id}":{"post":{"operationId":"updateSetting","parameters":[{"name":"id","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain":{"post":{"operationId":"addDomain","requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteDomain","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain/name-servers:verify":{"post":{"operationId":"verifyNameServers","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain:verify":{"post":{"operationId":"verifyDomain","requestBody":{"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"ListInboxBucketsSuccessResponse":{"content":{"application/json":{}}},"ProvisionEpilotEmailAddressSuccessResponse":{"content":{"application/json":{}}},"SetEmailAddressPrimarySuccessResponse":{"content":{"application/json":{}}},"CreateEmailAddressSuccessResponse":{"content":{"application/json":{}}},"UpdateEmailAddressSuccessResponse":{"content":{"application/json":{}}},"GetEmailAddressSuccessResponse":{"content":{"application/json":{}}},"ListEmailAddressesSuccessResponse":{"content":{"application/json":{}}},"NoContent":{},"CreateSharedInboxSuccessResponse":{"content":{"application/json":{}}},"UpdateSharedInboxSuccessResponse":{"content":{"application/json":{}}},"GetSharedInboxSuccessResponse":{"content":{"application/json":{}}},"ListSharedInboxesSuccessResponse":{"content":{"application/json":{}}},"BadRequest":{"content":{"application/json":{}}},"Forbidden":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Conflict":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}}},"parameters":{"EmailAddressId":{"name":"id","in":"path","required":true},"SharedInboxId":{"name":"id","in":"path","required":true}}},"servers":[{"url":"https://email-settings.sls.epilot.io"}]}')}},s={},t=function t(n){var o=s[n];if(void 0!==o)return o.exports;var a=s[n]={exports:{}};return e[n].call(a.exports,a,a.exports,t),a.exports}(390),n=exports;for(var o in t)n[o]=t[o];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={330:function(e,s,o){var t=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(s,"__esModule",{value:!0});var n=t(o(466));s.default=n.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.0.3","info":{"title":"","version":""},"paths":{"/v2/email-settings/email-addresses/epilot:provision":{"put":{"operationId":"provisionEpilotEmailAddress","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses/primary":{"post":{"operationId":"setEmailAddressPrimary","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses/{id}":{"get":{"operationId":"getEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"responses":{}},"delete":{"operationId":"deleteEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"responses":{}},"put":{"operationId":"updateEmailAddress","parameters":[{"$ref":"#/components/parameters/EmailAddressId"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/email-addresses":{"get":{"operationId":"listEmailAddresses","responses":{}},"post":{"operationId":"addEmailAddress","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/shared-inboxes/{id}":{"get":{"operationId":"getSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"}],"responses":{}},"delete":{"operationId":"deleteSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"},{"name":"successorInboxId","in":"query","required":false}],"responses":{}},"put":{"operationId":"updateSharedInbox","parameters":[{"$ref":"#/components/parameters/SharedInboxId"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/shared-inboxes":{"get":{"operationId":"listSharedInboxes","responses":{}},"post":{"operationId":"addSharedInbox","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/email-settings/inbox-buckets":{"get":{"operationId":"listInboxBuckets","responses":{}}},"/v2/outlook/connect":{"get":{"operationId":"connectOutlook","responses":{}}},"/v2/outlook/connection/status":{"get":{"operationId":"getOutlookConnectionStatus","responses":{}}},"/v2/outlook/connection/disconnect":{"post":{"operationId":"disconnectOutlook","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/outlook/shared-mailboxes/connect":{"post":{"operationId":"connectSharedMailbox","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/outlook/shared-mailboxes/mappings":{"get":{"operationId":"getSharedMailboxMappings","responses":{}}},"/v2/outlook/shared-mailboxes/mappings/{shared_inbox_id}":{"get":{"operationId":"getSharedMailboxMappingById","parameters":[{"name":"shared_inbox_id","in":"path","required":true}],"responses":{}}},"/v2/outlook/test-webhook":{"get":{"operationId":"testWebhookGet","parameters":[{"name":"validationToken","in":"query","required":false}],"responses":{}},"post":{"operationId":"testWebhookPost","parameters":[{"name":"validationToken","in":"query","required":false},{"name":"debugMessages","in":"query","required":false}],"requestBody":{"required":false,"content":{"application/json":{},"plain/text":{}}},"responses":{}}},"/v2/outlook/oauth/callback":{"get":{"operationId":"outlookOAuthCallback","parameters":[{"name":"code","in":"query","required":false},{"name":"state","in":"query","required":true},{"name":"session_state","in":"query","required":false},{"name":"error","in":"query","required":false},{"name":"error_description","in":"query","required":false},{"name":"error_subcode","in":"query","required":false},{"name":"client_info","in":"query","required":false},{"name":"error_uri","in":"query","required":false},{"name":"admin_consent","in":"query","required":false},{"name":"tenant","in":"query","required":false}],"responses":{}}},"/v1/email-settings":{"get":{"operationId":"getSettings","parameters":[{"name":"type","in":"query","required":true},{"name":"id","in":"query"}],"responses":{}},"post":{"operationId":"addSetting","requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteSetting","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/{id}":{"post":{"operationId":"updateSetting","parameters":[{"name":"id","in":"path","required":true}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain":{"post":{"operationId":"addDomain","requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteDomain","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain/name-servers:verify":{"post":{"operationId":"verifyNameServers","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/email-settings/domain:verify":{"post":{"operationId":"verifyDomain","requestBody":{"content":{"application/json":{}}},"responses":{}}}},"components":{"responses":{"ListInboxBucketsSuccessResponse":{"content":{"application/json":{}}},"ProvisionEpilotEmailAddressSuccessResponse":{"content":{"application/json":{}}},"SetEmailAddressPrimarySuccessResponse":{"content":{"application/json":{}}},"CreateEmailAddressSuccessResponse":{"content":{"application/json":{}}},"UpdateEmailAddressSuccessResponse":{"content":{"application/json":{}}},"GetEmailAddressSuccessResponse":{"content":{"application/json":{}}},"ListEmailAddressesSuccessResponse":{"content":{"application/json":{}}},"NoContent":{},"CreateSharedInboxSuccessResponse":{"content":{"application/json":{}}},"UpdateSharedInboxSuccessResponse":{"content":{"application/json":{}}},"GetSharedInboxSuccessResponse":{"content":{"application/json":{}}},"ListSharedInboxesSuccessResponse":{"content":{"application/json":{}}},"BadRequest":{"content":{"application/json":{}}},"Forbidden":{"content":{"application/json":{}}},"NotFound":{"content":{"application/json":{}}},"Conflict":{"content":{"application/json":{}}},"InternalServerError":{"content":{"application/json":{}}}},"parameters":{"EmailAddressId":{"name":"id","in":"path","required":true},"SharedInboxId":{"name":"id","in":"path","required":true}}},"servers":[{"url":"https://email-settings.sls.epilot.io"}]}')}},s={},o=function o(t){var n=s[t];if(void 0!==n)return n.exports;var r=s[t]={exports:{}};return e[t].call(r.exports,r,r.exports,o),r.exports}(330),t=exports;for(var n in o)t[n]=o[n];o.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})})();
package/dist/openapi.d.ts CHANGED
@@ -164,6 +164,41 @@ declare namespace Components {
164
164
  description?: string;
165
165
  bucket_id: string;
166
166
  }
167
+ /**
168
+ * Mapping between a shared inbox and its Outlook shared mailbox.
169
+ * This tracks which provider/tenant provisions each shared mailbox.
170
+ *
171
+ */
172
+ export interface SharedMailboxMapping {
173
+ /**
174
+ * The email-settings shared inbox entity ID
175
+ */
176
+ shared_inbox_id: string;
177
+ /**
178
+ * The Outlook shared mailbox email address
179
+ */
180
+ outlook_email: string; // email
181
+ /**
182
+ * Azure AD Tenant ID that provisions this mailbox
183
+ */
184
+ tenant_id: string;
185
+ /**
186
+ * Provider type (for future extensibility)
187
+ */
188
+ provider: "outlook";
189
+ /**
190
+ * Display name from Outlook
191
+ */
192
+ display_name?: string;
193
+ /**
194
+ * When the mailbox was connected
195
+ */
196
+ connected_at: string; // date-time
197
+ /**
198
+ * User who connected this mailbox
199
+ */
200
+ connected_by_user_id?: string;
201
+ }
167
202
  /**
168
203
  * Setting that allows to add a signature.
169
204
  */
@@ -231,6 +266,77 @@ declare namespace Paths {
231
266
  export type $500 = Components.Responses.InternalServerError;
232
267
  }
233
268
  }
269
+ namespace ConnectOutlook {
270
+ namespace Responses {
271
+ export interface $200 {
272
+ authorization_url?: string;
273
+ }
274
+ }
275
+ }
276
+ namespace ConnectSharedMailbox {
277
+ export interface RequestBody {
278
+ /**
279
+ * Email address of the Outlook shared mailbox to connect
280
+ */
281
+ email: string; // email
282
+ /**
283
+ * Display name for the shared inbox (defaults to mailbox display name)
284
+ */
285
+ name?: string;
286
+ /**
287
+ * Color for the shared inbox (hex code, defaults to green)
288
+ */
289
+ color?: string;
290
+ /**
291
+ * User IDs to assign to this shared inbox
292
+ */
293
+ assignees?: string[];
294
+ /**
295
+ * Description for the shared inbox
296
+ */
297
+ description?: string;
298
+ }
299
+ namespace Responses {
300
+ export interface $201 {
301
+ /**
302
+ * The created shared inbox from email-settings
303
+ */
304
+ shared_inbox?: {
305
+ id?: string;
306
+ name?: string;
307
+ color?: string;
308
+ assignees?: string[];
309
+ description?: string;
310
+ };
311
+ /**
312
+ * The Outlook shared mailbox email address
313
+ */
314
+ outlook_email?: string; // email
315
+ /**
316
+ * Azure AD Tenant ID that provisions this mailbox
317
+ */
318
+ tenant_id?: string;
319
+ /**
320
+ * The provider type
321
+ */
322
+ provider?: "outlook";
323
+ /**
324
+ * Display name of the shared mailbox
325
+ */
326
+ display_name?: string;
327
+ }
328
+ export interface $400 {
329
+ }
330
+ export interface $401 {
331
+ }
332
+ export interface $403 {
333
+ }
334
+ export interface $409 {
335
+ }
336
+ export interface $500 {
337
+ }
338
+ }
339
+ }
234
340
  namespace DeleteDomain {
235
341
  export type RequestBody = Components.Schemas.Domain;
236
342
  namespace Responses {
@@ -293,6 +399,33 @@ declare namespace Paths {
293
399
  export type $500 = Components.Responses.InternalServerError;
294
400
  }
295
401
  }
402
+ namespace DisconnectOutlook {
403
+ export interface RequestBody {
404
+ /**
405
+ * Azure AD Tenant ID of the connection to disconnect
406
+ */
407
+ tenant_id: string;
408
+ }
409
+ namespace Responses {
410
+ export interface $200 {
411
+ success?: boolean;
412
+ /**
413
+ * The tenant ID that was disconnected
414
+ */
415
+ tenant_id?: string;
416
+ /**
417
+ * List of shared inbox IDs that were affected by the disconnection
418
+ */
419
+ affected_shared_inboxes?: string[];
420
+ }
421
+ export interface $400 {
422
+ }
423
+ export interface $404 {
424
+ }
425
+ export interface $500 {
426
+ }
427
+ }
428
+ }
296
429
  namespace GetEmailAddress {
297
430
  namespace Parameters {
298
431
  export type Id = string;
@@ -307,6 +440,78 @@ declare namespace Paths {
307
440
  export type $500 = Components.Responses.InternalServerError;
308
441
  }
309
442
  }
443
+ namespace GetOutlookConnectionStatus {
444
+ namespace Responses {
445
+ export interface $200 {
446
+ /**
447
+ * List of Outlook connections (one per tenant)
448
+ */
449
+ connections: {
450
+ /**
451
+ * Current connection status:
452
+ * - pending_auth: Admin consent granted, waiting for user OAuth
453
+ * - connected: Fully connected with valid tokens
454
+ * - expired: Tokens expired, need to re-authenticate
455
+ *
456
+ */
457
+ status: "connected" | "expired" | "pending_auth";
458
+ /**
459
+ * Action for UI to take (all call GET /outlook/connect):
460
+ * - connect: No connection, initiate OAuth
461
+ * - authorize: Admin consent done, complete OAuth
462
+ * - reconnect: Re-authenticate expired session
463
+ * - none: Fully connected, no action needed
464
+ *
465
+ */
466
+ action: "connect" | "authorize" | "reconnect" | "none";
467
+ /**
468
+ * Display name of user who connected
469
+ */
470
+ connected_by_display_name?: string;
471
+ /**
472
+ * Email of the user who connected
473
+ */
474
+ connected_by_email?: string; // email
475
+ /**
476
+ * Azure AD Object ID of user who connected
477
+ */
478
+ connected_by_user_id?: string;
479
+ /**
480
+ * When the connection was established
481
+ */
482
+ connected_at?: string; // date-time
483
+ /**
484
+ * When the connection was last updated
485
+ */
486
+ updated_at?: string; // date-time
487
+ /**
488
+ * Microsoft Azure AD tenant ID
489
+ */
490
+ tenant_id: string;
491
+ /**
492
+ * Granted permission scopes
493
+ */
494
+ scopes?: string[];
495
+ /**
496
+ * When the current access token expires
497
+ */
498
+ expires_at?: string; // date-time
499
+ /**
500
+ * Whether the current token is still valid
501
+ */
502
+ is_token_valid?: boolean;
503
+ }[];
504
+ /**
505
+ * Whether any connections exist
506
+ */
507
+ has_connections: boolean;
508
+ }
509
+ export interface $400 {
510
+ }
511
+ export interface $500 {
512
+ }
513
+ }
514
+ }
310
515
  namespace GetSettings {
311
516
  namespace Parameters {
312
517
  export type Id = string;
@@ -338,6 +543,48 @@ declare namespace Paths {
338
543
  export type $500 = Components.Responses.InternalServerError;
339
544
  }
340
545
  }
546
+ namespace GetSharedMailboxMappingById {
547
+ namespace Parameters {
548
+ export type SharedInboxId = string;
549
+ }
550
+ export interface PathParameters {
551
+ shared_inbox_id: Parameters.SharedInboxId;
552
+ }
553
+ namespace Responses {
554
+ export type $200 = /**
555
+ * Mapping between a shared inbox and its Outlook shared mailbox.
556
+ * This tracks which provider/tenant provisions each shared mailbox.
557
+ *
558
+ */
559
+ Components.Schemas.SharedMailboxMapping;
560
+ export interface $400 {
561
+ }
562
+ export interface $404 {
563
+ }
564
+ export interface $500 {
565
+ }
566
+ }
567
+ }
568
+ namespace GetSharedMailboxMappings {
569
+ namespace Responses {
570
+ export interface $200 {
571
+ mappings: /**
572
+ * Mapping between a shared inbox and its Outlook shared mailbox.
573
+ * This tracks which provider/tenant provisions each shared mailbox.
574
+ *
575
+ */
576
+ Components.Schemas.SharedMailboxMapping[];
577
+ /**
578
+ * Number of mappings
579
+ */
580
+ count: number;
581
+ }
582
+ export interface $400 {
583
+ }
584
+ export interface $500 {
585
+ }
586
+ }
587
+ }
341
588
  namespace ListEmailAddresses {
342
589
  namespace Responses {
343
590
  export type $200 = Components.Responses.ListEmailAddressesSuccessResponse;
@@ -359,6 +606,39 @@ declare namespace Paths {
359
606
  export type $500 = Components.Responses.InternalServerError;
360
607
  }
361
608
  }
609
+ namespace OutlookOAuthCallback {
610
+ namespace Parameters {
611
+ export type AdminConsent = string;
612
+ export type ClientInfo = string;
613
+ export type Code = string;
614
+ export type Error = string;
615
+ export type ErrorDescription = string;
616
+ export type ErrorSubcode = string;
617
+ export type ErrorUri = string;
618
+ export type SessionState = string;
619
+ export type State = string;
620
+ export type Tenant = string;
621
+ }
622
+ export interface QueryParameters {
623
+ code?: Parameters.Code;
624
+ state: Parameters.State;
625
+ session_state?: Parameters.SessionState;
626
+ error?: Parameters.Error;
627
+ error_description?: Parameters.ErrorDescription;
628
+ error_subcode?: Parameters.ErrorSubcode;
629
+ client_info?: Parameters.ClientInfo;
630
+ error_uri?: Parameters.ErrorUri;
631
+ admin_consent?: Parameters.AdminConsent;
632
+ tenant?: Parameters.Tenant;
633
+ }
634
+ namespace Responses {
635
+ export interface $200 {
636
+ connected?: boolean;
637
+ expires_at?: string; // date-time
638
+ scope?: string;
639
+ }
640
+ }
641
+ }
362
642
  namespace ProvisionEpilotEmailAddress {
363
643
  export type RequestBody = Components.Schemas.ProvisionEpilotEmailAddressPayload;
364
644
  namespace Responses {
@@ -378,6 +658,49 @@ declare namespace Paths {
378
658
  export type $500 = Components.Responses.InternalServerError;
379
659
  }
380
660
  }
661
+ namespace TestWebhookGet {
662
+ namespace Parameters {
663
+ export type ValidationToken = string;
664
+ }
665
+ export interface QueryParameters {
666
+ validationToken?: Parameters.ValidationToken;
667
+ }
668
+ namespace Responses {
669
+ export type $200 = string;
670
+ export interface $202 {
671
+ message?: string;
672
+ timestamp?: string; // date-time
673
+ }
674
+ }
675
+ }
676
+ namespace TestWebhookPost {
677
+ namespace Parameters {
678
+ export type DebugMessages = boolean;
679
+ export type ValidationToken = string;
680
+ }
681
+ export interface QueryParameters {
682
+ validationToken?: Parameters.ValidationToken;
683
+ debugMessages?: Parameters.DebugMessages;
684
+ }
685
+ /**
686
+ * Graph API notification payload
687
+ */
688
+ export interface RequestBody {
689
+ value?: {
690
+ subscriptionId?: string;
691
+ changeType?: string;
692
+ resource?: string;
693
+ clientState?: string;
694
+ }[];
695
+ }
696
+ namespace Responses {
697
+ export type $200 = string;
698
+ export interface $202 {
699
+ message?: string;
700
+ timestamp?: string; // date-time
701
+ }
702
+ }
703
+ }
381
704
  namespace UpdateEmailAddress {
382
705
  namespace Parameters {
383
706
  export type Id = string;
@@ -582,6 +905,117 @@ export interface OperationMethods {
582
905
  data?: any,
583
906
  config?: AxiosRequestConfig
584
907
  ): OperationResponse<Paths.ListInboxBuckets.Responses.$200>
908
+ /**
909
+ * connectOutlook - Connect Outlook
910
+ *
911
+ * Returns Microsoft authorization URL for Outlook OAuth.
912
+ */
913
+ 'connectOutlook'(
914
+ parameters?: Parameters<UnknownParamsObject> | null,
915
+ data?: any,
916
+ config?: AxiosRequestConfig
917
+ ): OperationResponse<Paths.ConnectOutlook.Responses.$200>
918
+ /**
919
+ * getOutlookConnectionStatus - Get Outlook Connection Status
920
+ *
921
+ * Returns all Microsoft 365 / Outlook connections for the organization.
922
+ * Supports multiple connections (one per Azure AD tenant).
923
+ *
924
+ * Each connection includes an `action` field that tells the UI what button to show
925
+ * and what endpoint to call. All actions use GET /outlook/connect.
926
+ *
927
+ */
928
+ 'getOutlookConnectionStatus'(
929
+ parameters?: Parameters<UnknownParamsObject> | null,
930
+ data?: any,
931
+ config?: AxiosRequestConfig
932
+ ): OperationResponse<Paths.GetOutlookConnectionStatus.Responses.$200>
933
+ /**
934
+ * disconnectOutlook - Disconnect Outlook
935
+ *
936
+ * Removes the Microsoft 365 / Outlook connection for a specific tenant.
937
+ * This deletes the stored tokens and disconnects the integration.
938
+ *
939
+ */
940
+ 'disconnectOutlook'(
941
+ parameters?: Parameters<UnknownParamsObject> | null,
942
+ data?: Paths.DisconnectOutlook.RequestBody,
943
+ config?: AxiosRequestConfig
944
+ ): OperationResponse<Paths.DisconnectOutlook.Responses.$200>
945
+ /**
946
+ * connectSharedMailbox - Connect Outlook Shared Mailbox
947
+ *
948
+ * Connects an Outlook shared mailbox as a shared inbox.
949
+ * 1. Validates the user has access to the shared mailbox via Microsoft Graph API
950
+ * 2. Creates a shared inbox entry in email-settings with the Outlook provider info
951
+ *
952
+ */
953
+ 'connectSharedMailbox'(
954
+ parameters?: Parameters<UnknownParamsObject> | null,
955
+ data?: Paths.ConnectSharedMailbox.RequestBody,
956
+ config?: AxiosRequestConfig
957
+ ): OperationResponse<Paths.ConnectSharedMailbox.Responses.$201>
958
+ /**
959
+ * getSharedMailboxMappings - Get Shared Mailbox Mappings
960
+ *
961
+ * Returns all shared mailbox mappings for the organization.
962
+ * Useful to determine which shared inboxes are connected to Outlook
963
+ * and which tenant provisions each one.
964
+ *
965
+ */
966
+ 'getSharedMailboxMappings'(
967
+ parameters?: Parameters<UnknownParamsObject> | null,
968
+ data?: any,
969
+ config?: AxiosRequestConfig
970
+ ): OperationResponse<Paths.GetSharedMailboxMappings.Responses.$200>
971
+ /**
972
+ * getSharedMailboxMappingById - Get Shared Mailbox Mapping by ID
973
+ *
974
+ * Returns the mapping for a specific shared inbox.
975
+ * Useful to check if a specific inbox is connected to Outlook.
976
+ *
977
+ */
978
+ 'getSharedMailboxMappingById'(
979
+ parameters?: Parameters<Paths.GetSharedMailboxMappingById.PathParameters> | null,
980
+ data?: any,
981
+ config?: AxiosRequestConfig
982
+ ): OperationResponse<Paths.GetSharedMailboxMappingById.Responses.$200>
983
+ /**
984
+ * testWebhookGet - Test Webhook (GET)
985
+ *
986
+ * Test endpoint for debugging Graph API webhook notifications via ngrok.
987
+ * Handles Microsoft Graph subscription validation requests by returning the validationToken.
988
+ * This is a PUBLIC endpoint with no authentication.
989
+ *
990
+ */
991
+ 'testWebhookGet'(
992
+ parameters?: Parameters<Paths.TestWebhookGet.QueryParameters> | null,
993
+ data?: any,
994
+ config?: AxiosRequestConfig
995
+ ): OperationResponse<Paths.TestWebhookGet.Responses.$200 | Paths.TestWebhookGet.Responses.$202>
996
+ /**
997
+ * testWebhookPost - Test Webhook (POST)
998
+ *
999
+ * Test endpoint for debugging Graph API webhook notifications via ngrok.
1000
+ * Logs all incoming webhook payloads for debugging purposes.
1001
+ * This is a PUBLIC endpoint with no authentication.
1002
+ *
1003
+ */
1004
+ 'testWebhookPost'(
1005
+ parameters?: Parameters<Paths.TestWebhookPost.QueryParameters> | null,
1006
+ data?: Paths.TestWebhookPost.RequestBody,
1007
+ config?: AxiosRequestConfig
1008
+ ): OperationResponse<Paths.TestWebhookPost.Responses.$200 | Paths.TestWebhookPost.Responses.$202>
1009
+ /**
1010
+ * outlookOAuthCallback - Outlook OAuth callback
1011
+ *
1012
+ * Exchanges authorization code for tokens and stores them.
1013
+ */
1014
+ 'outlookOAuthCallback'(
1015
+ parameters?: Parameters<Paths.OutlookOAuthCallback.QueryParameters> | null,
1016
+ data?: any,
1017
+ config?: AxiosRequestConfig
1018
+ ): OperationResponse<Paths.OutlookOAuthCallback.Responses.$200>
585
1019
  /**
586
1020
  * getSettings - getSettings
587
1021
  *
@@ -809,6 +1243,133 @@ export interface PathsDictionary {
809
1243
  config?: AxiosRequestConfig
810
1244
  ): OperationResponse<Paths.ListInboxBuckets.Responses.$200>
811
1245
  }
1246
+ ['/v2/outlook/connect']: {
1247
+ /**
1248
+ * connectOutlook - Connect Outlook
1249
+ *
1250
+ * Returns Microsoft authorization URL for Outlook OAuth.
1251
+ */
1252
+ 'get'(
1253
+ parameters?: Parameters<UnknownParamsObject> | null,
1254
+ data?: any,
1255
+ config?: AxiosRequestConfig
1256
+ ): OperationResponse<Paths.ConnectOutlook.Responses.$200>
1257
+ }
1258
+ ['/v2/outlook/connection/status']: {
1259
+ /**
1260
+ * getOutlookConnectionStatus - Get Outlook Connection Status
1261
+ *
1262
+ * Returns all Microsoft 365 / Outlook connections for the organization.
1263
+ * Supports multiple connections (one per Azure AD tenant).
1264
+ *
1265
+ * Each connection includes an `action` field that tells the UI what button to show
1266
+ * and what endpoint to call. All actions use GET /outlook/connect.
1267
+ *
1268
+ */
1269
+ 'get'(
1270
+ parameters?: Parameters<UnknownParamsObject> | null,
1271
+ data?: any,
1272
+ config?: AxiosRequestConfig
1273
+ ): OperationResponse<Paths.GetOutlookConnectionStatus.Responses.$200>
1274
+ }
1275
+ ['/v2/outlook/connection/disconnect']: {
1276
+ /**
1277
+ * disconnectOutlook - Disconnect Outlook
1278
+ *
1279
+ * Removes the Microsoft 365 / Outlook connection for a specific tenant.
1280
+ * This deletes the stored tokens and disconnects the integration.
1281
+ *
1282
+ */
1283
+ 'post'(
1284
+ parameters?: Parameters<UnknownParamsObject> | null,
1285
+ data?: Paths.DisconnectOutlook.RequestBody,
1286
+ config?: AxiosRequestConfig
1287
+ ): OperationResponse<Paths.DisconnectOutlook.Responses.$200>
1288
+ }
1289
+ ['/v2/outlook/shared-mailboxes/connect']: {
1290
+ /**
1291
+ * connectSharedMailbox - Connect Outlook Shared Mailbox
1292
+ *
1293
+ * Connects an Outlook shared mailbox as a shared inbox.
1294
+ * 1. Validates the user has access to the shared mailbox via Microsoft Graph API
1295
+ * 2. Creates a shared inbox entry in email-settings with the Outlook provider info
1296
+ *
1297
+ */
1298
+ 'post'(
1299
+ parameters?: Parameters<UnknownParamsObject> | null,
1300
+ data?: Paths.ConnectSharedMailbox.RequestBody,
1301
+ config?: AxiosRequestConfig
1302
+ ): OperationResponse<Paths.ConnectSharedMailbox.Responses.$201>
1303
+ }
1304
+ ['/v2/outlook/shared-mailboxes/mappings']: {
1305
+ /**
1306
+ * getSharedMailboxMappings - Get Shared Mailbox Mappings
1307
+ *
1308
+ * Returns all shared mailbox mappings for the organization.
1309
+ * Useful to determine which shared inboxes are connected to Outlook
1310
+ * and which tenant provisions each one.
1311
+ *
1312
+ */
1313
+ 'get'(
1314
+ parameters?: Parameters<UnknownParamsObject> | null,
1315
+ data?: any,
1316
+ config?: AxiosRequestConfig
1317
+ ): OperationResponse<Paths.GetSharedMailboxMappings.Responses.$200>
1318
+ }
1319
+ ['/v2/outlook/shared-mailboxes/mappings/{shared_inbox_id}']: {
1320
+ /**
1321
+ * getSharedMailboxMappingById - Get Shared Mailbox Mapping by ID
1322
+ *
1323
+ * Returns the mapping for a specific shared inbox.
1324
+ * Useful to check if a specific inbox is connected to Outlook.
1325
+ *
1326
+ */
1327
+ 'get'(
1328
+ parameters?: Parameters<Paths.GetSharedMailboxMappingById.PathParameters> | null,
1329
+ data?: any,
1330
+ config?: AxiosRequestConfig
1331
+ ): OperationResponse<Paths.GetSharedMailboxMappingById.Responses.$200>
1332
+ }
1333
+ ['/v2/outlook/test-webhook']: {
1334
+ /**
1335
+ * testWebhookGet - Test Webhook (GET)
1336
+ *
1337
+ * Test endpoint for debugging Graph API webhook notifications via ngrok.
1338
+ * Handles Microsoft Graph subscription validation requests by returning the validationToken.
1339
+ * This is a PUBLIC endpoint with no authentication.
1340
+ *
1341
+ */
1342
+ 'get'(
1343
+ parameters?: Parameters<Paths.TestWebhookGet.QueryParameters> | null,
1344
+ data?: any,
1345
+ config?: AxiosRequestConfig
1346
+ ): OperationResponse<Paths.TestWebhookGet.Responses.$200 | Paths.TestWebhookGet.Responses.$202>
1347
+ /**
1348
+ * testWebhookPost - Test Webhook (POST)
1349
+ *
1350
+ * Test endpoint for debugging Graph API webhook notifications via ngrok.
1351
+ * Logs all incoming webhook payloads for debugging purposes.
1352
+ * This is a PUBLIC endpoint with no authentication.
1353
+ *
1354
+ */
1355
+ 'post'(
1356
+ parameters?: Parameters<Paths.TestWebhookPost.QueryParameters> | null,
1357
+ data?: Paths.TestWebhookPost.RequestBody,
1358
+ config?: AxiosRequestConfig
1359
+ ): OperationResponse<Paths.TestWebhookPost.Responses.$200 | Paths.TestWebhookPost.Responses.$202>
1360
+ }
1361
+ ['/v2/outlook/oauth/callback']: {
1362
+ /**
1363
+ * outlookOAuthCallback - Outlook OAuth callback
1364
+ *
1365
+ * Exchanges authorization code for tokens and stores them.
1366
+ */
1367
+ 'get'(
1368
+ parameters?: Parameters<Paths.OutlookOAuthCallback.QueryParameters> | null,
1369
+ data?: any,
1370
+ config?: AxiosRequestConfig
1371
+ ): OperationResponse<Paths.OutlookOAuthCallback.Responses.$200>
1372
+ }
812
1373
  ['/v1/email-settings']: {
813
1374
  /**
814
1375
  * getSettings - getSettings
@@ -920,6 +1481,7 @@ export type SettingMeta = Components.Schemas.SettingMeta;
920
1481
  export type SettingType = Components.Schemas.SettingType;
921
1482
  export type SettingsResponse = Components.Schemas.SettingsResponse;
922
1483
  export type SharedInboxResponse = Components.Schemas.SharedInboxResponse;
1484
+ export type SharedMailboxMapping = Components.Schemas.SharedMailboxMapping;
923
1485
  export type SignatureSetting = Components.Schemas.SignatureSetting;
924
1486
  export type UpdateEmailAddressPayload = Components.Schemas.UpdateEmailAddressPayload;
925
1487
  export type UpdateSharedInboxPayload = Components.Schemas.UpdateSharedInboxPayload;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/email-settings-client",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "API Client for epilot Email Settings API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",