@epilot/cli 0.1.10 → 0.1.12

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 (89) hide show
  1. package/README.md +18 -21
  2. package/definitions/app.json +56 -6
  3. package/definitions/automation.json +214 -1
  4. package/definitions/blueprint-manifest.json +1303 -60
  5. package/definitions/customer-portal.json +757 -81
  6. package/definitions/data-governance.json +1126 -0
  7. package/definitions/deduplication.json +135 -4
  8. package/definitions/design.json +103 -57
  9. package/definitions/email-settings.json +150 -0
  10. package/definitions/email-template.json +25 -3
  11. package/definitions/entity.json +405 -5
  12. package/definitions/erp-integration.json +3140 -1049
  13. package/definitions/integration-toolkit.json +7998 -0
  14. package/definitions/journey.json +18 -1
  15. package/definitions/kanban.json +25 -1
  16. package/definitions/message.json +202 -0
  17. package/definitions/organization.json +35 -1
  18. package/definitions/partner-directory.json +795 -229
  19. package/definitions/permissions.json +41 -6
  20. package/definitions/sharing.json +956 -0
  21. package/definitions/template-variables.json +12 -4
  22. package/definitions/webhooks.json +111 -2
  23. package/definitions/workflow-definition.json +87 -202
  24. package/definitions/workflow.json +142 -0
  25. package/dist/{access-token-PTTCRMGK.js → access-token-CIM4RLBP.js} +1 -1
  26. package/dist/add-component-AAVQVPKK.js +296 -0
  27. package/dist/{address-2FDPEPR6.js → address-EDRTUWTP.js} +1 -1
  28. package/dist/{address-suggestions-XBEK5DDQ.js → address-suggestions-S5WEST2N.js} +1 -1
  29. package/dist/{ai-agents-ZY5BNVTN.js → ai-agents-RXDDJDAR.js} +1 -1
  30. package/dist/{app-IT5FWGUK.js → api-36XROHLK.js} +5 -5
  31. package/dist/app-I3XXHZLD.js +24 -0
  32. package/dist/{audit-logs-FB4TE4TI.js → audit-logs-PXGDGJGV.js} +1 -1
  33. package/dist/{automation-JE5LDKJM.js → automation-LS6MVLP2.js} +1 -1
  34. package/dist/{billing-GOFCP5T3.js → billing-KVYFUKZK.js} +1 -1
  35. package/dist/bin/epilot.js +53 -52
  36. package/dist/{blueprint-manifest-WJIQKFYK.js → blueprint-manifest-W4ZGJD2Z.js} +1 -1
  37. package/dist/{chunk-P5IZZW4Y.js → chunk-BYAEI4Z2.js} +1 -1
  38. package/dist/chunk-CEP7S7X3.js +366 -0
  39. package/dist/{chunk-MNSG22DM.js → chunk-F6KWKTQJ.js} +124 -63
  40. package/dist/{completion-HZNPHJI4.js → completion-QP4IYMVI.js} +1 -1
  41. package/dist/{consent-DSMWWHUL.js → consent-M4QB2HPM.js} +1 -1
  42. package/dist/{customer-portal-IJYTJYUZ.js → customer-portal-SVO2YCXA.js} +1 -1
  43. package/dist/{dashboard-DOAX6XDG.js → dashboard-CYCXIX74.js} +1 -1
  44. package/dist/{data-management-C4JPPUPD.js → data-governance-DJAAIE6F.js} +6 -6
  45. package/dist/{deduplication-7OGLZLAC.js → deduplication-M3KEVJRG.js} +1 -1
  46. package/dist/deploy-4XDFWOEV.js +214 -0
  47. package/dist/{design-3CAYTWFY.js → design-UVJJ2KO2.js} +1 -1
  48. package/dist/{document-NT5JOJQV.js → document-5HB632XE.js} +1 -1
  49. package/dist/{email-settings-2M3WJTQS.js → email-settings-H7HQTDYE.js} +1 -1
  50. package/dist/{email-template-F4PLBPPC.js → email-template-2DHZ3VKF.js} +1 -1
  51. package/dist/{entity-32LKMZAU.js → entity-HED6QHG7.js} +1 -1
  52. package/dist/{entity-mapping-OBCZDYQJ.js → entity-mapping-QP22B65Z.js} +1 -1
  53. package/dist/{environments-H3TBCDQE.js → environments-6LLEIGWV.js} +1 -1
  54. package/dist/{event-catalog-NVAPTZ4M.js → event-catalog-2ZCZTATY.js} +1 -1
  55. package/dist/export-JA5N4JCJ.js +44 -0
  56. package/dist/{file-US2HR4SV.js → file-R6IIXOIZ.js} +1 -1
  57. package/dist/{iban-7QUCOULB.js → iban-EQD2VROZ.js} +1 -1
  58. package/dist/init-5KGNJEWF.js +524 -0
  59. package/dist/integration-toolkit-4CLQDSK7.js +54 -0
  60. package/dist/{journey-E5T4BZZX.js → journey-V7X2KUKH.js} +1 -1
  61. package/dist/{kanban-7UHU5VE6.js → kanban-EPI6C3FR.js} +1 -1
  62. package/dist/{message-7KY33RJE.js → message-477EJ5JO.js} +1 -1
  63. package/dist/{metering-P7BZGMY7.js → metering-5EAEKRSL.js} +1 -1
  64. package/dist/{notes-TNJ7FPA3.js → notes-CVXNRULU.js} +1 -1
  65. package/dist/{notification-6KXEFVO5.js → notification-6HXS76XP.js} +1 -1
  66. package/dist/{organization-FF4Y3PBO.js → organization-O33CZQKD.js} +1 -1
  67. package/dist/{partner-directory-VH2SBAS2.js → partner-directory-NZWGCKSB.js} +2 -2
  68. package/dist/{permissions-KENZ4HNY.js → permissions-6QEOBJ6M.js} +1 -1
  69. package/dist/{pricing-P6QZ77VJ.js → pricing-KNYSULCW.js} +1 -1
  70. package/dist/{pricing-tier-2IRJMTM6.js → pricing-tier-OCHP6SHT.js} +1 -1
  71. package/dist/{purpose-IHROR6LQ.js → purpose-NGM42XWB.js} +1 -1
  72. package/dist/remove-component-LXSRR23E.js +89 -0
  73. package/dist/review-HFOO3NXE.js +69 -0
  74. package/dist/{sandbox-62XQPOU6.js → sandbox-YX3VVAQG.js} +1 -1
  75. package/dist/sharing-X5U53KSU.js +54 -0
  76. package/dist/{submission-PUWGOYQB.js → submission-YOWVSZNA.js} +1 -1
  77. package/dist/{targeting-QB3DFYNI.js → targeting-BMZCOG72.js} +1 -1
  78. package/dist/{template-variables-IPKRUJ4E.js → template-variables-YTABZL3E.js} +1 -1
  79. package/dist/{upgrade-TNDH4WGQ.js → upgrade-SYSSIAQC.js} +1 -1
  80. package/dist/{user-2CP75TFC.js → user-3N5ZOUYS.js} +1 -1
  81. package/dist/validate-TUMXW56Y.js +53 -0
  82. package/dist/{validation-rules-GNI4EEG5.js → validation-rules-QVS7LKEP.js} +1 -1
  83. package/dist/versions-ZTWQAGXY.js +109 -0
  84. package/dist/{webhooks-2OWUX7UL.js → webhooks-6WMWACOW.js} +1 -1
  85. package/dist/{workflow-WSLERVJI.js → workflow-ZO2MKDBS.js} +1 -1
  86. package/dist/{workflow-definition-FP3WKHGG.js → workflow-definition-RCWKIPYI.js} +1 -1
  87. package/package.json +2 -1
  88. package/definitions/data-management.json +0 -962
  89. package/dist/erp-integration-UW6H55EK.js +0 -54
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "openapi": "3.0.2",
3
3
  "info": {
4
- "version": "2.0.0",
4
+ "version": "3.0.0",
5
5
  "title": "Deduplication API",
6
6
  "description": "Backend for Epilot Deduplication feature"
7
7
  },
@@ -39,6 +39,69 @@
39
39
  }
40
40
  }
41
41
  }
42
+ },
43
+ "/v1/deduplicate/job": {
44
+ "post": {
45
+ "operationId": "deduplicateAsync",
46
+ "summary": "deduplicateAsync",
47
+ "description": "Submits an async deduplication job. Returns a job ID immediately. Poll GET /v1/deduplicate/jobs/{jobId} for status.",
48
+ "tags": [],
49
+ "requestBody": {
50
+ "content": {
51
+ "application/json": {
52
+ "schema": {
53
+ "$ref": "#/components/schemas/DeduplicateRequestBody"
54
+ }
55
+ }
56
+ }
57
+ },
58
+ "responses": {
59
+ "202": {
60
+ "description": "Job accepted. Use the returned jobId to poll for status.",
61
+ "content": {
62
+ "application/json": {
63
+ "schema": {
64
+ "$ref": "#/components/schemas/DeduplicateAsyncResponse"
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ },
72
+ "/v1/deduplicate/jobs/{jobId}": {
73
+ "get": {
74
+ "operationId": "getDeduplicationJob",
75
+ "summary": "getDeduplicationJob",
76
+ "description": "Returns the current status of an async deduplication job",
77
+ "tags": [],
78
+ "parameters": [
79
+ {
80
+ "name": "jobId",
81
+ "in": "path",
82
+ "required": true,
83
+ "schema": {
84
+ "type": "string"
85
+ },
86
+ "description": "The job ID returned by POST /v1/deduplicate/job"
87
+ }
88
+ ],
89
+ "responses": {
90
+ "200": {
91
+ "description": "Current job status",
92
+ "content": {
93
+ "application/json": {
94
+ "schema": {
95
+ "$ref": "#/components/schemas/DeduplicationJob"
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "404": {
101
+ "description": "Job not found"
102
+ }
103
+ }
104
+ }
42
105
  }
43
106
  },
44
107
  "components": {
@@ -169,13 +232,81 @@
169
232
  "_id"
170
233
  ],
171
234
  "description": "Base Entity schema"
235
+ },
236
+ "DeduplicateAsyncResponse": {
237
+ "type": "object",
238
+ "properties": {
239
+ "jobId": {
240
+ "type": "string",
241
+ "description": "Job ID to poll for status via GET /v1/deduplicate/jobs/{jobId}"
242
+ },
243
+ "status": {
244
+ "$ref": "#/components/schemas/JobStatus"
245
+ },
246
+ "message": {
247
+ "type": "string",
248
+ "description": "Initial status message"
249
+ }
250
+ },
251
+ "required": [
252
+ "jobId",
253
+ "status",
254
+ "message"
255
+ ],
256
+ "description": "Response returned immediately when a deduplication job is submitted"
257
+ },
258
+ "JobStatus": {
259
+ "type": "string",
260
+ "enum": [
261
+ "pending",
262
+ "processing",
263
+ "completed",
264
+ "failed"
265
+ ]
266
+ },
267
+ "DeduplicationJob": {
268
+ "type": "object",
269
+ "properties": {
270
+ "jobId": {
271
+ "type": "string",
272
+ "description": "Unique identifier for the deduplication job"
273
+ },
274
+ "status": {
275
+ "$ref": "#/components/schemas/JobStatus"
276
+ },
277
+ "message": {
278
+ "type": "string",
279
+ "description": "Human-readable status message (e.g. progress info or error details)"
280
+ },
281
+ "result": {
282
+ "type": "array",
283
+ "items": {
284
+ "$ref": "#/components/schemas/Entity"
285
+ },
286
+ "description": "Array of deduplicated entities, present when status is completed"
287
+ },
288
+ "createdAt": {
289
+ "type": "string",
290
+ "description": "ISO 8601 timestamp of job creation",
291
+ "format": "date-time"
292
+ },
293
+ "updatedAt": {
294
+ "type": "string",
295
+ "description": "ISO 8601 timestamp of last update",
296
+ "format": "date-time"
297
+ }
298
+ },
299
+ "required": [
300
+ "jobId",
301
+ "status",
302
+ "createdAt",
303
+ "updatedAt"
304
+ ],
305
+ "description": "Represents an async deduplication job"
172
306
  }
173
307
  }
174
308
  },
175
309
  "servers": [
176
- {
177
- "url": "https://deduplication.sls.epilot.io"
178
- },
179
310
  {
180
311
  "url": "https://deduplication.sls.epilot.io"
181
312
  }
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.3",
3
3
  "info": {
4
4
  "title": "Design Builder API v2",
5
- "version": "0.0.1"
5
+ "version": "0.0.2"
6
6
  },
7
7
  "tags": [
8
8
  {
@@ -12,7 +12,17 @@
12
12
  ],
13
13
  "servers": [
14
14
  {
15
- "url": "https://design-builder-api.epilot.io"
15
+ "url": "https://design-builder-api.{environment}.epilot.io",
16
+ "variables": {
17
+ "environment": {
18
+ "default": "sls",
19
+ "enum": [
20
+ "sls",
21
+ "dev.sls",
22
+ "staging.sls"
23
+ ]
24
+ }
25
+ }
16
26
  }
17
27
  ],
18
28
  "security": [
@@ -35,10 +45,7 @@
35
45
  "content": {
36
46
  "application/json": {
37
47
  "schema": {
38
- "type": "array",
39
- "items": {
40
- "$ref": "#/components/schemas/GetAllDesignsRes"
41
- }
48
+ "$ref": "#/components/schemas/GetAllDesignsRes"
42
49
  }
43
50
  }
44
51
  }
@@ -129,12 +136,10 @@
129
136
  {
130
137
  "in": "path",
131
138
  "name": "designId",
132
- "schema": {
133
- "type": "string"
134
- },
135
139
  "required": true,
136
- "description": "Id of the design",
137
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
140
+ "schema": {
141
+ "$ref": "#/components/schemas/DesignId"
142
+ }
138
143
  }
139
144
  ],
140
145
  "responses": {
@@ -194,12 +199,10 @@
194
199
  {
195
200
  "in": "path",
196
201
  "name": "designId",
197
- "schema": {
198
- "type": "string"
199
- },
200
202
  "required": true,
201
- "description": "Id of the design",
202
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
203
+ "schema": {
204
+ "$ref": "#/components/schemas/DesignId"
205
+ }
203
206
  }
204
207
  ],
205
208
  "responses": {
@@ -252,12 +255,10 @@
252
255
  {
253
256
  "in": "path",
254
257
  "name": "designId",
255
- "schema": {
256
- "type": "string"
257
- },
258
258
  "required": true,
259
- "description": "Id of the design",
260
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
259
+ "schema": {
260
+ "$ref": "#/components/schemas/DesignId"
261
+ }
261
262
  }
262
263
  ],
263
264
  "requestBody": {
@@ -324,16 +325,15 @@
324
325
  {
325
326
  "in": "path",
326
327
  "name": "designId",
327
- "schema": {
328
- "type": "string"
329
- },
330
328
  "required": true,
331
- "description": "Id of the design",
332
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
329
+ "schema": {
330
+ "$ref": "#/components/schemas/DesignId"
331
+ }
333
332
  },
334
333
  {
335
334
  "in": "query",
336
335
  "name": "orgId",
336
+ "required": false,
337
337
  "schema": {
338
338
  "type": "string"
339
339
  },
@@ -342,16 +342,10 @@
342
342
  {
343
343
  "in": "query",
344
344
  "name": "theme",
345
- "schema": {
346
- "type": "string",
347
- "enum": [
348
- "NEW",
349
- "OLD"
350
- ]
351
- },
352
345
  "required": true,
353
- "description": "Type of theme to be parsed and returned",
354
- "example": "NEW"
346
+ "schema": {
347
+ "$ref": "#/components/schemas/Theme"
348
+ }
355
349
  }
356
350
  ],
357
351
  "responses": {
@@ -616,22 +610,18 @@
616
610
  {
617
611
  "in": "path",
618
612
  "name": "consumerId",
619
- "schema": {
620
- "type": "string"
621
- },
622
613
  "required": true,
623
- "description": "Id of the design",
624
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
614
+ "schema": {
615
+ "$ref": "#/components/schemas/DesignId"
616
+ }
625
617
  },
626
618
  {
627
619
  "in": "path",
628
620
  "name": "application",
629
- "schema": {
630
- "type": "string"
631
- },
632
621
  "required": true,
633
- "description": "Type of application that uses the design",
634
- "example": "journey"
622
+ "schema": {
623
+ "$ref": "#/components/schemas/Application"
624
+ }
635
625
  }
636
626
  ],
637
627
  "responses": {
@@ -693,12 +683,10 @@
693
683
  {
694
684
  "in": "path",
695
685
  "name": "designId",
696
- "schema": {
697
- "type": "string"
698
- },
699
686
  "required": true,
700
- "description": "Id of the design",
701
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
687
+ "schema": {
688
+ "$ref": "#/components/schemas/DesignId"
689
+ }
702
690
  },
703
691
  {
704
692
  "in": "path",
@@ -774,12 +762,10 @@
774
762
  {
775
763
  "in": "path",
776
764
  "name": "designId",
777
- "schema": {
778
- "type": "string"
779
- },
780
765
  "required": true,
781
- "description": "Id of the design",
782
- "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
766
+ "schema": {
767
+ "$ref": "#/components/schemas/DesignId"
768
+ }
783
769
  },
784
770
  {
785
771
  "in": "path",
@@ -798,7 +784,7 @@
798
784
  "content": {
799
785
  "application/json": {
800
786
  "schema": {
801
- "$ref": "#/components/schemas/AddConsumerReq"
787
+ "$ref": "#/components/schemas/RemoveConsumerReq"
802
788
  }
803
789
  }
804
790
  }
@@ -1047,7 +1033,7 @@
1047
1033
  "type": "object",
1048
1034
  "properties": {
1049
1035
  "consumer_id": {
1050
- "type": "string"
1036
+ "$ref": "#/components/schemas/DesignId"
1051
1037
  },
1052
1038
  "consumer_name": {
1053
1039
  "type": "string"
@@ -1061,6 +1047,21 @@
1061
1047
  "consumer_name"
1062
1048
  ]
1063
1049
  },
1050
+ "RemoveConsumerReq": {
1051
+ "type": "object",
1052
+ "properties": {
1053
+ "consumer_id": {
1054
+ "$ref": "#/components/schemas/DesignId"
1055
+ },
1056
+ "should_delete": {
1057
+ "type": "string",
1058
+ "deprecated": true
1059
+ }
1060
+ },
1061
+ "required": [
1062
+ "consumer_id"
1063
+ ]
1064
+ },
1064
1065
  "DesignItem": {
1065
1066
  "type": "object",
1066
1067
  "properties": {
@@ -1122,6 +1123,13 @@
1122
1123
  },
1123
1124
  "is_default": {
1124
1125
  "type": "boolean"
1126
+ },
1127
+ "_manifest": {
1128
+ "type": "array",
1129
+ "description": "The manifest IDs associated with this design",
1130
+ "items": {
1131
+ "type": "string"
1132
+ }
1125
1133
  }
1126
1134
  },
1127
1135
  "required": [
@@ -1386,6 +1394,9 @@
1386
1394
  "properties": {
1387
1395
  "message": {
1388
1396
  "type": "string"
1397
+ },
1398
+ "error": {
1399
+ "type": "object"
1389
1400
  }
1390
1401
  }
1391
1402
  },
@@ -1417,6 +1428,41 @@
1417
1428
  "s3_object_key",
1418
1429
  "url"
1419
1430
  ]
1431
+ },
1432
+ "DesignId": {
1433
+ "type": "string",
1434
+ "minLength": 36,
1435
+ "maxLength": 36,
1436
+ "description": "Id of the design",
1437
+ "example": "4a062990-a6a3-11eb-9828-4f3da7d4935a"
1438
+ },
1439
+ "Theme": {
1440
+ "type": "string",
1441
+ "enum": [
1442
+ "NEW",
1443
+ "OLD"
1444
+ ],
1445
+ "description": "Type of theme to be parsed and returned",
1446
+ "example": "NEW"
1447
+ },
1448
+ "Application": {
1449
+ "type": "string",
1450
+ "description": "Type of application that uses the design",
1451
+ "example": "journey"
1452
+ },
1453
+ "DesignParameters": {
1454
+ "type": "object",
1455
+ "properties": {
1456
+ "designId": {
1457
+ "$ref": "#/components/schemas/DesignId"
1458
+ },
1459
+ "theme": {
1460
+ "$ref": "#/components/schemas/Theme"
1461
+ },
1462
+ "application": {
1463
+ "$ref": "#/components/schemas/Application"
1464
+ }
1465
+ }
1420
1466
  }
1421
1467
  }
1422
1468
  }
@@ -26,6 +26,10 @@
26
26
  "name": "O365 Outlook Connection",
27
27
  "description": "Microsoft Office 365 Outlook integration endpoints. These endpoints enable organizations to:\n- Initiate OAuth connections with Microsoft 365\n- Connect Outlook shared mailboxes\n- Manage connection status and tokens\n- Disconnect integrations when needed\n\nThe integration supports multiple Azure AD tenants and handles token refresh automatically.\n"
28
28
  },
29
+ {
30
+ "name": "Channels",
31
+ "description": "Channel integration endpoints. Channels represent external communication providers\n(e.g., Microsoft Teams, WhatsApp) that can be connected to an epilot organization.\n\nAll channel endpoints live under `/v2/channels/{channel}`.\n"
32
+ },
29
33
  {
30
34
  "name": "Settings",
31
35
  "description": "Generic settings management for various email configuration types:\n- **signature**: HTML email signatures\n- **email_domain**: Custom email domains\n- **email_address**: Sender email addresses\n- **whitelist_email_address**: Addresses exempt from duplicate detection\n- **restrict_duplicates_within**: Time window for duplicate email detection\n"
@@ -571,6 +575,10 @@
571
575
  "has_connections": {
572
576
  "type": "boolean",
573
577
  "description": "Whether any connections exist"
578
+ },
579
+ "teams_enabled": {
580
+ "type": "boolean",
581
+ "description": "Whether Microsoft Teams features are enabled for this organization"
574
582
  }
575
583
  }
576
584
  }
@@ -652,6 +660,119 @@
652
660
  }
653
661
  }
654
662
  },
663
+ "/v2/channels/msteams/connect": {
664
+ "post": {
665
+ "operationId": "connectMsTeams",
666
+ "summary": "connectMsTeams",
667
+ "description": "Connects Microsoft Teams channel (click-to-call deep links, meetings) for the organization.\nRequires an active Microsoft 365 / Outlook connection.\n",
668
+ "tags": [
669
+ "Channels"
670
+ ],
671
+ "responses": {
672
+ "200": {
673
+ "description": "Teams channel connected successfully",
674
+ "content": {
675
+ "application/json": {
676
+ "schema": {
677
+ "type": "object",
678
+ "properties": {
679
+ "connected": {
680
+ "type": "boolean"
681
+ },
682
+ "connected_at": {
683
+ "type": "string",
684
+ "format": "date-time"
685
+ }
686
+ }
687
+ }
688
+ }
689
+ }
690
+ },
691
+ "400": {
692
+ "description": "No active Outlook connection found",
693
+ "content": {
694
+ "application/json": {
695
+ "schema": {
696
+ "type": "object",
697
+ "properties": {
698
+ "error": {
699
+ "type": "string"
700
+ },
701
+ "message": {
702
+ "type": "string"
703
+ }
704
+ }
705
+ }
706
+ }
707
+ }
708
+ }
709
+ }
710
+ }
711
+ },
712
+ "/v2/channels/msteams/disconnect": {
713
+ "post": {
714
+ "operationId": "disconnectMsTeams",
715
+ "summary": "disconnectMsTeams",
716
+ "description": "Disconnects Microsoft Teams channel for the organization.\n",
717
+ "tags": [
718
+ "Channels"
719
+ ],
720
+ "responses": {
721
+ "200": {
722
+ "description": "Teams channel disconnected successfully",
723
+ "content": {
724
+ "application/json": {
725
+ "schema": {
726
+ "type": "object",
727
+ "properties": {
728
+ "connected": {
729
+ "type": "boolean"
730
+ }
731
+ }
732
+ }
733
+ }
734
+ }
735
+ }
736
+ }
737
+ }
738
+ },
739
+ "/v2/channels/msteams/status": {
740
+ "get": {
741
+ "operationId": "getMsTeamsStatus",
742
+ "summary": "getMsTeamsStatus",
743
+ "description": "Returns the connection status of the Microsoft Teams channel for the organization.\n",
744
+ "tags": [
745
+ "Channels"
746
+ ],
747
+ "responses": {
748
+ "200": {
749
+ "description": "Teams channel status retrieved successfully",
750
+ "content": {
751
+ "application/json": {
752
+ "schema": {
753
+ "type": "object",
754
+ "properties": {
755
+ "connected": {
756
+ "type": "boolean",
757
+ "description": "Whether the Teams channel is connected"
758
+ },
759
+ "connected_at": {
760
+ "type": "string",
761
+ "format": "date-time",
762
+ "description": "When the Teams channel was connected"
763
+ },
764
+ "connected_by_user_id": {
765
+ "type": "string",
766
+ "description": "User ID who connected the Teams channel"
767
+ }
768
+ }
769
+ }
770
+ }
771
+ }
772
+ }
773
+ }
774
+ }
775
+ },
655
776
  "/v2/outlook/mailbox/connect": {
656
777
  "post": {
657
778
  "operationId": "connectOutlookMailbox",
@@ -1499,6 +1620,35 @@
1499
1620
  "$ref": "#/components/responses/NotFound"
1500
1621
  }
1501
1622
  }
1623
+ },
1624
+ "get": {
1625
+ "operationId": "getDomains",
1626
+ "summary": "getDomains",
1627
+ "description": "Retrieves all custom email domains for the organization.\n",
1628
+ "tags": [
1629
+ "Domains"
1630
+ ],
1631
+ "responses": {
1632
+ "200": {
1633
+ "description": "Successfully retrieved domains.",
1634
+ "content": {
1635
+ "application/json": {
1636
+ "schema": {
1637
+ "type": "array",
1638
+ "items": {
1639
+ "type": "string"
1640
+ }
1641
+ }
1642
+ }
1643
+ }
1644
+ },
1645
+ "403": {
1646
+ "$ref": "#/components/responses/Forbidden"
1647
+ },
1648
+ "404": {
1649
+ "$ref": "#/components/responses/NotFound"
1650
+ }
1651
+ }
1502
1652
  }
1503
1653
  },
1504
1654
  "/v1/email-settings/domain/name-servers:verify": {